diff --git a/.github/workflows/tests-dev.yml b/.github/workflows/tests-dev.yml index 3d4220937..ee6c7a9fa 100644 --- a/.github/workflows/tests-dev.yml +++ b/.github/workflows/tests-dev.yml @@ -1,9 +1,10 @@ name: Tests (dev) -# The dev branch tracks TA-Lib C's dev branch, which has no release yet, so this -# builds the C library from source and the two dev lines move together. master -# is tests.yml, which installs the published release; the steps after the C -# build are that file's, and are meant to stay in step with it. +# The dev branch tracks TA-Lib C's dev branch, which has no release yet, so +# setup.py builds the C library from the dev tarball (TALIB_C_URL) and the two +# dev lines move together. master is tests.yml, which builds the published +# release; the steps after this are that file's, and are meant to stay in step +# with it. on: push: @@ -18,9 +19,7 @@ jobs: matrix: python-version: ["3.11", "3.12", "3.13", "3.14", "3.14t", "3.15", "3.15t"] env: - TA_INCLUDE_PATH: ${{ github.workspace }}/ta-lib-c/include - TA_LIBRARY_PATH: ${{ github.workspace }}/ta-lib-c/lib - LD_LIBRARY_PATH: ${{ github.workspace }}/ta-lib-c/lib + TALIB_C_URL: https://github.com/TA-Lib/ta-lib/archive/refs/heads/dev.tar.gz steps: - uses: actions/checkout@v3 @@ -70,7 +69,7 @@ jobs: else pip install -r requirements_test.txt fi - pip install flake8 + pip install flake8 cmake - name: Build cython modules in-place run: | diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4adce5b19..d99ecc1e3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -17,19 +17,6 @@ jobs: steps: - uses: actions/checkout@v3 - - name: TA-Lib C version - id: talib_c - run: | - set -euo pipefail - V=$(sed -n 's/^ TALIB_C_VER: *//p' .github/workflows/wheels.yml) - [ -n "$V" ] || { echo "::error::no TALIB_C_VER in wheels.yml"; exit 1; } - echo "version=$V" >> "$GITHUB_OUTPUT" - - - name: Set up TA-Lib - uses: TA-Lib/setup-ta-lib@v1 - with: - version: ${{ steps.talib_c.outputs.version }} - - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v6 with: @@ -45,7 +32,7 @@ jobs: else pip install -r requirements_test.txt fi - pip install flake8 + pip install flake8 cmake - name: Build cython modules in-place run: | diff --git a/.github/workflows/tsan.yml b/.github/workflows/tsan.yml new file mode 100644 index 000000000..074ed6c9e --- /dev/null +++ b/.github/workflows/tsan.yml @@ -0,0 +1,58 @@ +name: TSAN + +# Runs the test suite under ThreadSanitizer on free-threaded CPython, using the +# prebuilt TSAN images (CPython and NumPy both built with -fsanitize=thread). + +on: + push: + branches: [ master, 'dev-*' ] + pull_request: + branches: [ master, 'dev-*' ] + workflow_dispatch: + +jobs: + tsan: + name: TSAN (${{ matrix.python }}) + runs-on: ubuntu-24.04 + timeout-minutes: 60 + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + include: + - python: "3.14t" + image: ghcr.io/nascheme/numpy-tsan:3.14t + cpython_ref: "3.14" + experimental: false + - python: "3.15t" + image: ghcr.io/nascheme/numpy-tsan:3.15t + cpython_ref: main + experimental: false + steps: + - uses: actions/checkout@v4 + + - name: Lower ASLR entropy for TSAN + run: sudo sysctl vm.mmap_rnd_bits=28 + + - name: Build with TSAN and run the tests + env: + IMAGE: ${{ matrix.image }} + CPYTHON_REF: ${{ matrix.cpython_ref }} + run: | + docker run --rm -i -v "$PWD":/src -w /src -e CPYTHON_REF "$IMAGE" bash -euo pipefail -s <<'EOF' + python -c "import sys, sysconfig; print(sys.version); print(sysconfig.get_config_var('CONFIG_ARGS'))" + python -m pip install -r requirements.txt pytest setuptools cmake + + TA_TSAN=1 python setup.py build_ext --inplace + grep -q __tsan talib/_ta_lib*.so + + python -W error -c "import sys, talib; assert not sys._is_gil_enabled()" + + python -c "import os, urllib.request; urllib.request.urlretrieve('https://raw.githubusercontent.com/python/cpython/' + os.environ['CPYTHON_REF'] + '/Tools/tsan/suppressions_free_threading.txt', '/tmp/tsan_suppressions.txt')" + export TSAN_OPTIONS="suppressions=/tmp/tsan_suppressions.txt handle_segv=0 second_deadlock_stack=1" + + PYTHONPATH=. python -m pytest -s -ra tests \ + --ignore=tests/test_pandas.py --ignore=tests/test_polars.py \ + --deselect tests/test_abstract.py::test_pandas \ + --deselect tests/test_abstract.py::test_pandas_series \ + --deselect tests/test_stream.py::test_stream_rejects_mixed_series diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 7a05287d5..6a288e210 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -7,10 +7,10 @@ on: workflow_dispatch: env: - TALIB_C_VER: 0.8.1 PIP_NO_VERIFY: 0 PIP_VERBOSE: 1 - CIBW_BEFORE_BUILD: pip install -U setuptools Cython wheel meson-python ninja && pip install -U numpy + TA_FORCE_BUNDLED: 1 + CIBW_BEFORE_BUILD: pip install -U setuptools Cython wheel cmake && pip install -U numpy CIBW_SKIP: "pp* cp39-* cp310-* cp313t*" jobs: @@ -26,11 +26,9 @@ jobs: - name: Build wheels uses: pypa/cibuildwheel@v4.2.1 env: - CIBW_BEFORE_ALL: | - bash ./tools/build_talib_linux.sh CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28 CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 - CIBW_ENVIRONMENT_PASS_LINUX: TALIB_C_VER CFLAGS + CIBW_ENVIRONMENT_PASS_LINUX: CFLAGS TA_FORCE_BUNDLED CFLAGS: -D_GNU_SOURCE CIBW_TEST_SKIP: "cp*-musllinux*" CIBW_TEST_COMMAND: > @@ -39,12 +37,8 @@ jobs: CIBW_ARCHS_LINUX: x86_64 CIBW_BUILD_FRONTEND: build CIBW_ENVIRONMENT_LINUX : > - TA_LIBRARY_PATH="ta-lib-install/lib" - TA_INCLUDE_PATH="ta-lib-install/include" PIP_NO_BUILD_ISOLATION=false - CIBW_REPAIR_WHEEL_COMMAND_LINUX: | - export LD_LIBRARY_PATH="/project/ta-lib-install/lib:$LD_LIBRARY_PATH" - auditwheel repair -w {dest_dir} {wheel} + TA_BUNDLE_CACHE=/tmp/ta-lib-cache - name: Upload wheels uses: actions/upload-artifact@v7 with: @@ -62,11 +56,9 @@ jobs: - name: Build wheels uses: pypa/cibuildwheel@v4.2.1 env: - CIBW_BEFORE_ALL: | - bash ./tools/build_talib_linux.sh CIBW_MANYLINUX_AARCH64_IMAGE: manylinux_2_28 CIBW_MUSLLINUX_AARCH64_IMAGE: musllinux_1_2 - CIBW_ENVIRONMENT_PASS_LINUX: TALIB_C_VER CFLAGS + CIBW_ENVIRONMENT_PASS_LINUX: CFLAGS TA_FORCE_BUNDLED CFLAGS: -D_GNU_SOURCE CIBW_TEST_SKIP: "cp*-musllinux*" CIBW_TEST_COMMAND: > @@ -75,12 +67,8 @@ jobs: CIBW_ARCHS_LINUX: aarch64 CIBW_BUILD_FRONTEND: build CIBW_ENVIRONMENT_LINUX : > - TA_LIBRARY_PATH="ta-lib-install/lib" - TA_INCLUDE_PATH="ta-lib-install/include" PIP_NO_BUILD_ISOLATION=false - CIBW_REPAIR_WHEEL_COMMAND_LINUX: | - export LD_LIBRARY_PATH="/project/ta-lib-install/lib:$LD_LIBRARY_PATH" - auditwheel repair -w {dest_dir} {wheel} + TA_BUNDLE_CACHE=/tmp/ta-lib-cache - name: Upload wheels uses: actions/upload-artifact@v7 with: @@ -99,9 +87,6 @@ jobs: uses: ilammy/msvc-dev-cmd@v1 with: arch: amd64 - - name: Build TA-Lib C Library - run: tools/build_talib_windows.cmd - shell: cmd - name: Build wheels uses: pypa/cibuildwheel@v4.2.1 env: @@ -112,8 +97,6 @@ jobs: MSBUILDTREATHIGHERTOOLSVERSIONASCURRENT: 1 CIBW_ARCHS_WINDOWS: AMD64 CIBW_ENVIRONMENT_WINDOWS: > - TA_LIBRARY_PATH="ta-lib-$TALIB_C_VER\\_build;$LIB" - TA_INCLUDE_PATH="ta-lib-$TALIB_C_VER\\include;$INCLUDE" PIP_NO_BUILD_ISOLATION=false - name: Upload wheel uses: actions/upload-artifact@v7 @@ -133,9 +116,6 @@ jobs: uses: ilammy/msvc-dev-cmd@v1 with: arch: amd64_x86 - - name: Build TA-Lib C library - run: tools/build_talib_windows.cmd - shell: cmd - name: Build wheels uses: pypa/cibuildwheel@v4.2.1 env: @@ -146,8 +126,6 @@ jobs: MSBUILDTREATHIGHERTOOLSVERSIONASCURRENT: 1 CIBW_ARCHS_WINDOWS: x86 CIBW_ENVIRONMENT_WINDOWS: > - TA_LIBRARY_PATH="ta-lib-$TALIB_C_VER\\_build;$LIB" - TA_INCLUDE_PATH="ta-lib-$TALIB_C_VER\\include;$INCLUDE" PIP_NO_BUILD_ISOLATION=false - name: Upload wheel uses: actions/upload-artifact@v7 @@ -167,9 +145,6 @@ jobs: uses: ilammy/msvc-dev-cmd@v1 with: arch: arm64 - - name: Build TA-Lib C Library - run: tools/build_talib_windows.cmd - shell: cmd - name: Build wheels uses: pypa/cibuildwheel@v4.2.1 env: @@ -180,8 +155,6 @@ jobs: MSBUILDTREATHIGHERTOOLSVERSIONASCURRENT: 1 CIBW_ARCHS_WINDOWS: ARM64 CIBW_ENVIRONMENT_WINDOWS: > - TA_LIBRARY_PATH="ta-lib-$TALIB_C_VER\\_build;$LIB" - TA_INCLUDE_PATH="ta-lib-$TALIB_C_VER\\include;$INCLUDE" PIP_NO_BUILD_ISOLATION=false - name: Upload wheel uses: actions/upload-artifact@v7 @@ -200,20 +173,13 @@ jobs: - name: Build wheels uses: pypa/cibuildwheel@v4.2.1 env: - CIBW_BEFORE_ALL: | - bash ./tools/build_talib_macos.sh CIBW_TEST_COMMAND: > cd .. && pytest -k "not RSI and not threading" {project}/tests CIBW_ARCHS_MACOS: x86_64 CIBW_ENVIRONMENT_MACOS : > - TA_LIBRARY_PATH="ta-lib-install/lib" - TA_INCLUDE_PATH="ta-lib-install/include" PIP_NO_BUILD_ISOLATION=false - CIBW_REPAIR_WHEEL_COMMAND_MACOS: | - export MACOSX_DEPLOYMENT_TARGET=13.7 - export DYLD_LIBRARY_PATH="/Users/runner/work/${{ github.event.repository.name }}/${{ github.event.repository.name }}/ta-lib-install/lib:$DYLD_LIBRARY_PATH" - delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel} + TA_BUNDLE_CACHE=/tmp/ta-lib-cache - name: Upload wheels uses: actions/upload-artifact@v7 with: @@ -231,20 +197,13 @@ jobs: - name: Build wheels uses: pypa/cibuildwheel@v4.2.1 env: - CIBW_BEFORE_ALL: | - bash ./tools/build_talib_macos.sh CIBW_TEST_COMMAND: > cd .. && pytest -k "not RSI and not threading" {project}/tests CIBW_ARCHS_MACOS: arm64 CIBW_ENVIRONMENT_MACOS : > - TA_LIBRARY_PATH="ta-lib-install/lib" - TA_INCLUDE_PATH="ta-lib-install/include" PIP_NO_BUILD_ISOLATION=false - CIBW_REPAIR_WHEEL_COMMAND_MACOS: | - export MACOSX_DEPLOYMENT_TARGET=14.0 - export DYLD_LIBRARY_PATH="/Users/runner/work/${{ github.event.repository.name }}/${{ github.event.repository.name }}/ta-lib-install/lib:$DYLD_LIBRARY_PATH" - delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel} + TA_BUNDLE_CACHE=/tmp/ta-lib-cache - name: Upload wheels uses: actions/upload-artifact@v7 with: diff --git a/.gitignore b/.gitignore index 49ddb78e1..e40ae65a8 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,6 @@ dist/ *~ *.egg-info/ +talib/_ta_lib.c + +!.github/ \ No newline at end of file diff --git a/DEVELOPMENT b/DEVELOPMENT index 7e05ddfe7..99673d801 100644 --- a/DEVELOPMENT +++ b/DEVELOPMENT @@ -9,14 +9,24 @@ $ make build $ [sudo] make install ``` +TA-Lib C does not need to be installed first. `make build` uses an installed +TA-Lib only if its version is at least `TALIB_C_VER` (see `setup.py`); otherwise +it builds a static copy from the release tarball and links it in. Set +`TA_INCLUDE_PATH` / `TA_LIBRARY_PATH` to point at your own build instead. + + Here's the full list of make commands (see the Makefile file): -make build # builds and places libs in the project directory; required for testing -make clean # cleans the local build files -make install # installs talib system-wide -make generate: # generates a fresh _func.pxi, _stream.pxi file. Requires talib and TA-Lib to both be installed -make perf # run performance profiling -make test # run tests +make build # builds and places libs in the project directory; required for testing +make build-bundled # same, but always builds and links the bundled static TA-Lib C +make clean # cleans the local build files +make install # installs talib system-wide +make generate: # generates a fresh _func.pxi, _stream.pxi file. Requires talib and TA-Lib to both be installed +make perf # run performance profiling +make test # run tests +make build-tsan # clean, then rebuild with ThreadSanitizer (needs a TSAN CPython) +make test-tsan # build-tsan, then run the threading tests under TSAN + The source code is comprised of one python package, located in the talib directory, which itself has one Cython module (_ta_lib) which consists of @@ -50,3 +60,32 @@ tools/generate_func.py,generate_stream.py If you are interested in developing new indicator functions or whatnot on the underlying TA-Lib, you must install TA-Lib from git. + + +Thread-safety testing with ThreadSanitizer (TSAN) + +TSAN only works with a free-threaded CPython that was itself built with it +(Linux or macOS; clang is what CPython uses). Build one once, without +--with-pydebug so that NumPy wheels still install: + +``` +$ env CC=clang CXX=clang++ ./configure --disable-gil --with-thread-sanitizer \ + --prefix=$HOME/py-tsan +$ make -j && make install +``` + +Then, from a virtual environment created with that interpreter (the extension +and TA-Lib C are both built with the compiler that interpreter was built with): + +``` +$ pip install -r requirements.txt pytest pandas +$ export TSAN_OPTIONS="suppressions=/Tools/tsan/suppressions_free_threading.txt halt_on_error=1 handle_segv=0" +$ make test-tsan +``` + +TA_TSAN=1 (set by make build-tsan) builds the extension with -fsanitize=thread +and always builds a TSAN-instrumented static TA-Lib C alongside it (cached +separately). It is not supported on Windows. CI runs the full test suite this +way for 3.14t and 3.15t (see .github/workflows/tsan.yml). + + diff --git a/Dockerfile b/Dockerfile index 68af94a3b..ebade2a3a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,29 +7,10 @@ # docker run --rm -it talib bash # -ARG PYTHON_VERSION="3.7" +ARG PYTHON_VERSION="3.12" FROM python:$PYTHON_VERSION as builder -ENV TA_PREFIX="/opt/ta-lib-core" -ENV TA_LIBRARY_PATH="$TA_PREFIX/lib" \ - TA_INCLUDE_PATH="$TA_PREFIX/include" - -WORKDIR /src/ta-lib-core -RUN apt-get update && apt-get install -y \ - gfortran \ - libfreetype6-dev \ - libhdf5-dev \ - liblapack-dev \ - libopenblas-dev \ - libpng-dev \ - && rm -rf /var/lib/apt/lists/* \ - && curl -fsSL http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz \ - | tar xvz --strip-components 1 \ - && ./configure --prefix="$TA_PREFIX" \ - && make \ - && make install - WORKDIR /src/ta-lib-python COPY . . RUN python -m pip install -e . \ @@ -47,6 +28,5 @@ RUN if [ "$RUN_TESTS" -ne "0" ]; then \ # Build final image. FROM python:$PYTHON_VERSION-slim COPY --from=builder /src/ta-lib-python/wheels /opt/ta-lib-python/wheels -COPY --from=builder /opt/ta-lib-core /opt/ta-lib-core RUN python -m pip install --no-cache-dir /opt/ta-lib-python/wheels/*.whl \ && python -c 'import numpy, talib; close = numpy.random.random(100); output = talib.SMA(close); print(output)' diff --git a/MANIFEST.in b/MANIFEST.in index ab5636483..db090927e 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,7 +1,6 @@ include LICENSE include COPYRIGHT include README.md -include talib/*.c include talib/*.pyx include talib/*.pxd include talib/*.pxi diff --git a/Makefile b/Makefile index 431ecb497..408bb2336 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,20 @@ -.PHONY: build +.PHONY: build build-bundled build-tsan test-tsan build: python3 -m pip install --use-pep517 -e . +build-bundled: + TA_FORCE_BUNDLED=1 python3 -m pip install --use-pep517 -e . + + +build-tsan: clean + TA_TSAN=1 python3 -m pip install --use-pep517 -e . + +TSAN_OPTIONS ?= halt_on_error=1 second_deadlock_stack=1 handle_segv=0 +test-tsan: build-tsan + TSAN_OPTIONS="$(TSAN_OPTIONS)" pytest tests/test_threads.py + + install: python3 -m pip install --use-pep517 . diff --git a/README.md b/README.md index b80888459..f18890d3b 100644 --- a/README.md +++ b/README.md @@ -65,10 +65,14 @@ conda install -c conda-forge ta-lib ### Dependencies 🧩 -To use TA-Lib for python, you need to have the [TA-Lib](http://ta-lib.org) -already installed. You should probably follow their [installation -directions](https://ta-lib.org/install/) for your platform, but some -suggestions are included below for reference. +Installing from source does not require the [TA-Lib](http://ta-lib.org) C +library to be installed. If a suitable preinstalled copy is not found, `setup.py` downloads the matching release, builds it as a static library and links it into the extension. This needs a C compiler and network access. + +To use your own installation instead, follow their [installation +directions](https://ta-lib.org/install/) for your platform (some suggestions +are included below for reference) and, if it is not in a standard location, +point `TA_INCLUDE_PATH` and `TA_LIBRARY_PATH` at it. An installation older than +the version above is ignored in favor of the bundled build. > Some Conda Forge users have reported success installing the underlying TA-Lib C > library using [the libta-lib package](https://anaconda.org/conda-forge/libta-lib): @@ -142,7 +146,7 @@ fail with ``No such file or directory`` errors. For convenience, and starting with version 0.6.5, we now build binary wheels for different operating systems, architectures, and Python versions using -GitHub Actions which include the underlying TA-Lib C library and are easy to +GitHub Actions which statically link the underlying TA-Lib C library and are easy to install. Supported platforms: @@ -173,18 +177,6 @@ using the instructions above. ### Troubleshooting 🛠️ -If you get a warning that looks like this: - -```shell -setup.py:79: UserWarning: Cannot find ta-lib library, installation may fail. -warnings.warn('Cannot find ta-lib library, installation may fail.') -``` - -This typically means `setup.py` can't find the underlying `TA-Lib` -library, a dependency which needs to be installed. - ---- - If you installed the underlying `TA-Lib` library with a custom prefix (e.g., with `./configure --prefix=$PREFIX`), then when you go to install this python wrapper you can specify additional search paths to find the diff --git a/pyproject.toml b/pyproject.toml index 904070d89..305c655b9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools", "Cython", "numpy"] +requires = ["setuptools", "Cython>=3.3", "numpy", "cmake"] build-backend = "setuptools.build_meta" [project] diff --git a/setup.py b/setup.py index 8500fc582..84560906a 100644 --- a/setup.py +++ b/setup.py @@ -1,43 +1,148 @@ #!/usr/bin/env python -import sys +import ctypes +import ctypes.util +import functools +import hashlib +import multiprocessing import os import os.path -import warnings +import re +import shlex +import shutil +import subprocess +import sys import sysconfig - -from setuptools import setup, Extension +import tarfile +import tempfile +import urllib.request +from pathlib import Path import numpy +from setuptools import Extension, setup + +ROOT = Path(__file__).resolve().parent +TALIB_C_VER = os.environ.get("TALIB_C_VER", "0.8.1") +FORCE_BUNDLED = os.environ.get("TA_FORCE_BUNDLED") == "1" + +TSAN = os.environ.get("TA_TSAN") == "1" +if TSAN and sys.platform == "win32": + raise RuntimeError("TA_TSAN is not supported on Windows") +if TSAN and not sysconfig.get_config_var("Py_GIL_DISABLED"): + print("[talib] warning: TA_TSAN=1 needs a free-threaded CPython", file=sys.stderr) +if TSAN and "--with-thread-sanitizer" not in ( + sysconfig.get_config_var("CONFIG_ARGS") or "" +): + print( + "[talib] warning: this CPython was not built with --with-thread-sanitizer", + file=sys.stderr, + ) +_TSAN_SAN = ["-fsanitize=thread", "-fno-omit-frame-pointer"] if TSAN else [] +_TSAN_CFLAGS = (_TSAN_SAN + ["-O1", "-g"]) if TSAN else [] +_TSAN_LDFLAGS = ["-fsanitize=thread"] if TSAN else [] + +_CACHE_ROOT = Path(os.environ.get("TA_BUNDLE_CACHE") or ROOT / "build") +_CUSTOM_SRC = "TALIB_C_URL" in os.environ +TALIB_C_URL = os.environ.get( + "TALIB_C_URL", + f"https://github.com/TA-Lib/ta-lib/archive/refs/tags/v{TALIB_C_VER}.tar.gz", +) +_URL_TAG = hashlib.sha1(TALIB_C_URL.encode()).hexdigest()[:8] +BUNDLE_DIR = _CACHE_ROOT / f"ta-lib-c-{TALIB_C_VER}-{_URL_TAG}{'-tsan' if TSAN else ''}" + + +def _find_static(prefix): + pat = "ta-lib-static.lib" if sys.platform == "win32" else "libta-lib.a" + hits = sorted(prefix.rglob(pat)) + return hits[0] if hits else None + + +def build_bundled_talib(): + """Download, build and install TA-Lib C as a static lib. Returns (include_dir, static_lib).""" + prefix = BUNDLE_DIR / "install" + lib = _find_static(prefix) if prefix.exists() else None + if lib: + return str(prefix / "include"), str(lib) + + work = BUNDLE_DIR / "work" + shutil.rmtree(work, ignore_errors=True) + work.mkdir(parents=True) + with tempfile.TemporaryDirectory() as tmp: + tgz = Path(tmp) / "talib.tar.gz" + urllib.request.urlretrieve(TALIB_C_URL, tgz) + with tarfile.open(tgz) as tf: + tf.extractall(work) + src = next(p for p in work.iterdir() if p.is_dir()) + bdir = work / "_build" + + args = [ + "cmake", + "-S", + str(src), + "-B", + str(bdir), + "-DCMAKE_BUILD_TYPE=" + ("RelWithDebInfo" if TSAN else "Release"), + f"-DCMAKE_INSTALL_PREFIX={prefix}", + "-DCMAKE_POSITION_INDEPENDENT_CODE=ON", + "-DBUILD_DEV_TOOLS=OFF", + "-DCMAKE_POLICY_VERSION_MINIMUM=3.5", + ] + if TSAN: + args.append("-DCMAKE_C_FLAGS=" + " ".join(_TSAN_SAN)) + cc = shlex.split(os.environ.get("CC") or sysconfig.get_config_var("CC") or "") + if cc: + args.append("-DCMAKE_C_COMPILER=" + cc[0]) + if sys.platform == "win32": + args.append("-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL") + if sys.maxsize <= 2**32: + args += ["-A", "Win32"] + elif sys.platform == "darwin": + archs = os.environ.get("ARCHFLAGS", "").replace("-arch", "").split() + if archs: + args.append(f"-DCMAKE_OSX_ARCHITECTURES={';'.join(archs)}") + dt = os.environ.get("MACOSX_DEPLOYMENT_TARGET") + if dt: + args.append(f"-DCMAKE_OSX_DEPLOYMENT_TARGET={dt}") + subprocess.check_call(args) + subprocess.check_call( + ["cmake", "--build", str(bdir), "--config", "Release", "--parallel"] + ) + subprocess.check_call(["cmake", "--install", str(bdir), "--config", "Release"]) + + lib = _find_static(prefix) + if not lib: + raise RuntimeError(f"static TA-Lib not found under {prefix}") + return str(prefix / "include"), str(lib) + platform_supported = False -lib_talib_name = 'ta-lib' # the name as of TA-Lib 0.6.1 +lib_talib_name = "ta-lib" -if any(s in sys.platform for s in ['darwin', 'linux', 'bsd', 'sunos']): +if any(s in sys.platform for s in ["darwin", "linux", "bsd", "sunos"]): platform_supported = True include_dirs = [ - '/usr/include', - '/usr/local/include', - '/opt/include', - '/opt/local/include', - '/opt/homebrew/include', - '/opt/homebrew/opt/ta-lib/include', + "/usr/include", + "/usr/local/include", + "/opt/include", + "/opt/local/include", + "/opt/homebrew/include", + "/opt/homebrew/opt/ta-lib/include", ] library_dirs = [ - '/usr/lib', - '/usr/local/lib', - '/usr/lib64', - '/usr/local/lib64', - '/opt/lib', - '/opt/local/lib', - '/opt/homebrew/lib', - '/opt/homebrew/opt/ta-lib/lib', + "/usr/lib", + "/usr/local/lib", + "/usr/lib64", + "/usr/local/lib64", + "/opt/lib", + "/opt/local/lib", + "/opt/homebrew/lib", + "/opt/homebrew/opt/ta-lib/lib", ] elif sys.platform == "win32": platform_supported = True - lib_talib_name = 'ta-lib-static' + lib_talib_name = "ta-lib-static" include_dirs = [ r"c:\ta-lib\c\include", r"c:\Program Files\TA-Lib\include", @@ -49,33 +154,95 @@ r"c:\Program Files (x86)\TA-Lib\lib", ] -if 'TA_INCLUDE_PATH' in os.environ: - include_dirs = os.environ['TA_INCLUDE_PATH'].split(os.pathsep) +if "TA_INCLUDE_PATH" in os.environ: + include_dirs = os.environ["TA_INCLUDE_PATH"].split(os.pathsep) -if 'TA_LIBRARY_PATH' in os.environ: - library_dirs = os.environ['TA_LIBRARY_PATH'].split(os.pathsep) +if "TA_LIBRARY_PATH" in os.environ: + library_dirs = os.environ["TA_LIBRARY_PATH"].split(os.pathsep) if not platform_supported: raise NotImplementedError(sys.platform) -for path in library_dirs: - try: - files = os.listdir(path) - if any(lib_talib_name in f for f in files): - break - except OSError: - pass -else: - warnings.warn('Cannot find ta-lib library, installation may fail.') +# for path in library_dirs: +# try: +# files = os.listdir(path) +# if any(lib_talib_name in f for f in files): +# break +# except OSError: +# pass +# else: +# warnings.warn('Cannot find ta-lib library, installation may fail.') + + +_EXPLICIT = "TA_LIBRARY_PATH" in os.environ or "TA_INCLUDE_PATH" in os.environ + + +def _parse_version(text): + m = re.match(r"\s*(\d+(?:\.\d+)*)", text or "") + return tuple(int(x) for x in m.group(1).split(".")) if m else None + + +def _system_talib_version(): + if sys.platform == "win32": + return None + pattern = "libta-lib*.dylib" if sys.platform == "darwin" else "libta-lib.so*" + candidates = [] + for d in library_dirs: + candidates += [str(p) for p in sorted(Path(d).glob(pattern))] + found = ctypes.util.find_library("ta-lib") + if found: + candidates.append(found) + for cand in candidates: + try: + fn = ctypes.CDLL(cand).TA_GetVersionString + fn.restype = ctypes.c_char_p + version = _parse_version(fn().decode("ascii", "ignore")) + except (OSError, AttributeError): + continue + if version: + return version + return None + + +def _fmt(version): + return ".".join(map(str, version)) + + +@functools.cache +def resolve_talib(): + if FORCE_BUNDLED or _CUSTOM_SRC or TSAN: + return build_bundled_talib() + + required = _parse_version(TALIB_C_VER) + found = _system_talib_version() + + if found is None and _EXPLICIT: + return None + if found is not None and found >= required: + print(f"[talib] using system TA-Lib {_fmt(found)}", file=sys.stderr) + return None + + why = "not found" if found is None else f"{_fmt(found)} < {TALIB_C_VER}" + print( + f"[talib] system TA-Lib {why}; building bundled {TALIB_C_VER} (static)", + file=sys.stderr, + ) + return build_bundled_talib() + # Get the Cython build_ext or fall back to setuptools build_ext try: - from Cython.Distutils import build_ext + from Cython.Build import cythonize + from Cython.Compiler import Options as CythonOptions + from setuptools.command.build_ext import build_ext + has_cython = True except ImportError: from setuptools.command.build_ext import build_ext + has_cython = False + class NumpyBuildExt(build_ext): """ Custom build_ext command that adds numpy's include_dir to extensions. @@ -86,25 +253,55 @@ def build_extensions(self): Add numpy's include directory to Extension includes. """ numpy_incl = numpy.get_include() + + if has_cython: + CythonOptions.emit_code_comments = False + cythonized = cythonize( + self.extensions, + nthreads=multiprocessing.cpu_count(), + compiler_directives={ + "embedsignature": True, + "freethreading_compatible": True, + }, + ) + + for ext, new in zip(self.extensions, cythonized): + ext.sources = new.sources + ext.depends = new.depends + + bundled = resolve_talib() + for ext in self.extensions: + if bundled: + ext.include_dirs = [bundled[0]] + ext.library_dirs = [] + ext.libraries = [] + ext.runtime_library_dirs = [] + ext.extra_objects = list(ext.extra_objects or []) + [bundled[1]] ext.include_dirs.append(numpy_incl) super().build_extensions() -cmdclass = {'build_ext': NumpyBuildExt} + +cmdclass = {"build_ext": NumpyBuildExt} ext_modules = [ Extension( - 'talib._ta_lib', - ['talib/_ta_lib.pyx' if has_cython else 'talib/_ta_lib.c'], - define_macros=[('Py_GIL_DISABLED', '1')] - if sys.platform == 'win32' and sysconfig.get_config_var('Py_GIL_DISABLED') else [], + "talib._ta_lib", + ["talib/_ta_lib.pyx" if has_cython else "talib/_ta_lib.c"], + define_macros=[("Py_GIL_DISABLED", "1")] + if sys.platform == "win32" and sysconfig.get_config_var("Py_GIL_DISABLED") + else [], include_dirs=include_dirs, library_dirs=library_dirs, libraries=[lib_talib_name], - runtime_library_dirs=[] if sys.platform == 'win32' else library_dirs) + runtime_library_dirs=[] if sys.platform == "win32" else library_dirs, + extra_compile_args=_TSAN_CFLAGS, + extra_link_args=_TSAN_LDFLAGS, + ) ] + setup( ext_modules=ext_modules, cmdclass=cmdclass, diff --git a/talib/_ta_lib.c b/talib/_ta_lib.c deleted file mode 100644 index 78dfee369..000000000 --- a/talib/_ta_lib.c +++ /dev/null @@ -1,473262 +0,0 @@ -/* Generated by Cython 3.3.0 */ - -/* BEGIN: Cython Metadata -{ - "distutils": { - "depends": [ - "/opt/homebrew/include/ta-lib/ta_abstract.h", - "/opt/homebrew/include/ta-lib/ta_common.h", - "/opt/homebrew/include/ta-lib/ta_defs.h", - "/opt/homebrew/include/ta-lib/ta_func.h", - "/private/tmp/talib-gil-venv/lib/python3.14/site-packages/numpy/_core/include/numpy/arrayobject.h", - "/private/tmp/talib-gil-venv/lib/python3.14/site-packages/numpy/_core/include/numpy/arrayscalars.h", - "/private/tmp/talib-gil-venv/lib/python3.14/site-packages/numpy/_core/include/numpy/ndarrayobject.h", - "/private/tmp/talib-gil-venv/lib/python3.14/site-packages/numpy/_core/include/numpy/ndarraytypes.h", - "/private/tmp/talib-gil-venv/lib/python3.14/site-packages/numpy/_core/include/numpy/ufuncobject.h" - ], - "include_dirs": [ - "/usr/include", - "/usr/local/include", - "/opt/include", - "/opt/local/include", - "/opt/homebrew/include", - "/opt/homebrew/opt/ta-lib/include", - "/private/tmp/talib-gil-venv/lib/python3.14/site-packages/numpy/_core/include" - ], - "libraries": [ - "ta-lib" - ], - "library_dirs": [ - "/usr/lib", - "/usr/local/lib", - "/usr/lib64", - "/usr/local/lib64", - "/opt/lib", - "/opt/local/lib", - "/opt/homebrew/lib", - "/opt/homebrew/opt/ta-lib/lib" - ], - "name": "talib._ta_lib", - "runtime_library_dirs": [ - "/usr/lib", - "/usr/local/lib", - "/usr/lib64", - "/usr/local/lib64", - "/opt/lib", - "/opt/local/lib", - "/opt/homebrew/lib", - "/opt/homebrew/opt/ta-lib/lib" - ], - "sources": [ - "talib/_ta_lib.pyx" - ] - }, - "module_name": "talib._ta_lib" -} -END: Cython Metadata */ - -#ifndef PY_SSIZE_T_CLEAN -#define PY_SSIZE_T_CLEAN -#endif /* PY_SSIZE_T_CLEAN */ -/* InitLimitedAPI */ -#if defined(Py_LIMITED_API) - #if !defined(CYTHON_LIMITED_API) - #define CYTHON_LIMITED_API 1 - #endif -#elif defined(CYTHON_LIMITED_API) - #ifdef _MSC_VER - #pragma message ("Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead.") - #else - #warning Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead. - #endif -#endif - -#include "Python.h" -#ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -#elif PY_VERSION_HEX < 0x03090000 - #error Cython requires Python 3.9+. -#elif defined(Py_LIMITED_API) && (Py_LIMITED_API & 0xFFFF0000) > (PY_VERSION_HEX & 0xFFFF0000) - #error 'Py_LIMITED_API' can only select past Python X.Y versions, not future ones. -#else -#define __PYX_ABI_VERSION "3_3_0" -#define CYTHON_HEX_VERSION 0x030300F0 -#define CYTHON_FUTURE_DIVISION 0 -/* CModulePreamble */ -#include -#ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) -#endif -#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall - #endif - #ifndef __cdecl - #define __cdecl - #endif - #ifndef __fastcall - #define __fastcall - #endif -#endif -#ifdef __has_builtin - #define __Pyx_has_cbuiltin(name) __has_builtin(name) -#else - #define __Pyx_has_cbuiltin(name) (0) -#endif -#ifndef DL_IMPORT - #define DL_IMPORT(t) t -#endif -#ifndef DL_EXPORT - #define DL_EXPORT(t) t -#endif -#define __PYX_COMMA , -#ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG -#endif -#ifndef Py_HUGE_VAL - #define Py_HUGE_VAL HUGE_VAL -#endif -#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX -#if defined(CYTHON_LIMITED_API) - #ifdef Py_LIMITED_API - #undef __PYX_LIMITED_VERSION_HEX - #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API - #if Py_LIMITED_API < 0x03090000 - #error "Cython 3.3 requires the Python Limited API version to be 3.9 or greater." - #endif - #endif - #if defined(GRAALVM_PYTHON) || defined(PYPY_VERSION) - #ifdef _MSC_VER - #pragma message ("Py_LIMITED_API is defined on PyPy or GraalPy. This takes precedence over Cython's specialized\ - code for PyPy and GraalPy and is unlikely to work.") - #else - #warning "Py_LIMITED_API is defined on PyPy or GraalPy. This takes precedence over Cython's specialized\ - code for PyPy and GraalPy and is unlikely to work." - #endif - #endif - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 1 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 1 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #endif - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS - #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0 - #endif - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_ASSUME_SAFE_SIZE - #define CYTHON_ASSUME_SAFE_SIZE 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_VECTORCALL - #define CYTHON_VECTORCALL (__PYX_LIMITED_VERSION_HEX >= 0x030C0000) - #ifndef CYTHON_VECTORCALL_TPNEW - #define CYTHON_VECTORCALL_TPNEW (CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #endif - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #undef CYTHON_USE_SYS_MONITORING - #define CYTHON_USE_SYS_MONITORING 0 - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE (__PYX_LIMITED_VERSION_HEX >= 0x030F0000 && PY_VERSION_HEX > 0x030F00A8) - #endif - #ifndef CYTHON_USE_AM_SEND - #define CYTHON_USE_AM_SEND (__PYX_LIMITED_VERSION_HEX >= 0x030A0000) - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #ifndef CYTHON_USE_OWN_PREP_RERAISE_STAR - #define CYTHON_USE_OWN_PREP_RERAISE_STAR 1 - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 1 - #endif - #undef CYTHON_IMMORTAL_CONSTANTS - #define CYTHON_IMMORTAL_CONSTANTS 0 - #if __PYX_LIMITED_VERSION_HEX < 0x030E0000 - #undef CYTHON_OPAQUE_OBJECTS - #define CYTHON_OPAQUE_OBJECTS 0 - #elif !defined(CYTHON_OPAQUE_OBJECTS) - #define CYTHON_OPAQUE_OBJECTS (__PYX_LIMITED_VERSION_HEX >= 0x030F0000) - #endif -#elif defined(GRAALVM_PYTHON) - /* For very preliminary testing purposes. Most variables are set the same as PyPy. - The existence of this section does not imply that anything works or is even tested */ - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 1 - #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #endif - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS - #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_ASSUME_SAFE_SIZE - #define CYTHON_ASSUME_SAFE_SIZE 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #ifndef CYTHON_VECTORCALL - #define CYTHON_VECTORCALL 1 - #endif - #if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX < 0x030E0000 - #undef CYTHON_VECTORCALL_TPNEW - #define CYTHON_VECTORCALL_TPNEW 0 - #elif !defined(CYTHON_VECTORCALL_TPNEW) - #define CYTHON_VECTORCALL_TPNEW CYTHON_VECTORCALL - #endif - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_SYS_MONITORING - #define CYTHON_USE_SYS_MONITORING 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_AM_SEND - #define CYTHON_USE_AM_SEND 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 1 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #ifndef CYTHON_USE_OWN_PREP_RERAISE_STAR - #define CYTHON_USE_OWN_PREP_RERAISE_STAR 1 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 - #undef CYTHON_IMMORTAL_CONSTANTS - #define CYTHON_IMMORTAL_CONSTANTS 0 - #undef CYTHON_OPAQUE_OBJECTS - #define CYTHON_OPAQUE_OBJECTS 0 -#elif defined(PYPY_VERSION) - #define CYTHON_COMPILING_IN_PYPY 1 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS - #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #ifndef CYTHON_ASSUME_SAFE_SIZE - #define CYTHON_ASSUME_SAFE_SIZE 1 - #endif - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #ifndef CYTHON_VECTORCALL - #define CYTHON_VECTORCALL 1 - #endif - #if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX < 0x030E0000 - #undef CYTHON_VECTORCALL_TPNEW - #define CYTHON_VECTORCALL_TPNEW 0 - #elif !defined(CYTHON_VECTORCALL_TPNEW) - #define CYTHON_VECTORCALL_TPNEW (PYPY_VERSION_NUM >= 0x07030800 && CYTHON_VECTORCALL) - #endif - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_SYS_MONITORING - #define CYTHON_USE_SYS_MONITORING 0 - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE (PYPY_VERSION_NUM >= 0x07030C00) - #endif - #undef CYTHON_USE_AM_SEND - #define CYTHON_USE_AM_SEND 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_NUM >= 0x07031100) - #endif - #ifndef CYTHON_USE_OWN_PREP_RERAISE_STAR - #define CYTHON_USE_OWN_PREP_RERAISE_STAR 1 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 - #undef CYTHON_IMMORTAL_CONSTANTS - #define CYTHON_IMMORTAL_CONSTANTS 0 - #undef CYTHON_OPAQUE_OBJECTS - #define CYTHON_OPAQUE_OBJECTS 0 -#else - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 1 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #ifdef Py_GIL_DISABLED - #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 1 - #else - #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0 - #endif - #if PY_VERSION_HEX < 0x030A0000 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #elif !defined(CYTHON_USE_TYPE_SLOTS) - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #ifndef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 1 - #endif - #ifndef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 1 - #endif - #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #elif !defined(CYTHON_USE_PYLIST_INTERNALS) - #define CYTHON_USE_PYLIST_INTERNALS 1 - #endif - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING || PY_VERSION_HEX >= 0x030B00A2 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #elif !defined(CYTHON_USE_UNICODE_WRITER) - #define CYTHON_USE_UNICODE_WRITER 1 - #endif - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS - #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 1 - #elif !defined(CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS) - #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_ASSUME_SAFE_SIZE - #define CYTHON_ASSUME_SAFE_SIZE 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #ifndef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 1 - #endif - #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #elif !defined(CYTHON_FAST_GIL) - #define CYTHON_FAST_GIL (PY_VERSION_HEX < 0x030C00A6) - #endif - #ifndef CYTHON_VECTORCALL - #define CYTHON_VECTORCALL 1 - #endif - #if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX < 0x030E0000 - #undef CYTHON_VECTORCALL_TPNEW - #define CYTHON_VECTORCALL_TPNEW 0 - #elif !defined(CYTHON_VECTORCALL_TPNEW) - #define CYTHON_VECTORCALL_TPNEW CYTHON_VECTORCALL - #endif - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #ifndef CYTHON_USE_SYS_MONITORING - #define CYTHON_USE_SYS_MONITORING (PY_VERSION_HEX >= 0x030d00B1) - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #ifndef CYTHON_USE_AM_SEND - #define CYTHON_USE_AM_SEND 1 - #endif - #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #elif !defined(CYTHON_USE_DICT_VERSIONS) - #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX < 0x030C00A5 && !CYTHON_USE_MODULE_STATE) - #endif - #ifndef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 1 - #endif - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif - #ifndef CYTHON_USE_OWN_PREP_RERAISE_STAR - #define CYTHON_USE_OWN_PREP_RERAISE_STAR (PY_VERSION_HEX < 0x030C00B2) - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS (!CYTHON_COMPILING_IN_CPYTHON_FREETHREADING) - #endif - #if defined(CYTHON_IMMORTAL_CONSTANTS) && PY_VERSION_HEX < 0x030C0000 - #undef CYTHON_IMMORTAL_CONSTANTS - #define CYTHON_IMMORTAL_CONSTANTS 0 // definitely won't work - #elif !defined(CYTHON_IMMORTAL_CONSTANTS) - #define CYTHON_IMMORTAL_CONSTANTS (PY_VERSION_HEX >= 0x030C0000 && !CYTHON_USE_MODULE_STATE && CYTHON_COMPILING_IN_CPYTHON_FREETHREADING) - #endif - #ifndef CYTHON_OPAQUE_OBJECTS - #define CYTHON_OPAQUE_OBJECTS 0 - #endif -#endif -#if CYTHON_USE_PYLONG_INTERNALS - #undef SHIFT - #undef BASE - #undef MASK - #ifdef SIZEOF_VOID_P - enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; - #endif -#endif -#ifndef __has_attribute - #define __has_attribute(x) 0 -#endif -#ifndef __has_cpp_attribute - #define __has_cpp_attribute(x) 0 -#endif -#ifndef CYTHON_RESTRICT - #if defined(__GNUC__) - #define CYTHON_RESTRICT __restrict__ - #elif defined(_MSC_VER) && _MSC_VER >= 1400 - #define CYTHON_RESTRICT __restrict - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_RESTRICT restrict - #else - #define CYTHON_RESTRICT - #endif -#endif -#ifndef CYTHON_UNUSED - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(maybe_unused) - #define CYTHON_UNUSED [[maybe_unused]] - #endif - #endif - #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L - #define CYTHON_UNUSED [[maybe_unused]] - #endif -#endif -#ifndef CYTHON_UNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_UNUSED_VAR -# if defined(__cplusplus) - template void CYTHON_UNUSED_VAR( const T& ) { } -# else -# define CYTHON_UNUSED_VAR(x) (void)(x) -# endif -#endif -#ifndef CYTHON_MAYBE_UNUSED_VAR - #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x) -#endif -#ifndef CYTHON_NCP_UNUSED -# if CYTHON_COMPILING_IN_CPYTHON && !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING -# define CYTHON_NCP_UNUSED -# else -# define CYTHON_NCP_UNUSED CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_USE_CPP_STD_MOVE - #if defined(__cplusplus) && (\ - __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)) - #define CYTHON_USE_CPP_STD_MOVE 1 - #else - #define CYTHON_USE_CPP_STD_MOVE 0 - #endif -#endif -#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) -#include -typedef uintptr_t __pyx_uintptr_t; -#ifndef CYTHON_FALLTHROUGH - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(fallthrough) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(fallthrough) - #define CYTHON_FALLTHROUGH [[fallthrough]] - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_cpp_attribute(clang::fallthrough) - #define CYTHON_FALLTHROUGH [[clang::fallthrough]] - #elif __has_cpp_attribute(gnu::fallthrough) - #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] - #endif - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_attribute(fallthrough) - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - #else - #define CYTHON_FALLTHROUGH - #endif - #endif - #if defined(__clang__) && defined(__apple_build_version__) - #if __apple_build_version__ < 7000000 - #undef CYTHON_FALLTHROUGH - #define CYTHON_FALLTHROUGH - #endif - #endif -#endif -#ifdef Py_UNREACHABLE - #define __Pyx_UNREACHABLE() Py_UNREACHABLE() -#elif __Pyx_has_cbuiltin(__builtin_unreachable) - #define __Pyx_UNREACHABLE() __builtin_unreachable() -#elif defined(__clang__) || defined(__INTEL_COMPILER) || (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))) - #define __Pyx_UNREACHABLE() __builtin_unreachable() -#elif defined(_MSC_VER) - #define __Pyx_UNREACHABLE() __assume(0) -#else - #define __Pyx_UNREACHABLE() Py_FatalError("Unreachable C code path reached") -#endif -#ifndef Py_UNREACHABLE - #define Py_UNREACHABLE() __Pyx_UNREACHABLE() -#endif -#ifdef __cplusplus - template - struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);}; - #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL::value) -#else - #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0) -#endif -#if CYTHON_COMPILING_IN_PYPY == 1 - #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX < 0x030A0000) -#else - #define __PYX_NEED_TP_PRINT_SLOT 0 -#endif -#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer)) -#if __PYX_LIMITED_VERSION_HEX < 0x030C0000 -#define __Pyx_PyErr_FetchException(petype, peval, petb) PyErr_Fetch(petype, peval, petb) -#define __Pyx_PyErr_RestoreException(etype, eval, etb) PyErr_Restore(etype, eval, etb) -#else -#define __Pyx_PyErr_FetchException(petype, peval, petb) *(petype)=NULL; *(peval)=PyErr_GetRaisedException(); *(petb)=NULL -#define __Pyx_PyErr_RestoreException(etype, eval, etb) PyErr_SetRaisedException(eval) -#endif - -/* CInitCode */ -#ifndef CYTHON_INLINE - #if defined(__clang__) - #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) - #elif defined(__GNUC__) - #define CYTHON_INLINE __inline__ - #elif defined(_MSC_VER) - #define CYTHON_INLINE __inline - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_INLINE inline - #else - #define CYTHON_INLINE - #endif -#endif - -/* PythonCompatibility */ -#define __PYX_BUILD_PY_SSIZE_T "n" -#define CYTHON_FORMAT_SSIZE_T "z" -#define __Pyx_BUILTIN_MODULE_NAME "builtins" -#define __Pyx_DefaultClassType PyType_Type -#if CYTHON_COMPILING_IN_LIMITED_API - #ifndef CO_OPTIMIZED - static int CO_OPTIMIZED; - #endif - #ifndef CO_NEWLOCALS - static int CO_NEWLOCALS; - #endif - #ifndef CO_VARARGS - static int CO_VARARGS; - #endif - #ifndef CO_VARKEYWORDS - static int CO_VARKEYWORDS; - #endif - #ifndef CO_ASYNC_GENERATOR - static int CO_ASYNC_GENERATOR; - #endif - #ifndef CO_GENERATOR - static int CO_GENERATOR; - #endif - #ifndef CO_COROUTINE - static int CO_COROUTINE; - #endif -#else - #ifndef CO_COROUTINE - #define CO_COROUTINE 0x80 - #endif - #ifndef CO_ASYNC_GENERATOR - #define CO_ASYNC_GENERATOR 0x200 - #endif -#endif -static int __Pyx_init_co_variables(void); -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is) - #define __Pyx_Py_Is(x, y) Py_Is(x, y) -#else - #define __Pyx_Py_Is(x, y) ((x) == (y)) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone) - #define __Pyx_Py_IsNone(ob) Py_IsNone(ob) -#else - #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue) - #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob) -#else - #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse) - #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob) -#else - #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False) -#endif -#define __Pyx_NoneAsNull(obj) (__Pyx_Py_IsNone(obj) ? NULL : (obj)) -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o) -#else - #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static unsigned long __Pyx_Runtime_TPFLAGS_SEQUENCE; -static unsigned long __Pyx_Runtime_TPFLAGS_MAPPING; -#else -#define __Pyx_Runtime_TPFLAGS_SEQUENCE Py_TPFLAGS_SEQUENCE -#define __Pyx_Runtime_TPFLAGS_MAPPING Py_TPFLAGS_MAPPING -#endif -static int __Pyx_init_tpflags_variables(void); -#ifndef Py_TPFLAGS_HAVE_FINALIZE - #define Py_TPFLAGS_HAVE_FINALIZE 0 -#endif -#ifndef Py_TPFLAGS_SEQUENCE - #define Py_TPFLAGS_SEQUENCE (CYTHON_COMPILING_IN_LIMITED_API ? 0 : 1 << 5) -#endif -#ifndef Py_TPFLAGS_MAPPING - #define Py_TPFLAGS_MAPPING (CYTHON_COMPILING_IN_LIMITED_API ? 0 : 1 << 6) -#endif -#ifndef Py_TPFLAGS_IMMUTABLETYPE - #define Py_TPFLAGS_IMMUTABLETYPE (1UL << 8) -#endif -#ifndef Py_TPFLAGS_DISALLOW_INSTANTIATION - #define Py_TPFLAGS_DISALLOW_INSTANTIATION (1UL << 7) -#endif -#ifndef METH_STACKLESS - #define METH_STACKLESS 0 -#endif -#if !defined(METH_FASTCALL) || CYTHON_COMPILING_IN_PYPY - #ifndef METH_FASTCALL - #define METH_FASTCALL 0x80 - #endif - typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); - typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, - Py_ssize_t nargs, PyObject *kwnames); -#else - #if PY_VERSION_HEX >= 0x030d00A4 - # define __Pyx_PyCFunctionFast PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords - #else - # define __Pyx_PyCFunctionFast _PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords - #endif -#endif -#if CYTHON_VECTORCALL - #define __Pyx_METH_FASTCALL METH_FASTCALL - #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast - #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords -#else - #define __Pyx_METH_FASTCALL METH_VARARGS - #define __Pyx_PyCFunction_FastCall PyCFunction - #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords -#endif -#if CYTHON_VECTORCALL - #define __pyx_vectorcallfunc vectorcallfunc - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET PY_VECTORCALL_ARGUMENTS_OFFSET - #define __Pyx_PyVectorcall_NARGS(n) PyVectorcall_NARGS((size_t)(n)) -#else - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0 - #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n)) -#endif -#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func) -#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func) -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth) -#elif !CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func) -#endif -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags) -static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) { - return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self; -} -#endif -static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void (*cfunc)(void)) { -#if CYTHON_COMPILING_IN_LIMITED_API - return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc; -#else - return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -#endif -} -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc) -#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000 - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b)) -#else - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) PyType_FromModuleAndSpec(m, s, b) -#endif -#if CYTHON_COMPILING_IN_PYPY - typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *); -#else - #define __Pyx_PyCMethod PyCMethod -#endif -#ifndef METH_METHOD - #define METH_METHOD 0x200 -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) - #define PyObject_Malloc(s) PyMem_Malloc(s) - #define PyObject_Free(p) PyMem_Free(p) - #define PyObject_Realloc(p) PyMem_Realloc(p) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) -#elif CYTHON_COMPILING_IN_GRAAL && defined(GRAALPY_VERSION_NUM) && GRAALPY_VERSION_NUM > 0x19000000 - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) GraalPyFrame_SetLineNumber((frame), (lineno)) -#elif CYTHON_COMPILING_IN_GRAAL - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) _PyFrame_SetLineNumber((frame), (lineno)) -#else - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyThreadState_Current PyThreadState_Get() -#elif !CYTHON_FAST_THREAD_STATE - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#elif PY_VERSION_HEX >= 0x030d00A1 - #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked() -#else - #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() -#endif -#if CYTHON_OPAQUE_OBJECTS && CYTHON_COMPILING_IN_LIMITED_API - #define __PYX_SHARED_SIZEOF(T) -((int)sizeof(T)) - #define __PYX_SHARED_RELATIVE_OFFSET Py_RELATIVE_OFFSET - #define CYTHON_OPAQUE_SHARED_TYPES 1 -#else - #define __PYX_SHARED_SIZEOF(T) sizeof(T) - #define __PYX_SHARED_RELATIVE_OFFSET 0 - #define CYTHON_OPAQUE_SHARED_TYPES 0 -#endif -#if CYTHON_USE_MODULE_STATE -static CYTHON_INLINE void *__Pyx__PyModule_GetState(PyObject *op) -{ - void *result; - result = PyModule_GetState(op); - if (!result) - Py_FatalError("Couldn't find the module state"); - return result; -} -#define __Pyx_PyModule_GetState(o) (__pyx_mstatetype *)__Pyx__PyModule_GetState(o) -#else -#define __Pyx_PyModule_GetState(op) ((void)op,__pyx_mstate_global) -#endif -#define __Pyx_PyObject_GetSlot(obj, name, func_ctype) __Pyx_PyType_GetSlot(Py_TYPE((PyObject *) obj), name, func_ctype) -#define __Pyx_PyObject_TryGetSlot(obj, name, func_ctype) __Pyx_PyType_TryGetSlot(Py_TYPE(obj), name, func_ctype) -#define __Pyx_PyObject_GetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_GetSubSlot(Py_TYPE(obj), sub, name, func_ctype) -#define __Pyx_PyObject_TryGetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_TryGetSubSlot(Py_TYPE(obj), sub, name, func_ctype) -#if CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((type)->name) - #define __Pyx_PyType_TryGetSlot(type, name, func_ctype) __Pyx_PyType_GetSlot(type, name, func_ctype) - #define __Pyx_PyType_GetSubSlot(type, sub, name, func_ctype) (((type)->sub) ? ((type)->sub->name) : NULL) - #define __Pyx_PyType_TryGetSubSlot(type, sub, name, func_ctype) __Pyx_PyType_GetSubSlot(type, sub, name, func_ctype) -#else - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((func_ctype) PyType_GetSlot((type), Py_##name)) - #define __Pyx_PyType_TryGetSlot(type, name, func_ctype)\ - ((__PYX_LIMITED_VERSION_HEX >= 0x030A0000 ||\ - (PyType_GetFlags(type) & Py_TPFLAGS_HEAPTYPE) || __Pyx_get_runtime_version() >= 0x030A0000) ?\ - __Pyx_PyType_GetSlot(type, name, func_ctype) : NULL) - #define __Pyx_PyType_GetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_GetSlot(obj, name, func_ctype) - #define __Pyx_PyType_TryGetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_TryGetSlot(obj, name, func_ctype) -#endif -#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) -#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) -#else -#define __Pyx_PyDict_NewPresized(n) PyDict_New() -#endif -#define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_UNICODE_INTERNALS -#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) { - PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name); - if (res == NULL && PyErr_Occurred()) { - PyErr_WriteUnraisable(NULL); - } - return res; -} -#elif !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000 -#define __Pyx_PyDict_GetItemStrWithError PyDict_GetItemWithError -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#else -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) { -#if CYTHON_COMPILING_IN_PYPY - return PyDict_GetItem(dict, name); -#else - PyDictEntry *ep; - PyDictObject *mp = (PyDictObject*) dict; - long hash = ((PyStringObject *) name)->ob_shash; - assert(hash != -1); - ep = (mp->ma_lookup)(mp, name, hash); - if (ep == NULL) { - return NULL; - } - return ep->me_value; -#endif -} -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#endif -#if CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyType_GetFlags(tp) (((PyTypeObject *)tp)->tp_flags) - #define __Pyx_PyType_HasFeature(type, feature) ((__Pyx_PyType_GetFlags(type) & (feature)) != 0) -#else - #define __Pyx_PyType_GetFlags(tp) (PyType_GetFlags((PyTypeObject *)tp)) - #define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature) -#endif -#define __Pyx_PyObject_GetIterNextFunc(iterator) __Pyx_PyObject_GetSlot(iterator, tp_iternext, iternextfunc) -#if CYTHON_USE_TYPE_SPECS -#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\ - PyTypeObject *type = Py_TYPE((PyObject*)obj);\ - assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\ - PyObject_GC_Del(obj);\ - Py_DECREF(type);\ -} -#else -#define __Pyx_PyHeapTypeObject_GC_Del(obj) PyObject_GC_Del(obj) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((void)u, 1114111U) - #define __Pyx_PyUnicode_KIND(u) ((void)u, (0)) - #define __Pyx_PyUnicode_KIND_04(u) __Pyx_PyUnicode_KIND(u) - #define __Pyx_PyUnicode_DATA(u) ((void*)u) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)k, PyUnicode_ReadChar((PyObject*)(d), i)) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GetLength(u)) -#else - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_READY(op) (0) - #else - #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ - 0 : _PyUnicode_Ready((PyObject *)(op))) - #endif - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) - #define __Pyx_PyUnicode_KIND(u) ((int)PyUnicode_KIND(u)) - #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) - #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, (Py_UCS4) ch) - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) - #else - #if CYTHON_COMPILING_IN_CPYTHON - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) - #else - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) - #endif - #endif - static CYTHON_INLINE int __Pyx_PyUnicode_KIND_04(PyObject *o) { - return __Pyx_PyUnicode_KIND(o) - (int) !!PyUnicode_IS_ASCII(o); - } -#endif -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) -#else - #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ - PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #if !defined(PyUnicode_DecodeUnicodeEscape) - #define PyUnicode_DecodeUnicodeEscape(s, size, errors) PyUnicode_Decode(s, size, "unicode_escape", errors) - #endif - #if !defined(PyUnicode_Contains) - #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) - #endif - #if !defined(PyByteArray_Check) - #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) - #endif - #if !defined(PyObject_Format) - #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) - #endif -#endif -#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - #define __Pyx_PySequence_ListKeepNew(obj)\ - (likely(PyList_CheckExact(obj) && PyUnstable_Object_IsUniquelyReferenced(obj)) ? __Pyx_NewRef(obj) : PySequence_List(obj)) -#elif CYTHON_COMPILING_IN_CPYTHON - #define __Pyx_PySequence_ListKeepNew(obj)\ - (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj)) -#else - #define __Pyx_PySequence_ListKeepNew(obj) PySequence_List(obj) -#endif -#ifndef PySet_CheckExact - #define PySet_CheckExact(obj) Py_IS_TYPE(obj, &PySet_Type) -#endif -enum __Pyx_ReferenceSharing { - __Pyx_ReferenceSharing_DefinitelyUnique, // We created it so we know it's unshared - no need to check - __Pyx_ReferenceSharing_OwnStrongReference, - __Pyx_ReferenceSharing_FunctionArgument, - __Pyx_ReferenceSharing_SharedReference, // Never trust it to be unshared because it's a global or similar -}; -#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && PY_VERSION_HEX >= 0x030E0000 -#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing)\ - (sharing == __Pyx_ReferenceSharing_DefinitelyUnique ? 1 :\ - (sharing == __Pyx_ReferenceSharing_FunctionArgument ? PyUnstable_Object_IsUniqueReferencedTemporary(o) :\ - (sharing == __Pyx_ReferenceSharing_OwnStrongReference ? PyUnstable_Object_IsUniquelyReferenced(o) : 0))) -#elif (CYTHON_COMPILING_IN_CPYTHON && !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING) || CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing) (((void)sharing), Py_REFCNT(o) == 1) -#else -#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing) (((void)o), ((void)sharing), 0) -#endif -#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000 - #define __Pyx_PyList_GetItemRef(o, i) PyList_GetItemRef(o, i) -#elif CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS - #if CYTHON_COMPILING_IN_LIMITED_API || !CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PyList_GetItemRef(o, i) (likely((i) >= 0) ? PySequence_GetItem(o, i) : (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) - #else - #define __Pyx_PyList_GetItemRef(o, i) PySequence_ITEM(o, i) - #endif -#elif CYTHON_COMPILING_IN_LIMITED_API || !(CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE) - #define __Pyx_PyList_GetItemRef(o, i) __Pyx_XNewRef(PyList_GetItem(o, i)) -#else - #define __Pyx_PyList_GetItemRef(o, i) (likely(__Pyx_is_valid_index(i, PyList_GET_SIZE(o))) ?\ - __Pyx_NewRef(PyList_GET_ITEM(o, i)) : (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -#endif -#if CYTHON_AVOID_BORROWED_REFS || CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyList_GET_ITEM_REF(o, i, unsafe_shared) ((void)(unsafe_shared),\ - __Pyx_PyList_GetItemRef(o, i)) -#elif CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS - #if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PyList_GET_ITEM_REF(o, i, unsafe_shared) (\ - __Pyx_IS_UNIQUELY_REFERENCED(o, unsafe_shared) ?\ - __Pyx_NewRef(PyList_GET_ITEM(o, i)) : __Pyx_PyList_GetItemRef(o, i)) - #else - #define __Pyx_PyList_GET_ITEM_REF(o, i, unsafe_shared) (\ - __Pyx_IS_UNIQUELY_REFERENCED(o, unsafe_shared) ?\ - __Pyx_XNewRef(PyList_GetItem(o, i)) : __Pyx_PyList_GetItemRef(o, i)) - #endif -#elif CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PyList_GET_ITEM_REF(o, i, unsafe_shared) ((void)(unsafe_shared),\ - __Pyx_NewRef(PyList_GET_ITEM(o, i))) -#else - #define __Pyx_PyList_GET_ITEM_REF(o, i, unsafe_shared) ((void)(unsafe_shared),\ - __Pyx_XNewRef(PyList_GetItem(o, i))) -#endif -#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000 -#define __Pyx_PyDict_GetItemRef(dict, key, result) PyDict_GetItemRef(dict, key, result) -#elif CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS -static CYTHON_INLINE int __Pyx_PyDict_GetItemRef(PyObject *dict, PyObject *key, PyObject **result) { - *result = PyObject_GetItem(dict, key); - if (*result == NULL) { - if (PyErr_ExceptionMatches(PyExc_KeyError)) { - PyErr_Clear(); - return 0; - } - return -1; - } - return 1; -} -#else -static CYTHON_INLINE int __Pyx_PyDict_GetItemRef(PyObject *dict, PyObject *key, PyObject **result) { - *result = PyDict_GetItemWithError(dict, key); - if (*result == NULL) { - return PyErr_Occurred() ? -1 : 0; - } - Py_INCREF(*result); - return 1; -} -#endif -#if defined(CYTHON_DEBUG_VISIT_CONST) && CYTHON_DEBUG_VISIT_CONST - #define __Pyx_VISIT_CONST(obj) Py_VISIT(obj) -#else - #define __Pyx_VISIT_CONST(obj) -#endif -#if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i) - #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyTuple_GET_ITEM(o, i) PyTuple_GET_ITEM(o, i) - #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyList_GET_ITEM(o, i) PyList_GET_ITEM(o, i) -#else - #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i) - #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v) - #define __Pyx_PyTuple_GET_ITEM(o, i) PyTuple_GetItem(o, i) - #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v) - #define __Pyx_PyList_GET_ITEM(o, i) PyList_GetItem(o, i) -#endif -#if CYTHON_ASSUME_SAFE_SIZE - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o) - #define __Pyx_PyDict_GET_SIZE(o) PyDict_GET_SIZE(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o) - #define __Pyx_PyUnicode_GET_LENGTH(o) PyUnicode_GET_LENGTH(o) -#else - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o) - #define __Pyx_PyDict_GET_SIZE(o) PyDict_Size(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o) - #define __Pyx_PyUnicode_GET_LENGTH(o) PyUnicode_GetLength(o) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_InternFromString) - #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) -#endif -#define __Pyx_PyLong_FromHash_t PyLong_FromSsize_t -#define __Pyx_PyLong_AsHash_t __Pyx_PyIndex_AsSsize_t -#if __PYX_LIMITED_VERSION_HEX >= 0x030A0000 - #define __Pyx_PySendResult PySendResult -#else - typedef enum { - PYGEN_RETURN = 0, - PYGEN_ERROR = -1, - PYGEN_NEXT = 1, - } __Pyx_PySendResult; -#endif -#if CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX < 0x030A00A3 - typedef __Pyx_PySendResult (*__Pyx_pyiter_sendfunc)(PyObject *iter, PyObject *value, PyObject **result); -#else - #define __Pyx_pyiter_sendfunc sendfunc -#endif -#if !CYTHON_USE_AM_SEND -#define __PYX_HAS_PY_AM_SEND 0 -#elif __PYX_LIMITED_VERSION_HEX >= 0x030A0000 -#define __PYX_HAS_PY_AM_SEND 1 -#else -#define __PYX_HAS_PY_AM_SEND 2 // our own backported implementation -#endif -#if __PYX_HAS_PY_AM_SEND < 2 - #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods -#else - typedef struct { - unaryfunc am_await; - unaryfunc am_aiter; - unaryfunc am_anext; - __Pyx_pyiter_sendfunc am_send; - } __Pyx_PyAsyncMethodsStruct; - #define __Pyx_SlotTpAsAsync(s) ((PyAsyncMethods*)(s)) -#endif -#if CYTHON_USE_AM_SEND && PY_VERSION_HEX < 0x030A00F0 - #define __Pyx_TPFLAGS_HAVE_AM_SEND (1UL << 21) -#else - #define __Pyx_TPFLAGS_HAVE_AM_SEND (0) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030A0000 -#ifdef __cplusplus -extern "C" -#endif -PyAPI_FUNC(void *) PyMem_Calloc(size_t nelem, size_t elsize); -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static int __Pyx_init_co_variable(PyObject *inspect, const char* name, int *write_to) { - int value; - PyObject *py_value = PyObject_GetAttrString(inspect, name); - if (!py_value) return 0; - value = (int) PyLong_AsLong(py_value); - Py_DECREF(py_value); - *write_to = value; - return value != -1 || !PyErr_Occurred(); -} -static int __Pyx_init_co_variables(void) { - PyObject *inspect; - int result; - inspect = PyImport_ImportModule("inspect"); - result = -#if !defined(CO_OPTIMIZED) - __Pyx_init_co_variable(inspect, "CO_OPTIMIZED", &CO_OPTIMIZED) && -#endif -#if !defined(CO_NEWLOCALS) - __Pyx_init_co_variable(inspect, "CO_NEWLOCALS", &CO_NEWLOCALS) && -#endif -#if !defined(CO_VARARGS) - __Pyx_init_co_variable(inspect, "CO_VARARGS", &CO_VARARGS) && -#endif -#if !defined(CO_VARKEYWORDS) - __Pyx_init_co_variable(inspect, "CO_VARKEYWORDS", &CO_VARKEYWORDS) && -#endif -#if !defined(CO_ASYNC_GENERATOR) - __Pyx_init_co_variable(inspect, "CO_ASYNC_GENERATOR", &CO_ASYNC_GENERATOR) && -#endif -#if !defined(CO_GENERATOR) - __Pyx_init_co_variable(inspect, "CO_GENERATOR", &CO_GENERATOR) && -#endif -#if !defined(CO_COROUTINE) - __Pyx_init_co_variable(inspect, "CO_COROUTINE", &CO_COROUTINE) && -#endif - 1; - Py_DECREF(inspect); - return result ? 0 : -1; -} -static int __Pyx_init_tpflags_bitcount(unsigned long flag) { - int count = 0; - while (flag) { - count += (int) (flag & 1); - flag >>= 1; - } - return count; -} -static int __Pyx_init_tpflags_variables(void) { - if (__Pyx_Runtime_TPFLAGS_SEQUENCE != 0 && __Pyx_Runtime_TPFLAGS_MAPPING != 0) { - return 0; - } - PyObject *collections_abc = PyImport_ImportModule("collections.abc"); - if (!collections_abc) return -1; - int result = 0; - PyObject *sequence = NULL, *mapping = NULL; -#if __PYX_LIMITED_VERSION_HEX >= 0x030D0000 - if (PyObject_GetOptionalAttrString(collections_abc, "Sequence", &sequence) != 1) goto fail; - if (PyObject_GetOptionalAttrString(collections_abc, "Mapping", &mapping) != 1) goto fail; -#else - sequence = PyObject_GetAttrString(collections_abc, "Sequence"); - if (!sequence) goto fail_attr_lookup; - mapping = PyObject_GetAttrString(collections_abc, "Mapping"); - if (!mapping) goto fail_attr_lookup; -#endif - if (!PyType_Check(sequence) || !PyType_Check(mapping)) goto fail; - { - unsigned long sequence_flags = PyType_GetFlags((PyTypeObject*)sequence); - unsigned long mapping_flags = PyType_GetFlags((PyTypeObject*)mapping); - unsigned long mutual_flags = sequence_flags & mapping_flags; - sequence_flags = sequence_flags ^ mutual_flags; - mapping_flags = mapping_flags ^ mutual_flags; - if (__Pyx_Runtime_TPFLAGS_SEQUENCE == 0 && __Pyx_init_tpflags_bitcount(sequence_flags) == 1) { - __Pyx_Runtime_TPFLAGS_SEQUENCE = sequence_flags; - } - if (__Pyx_Runtime_TPFLAGS_MAPPING == 0 && __Pyx_init_tpflags_bitcount(mapping_flags) == 1) { - __Pyx_Runtime_TPFLAGS_MAPPING = mapping_flags; - } - } - cleanup: - Py_XDECREF(mapping); - Py_XDECREF(sequence); - Py_DECREF(collections_abc); - return result; -#if __PYX_LIMITED_VERSION_HEX < 0x030D0000 - fail_attr_lookup: - if (PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Clear(); - } -#endif - fail: - result = PyErr_Occurred() ? -1 : 0; - goto cleanup; -} -#else -static int __Pyx_init_co_variables(void) { - return 0; // It's a limited API-only feature -} -static int __Pyx_init_tpflags_variables(void) { - return 0; // It's a limited API-only feature -} -#endif - -/* MathInitCode */ -#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) - #ifndef _USE_MATH_DEFINES - #define _USE_MATH_DEFINES - #endif -#endif -#include -#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) -#define __Pyx_truncl trunc -#else -#define __Pyx_truncl truncl -#endif - -#ifndef CYTHON_CLINE_IN_TRACEBACK_RUNTIME -#define CYTHON_CLINE_IN_TRACEBACK_RUNTIME 0 -#endif -#ifndef CYTHON_CLINE_IN_TRACEBACK -#define CYTHON_CLINE_IN_TRACEBACK CYTHON_CLINE_IN_TRACEBACK_RUNTIME -#endif -#if CYTHON_CLINE_IN_TRACEBACK -#define __PYX_MARK_ERR_POS(f_index, lineno) { __pyx_filename = __pyx_f[f_index]; (void) __pyx_filename; __pyx_lineno = lineno; (void) __pyx_lineno; __pyx_clineno = __LINE__; (void) __pyx_clineno; } -#else -#define __PYX_MARK_ERR_POS(f_index, lineno) { __pyx_filename = __pyx_f[f_index]; (void) __pyx_filename; __pyx_lineno = lineno; (void) __pyx_lineno; (void) __pyx_clineno; } -#endif -#define __PYX_ERR(f_index, lineno, Ln_error) \ - { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } - -#ifdef CYTHON_EXTERN_C - #undef __PYX_EXTERN_C - #define __PYX_EXTERN_C CYTHON_EXTERN_C -#elif defined(__PYX_EXTERN_C) - #ifdef _MSC_VER - #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.") - #else - #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead. - #endif -#else - #ifdef __cplusplus - #define __PYX_EXTERN_C extern "C" - #else - #define __PYX_EXTERN_C extern - #endif -#endif - -#define __PYX_HAVE__talib___ta_lib -#define __PYX_HAVE_API__talib___ta_lib -/* Early includes */ -#include "ta-lib/ta_defs.h" -#include "ta-lib/ta_common.h" -#include "ta-lib/ta_abstract.h" -#include "ta-lib/ta_func.h" -#include -#include - - /* Using NumPy API declarations from "numpy/__init__.cython-30.pxd" */ - -#include "numpy/arrayobject.h" -#include "numpy/ndarrayobject.h" -#include "numpy/ndarraytypes.h" -#include "numpy/arrayscalars.h" -#include "numpy/ufuncobject.h" -#ifdef _OPENMP -#include -#endif /* _OPENMP */ - -#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) -#define CYTHON_WITHOUT_ASSERTIONS -#endif - -#ifdef CYTHON_FREETHREADING_COMPATIBLE -#if CYTHON_FREETHREADING_COMPATIBLE -#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_NOT_USED -#else -#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_USED -#endif -#else -#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_NOT_USED -#endif -#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 -#define __PYX_DEFAULT_STRING_ENCODING "" -#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString -#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#define __Pyx_uchar_cast(c) ((unsigned char)c) -#define __Pyx_long_cast(x) ((long)x) -#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ - (sizeof(type) < sizeof(Py_ssize_t)) ||\ - (sizeof(type) > sizeof(Py_ssize_t) &&\ - likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX) &&\ - (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ - v == (type)PY_SSIZE_T_MIN))) ||\ - (sizeof(type) == sizeof(Py_ssize_t) &&\ - (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX))) ) -static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { - return (size_t) i < (size_t) limit; -} -#if defined (__cplusplus) && __cplusplus >= 201103L - #include - #define __Pyx_sst_abs(value) std::abs(value) -#elif SIZEOF_INT >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) abs(value) -#elif SIZEOF_LONG >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) labs(value) -#elif defined (_MSC_VER) - #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) -#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define __Pyx_sst_abs(value) llabs(value) -#elif defined (__GNUC__) - #define __Pyx_sst_abs(value) __builtin_llabs(value) -#else - #define __Pyx_sst_abs(value) ((value<0) ? -value : value) -#endif -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s); -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*); -#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) -#define __Pyx_PyBytes_FromString PyBytes_FromString -#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); -#if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) - #define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) - #define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) - #define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) - #define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) - #define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) - #define __Pyx_PyByteArray_AsString(s) PyByteArray_AS_STRING(s) -#else - #define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AsString(s)) - #define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AsString(s)) - #define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AsString(s)) - #define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AsString(s)) - #define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AsString(s)) - #define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AsString(s)) - #define __Pyx_PyByteArray_AsString(s) PyByteArray_AsString(s) -#endif -#define __Pyx_PyObject_AsWritableString(s) ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableSString(s) ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) -#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) -#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) -#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) -#define __Pyx_PyUnicode_FromOrdinal(o) PyUnicode_FromOrdinal((int)o) -#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode -static CYTHON_INLINE PyObject *__Pyx_NewRef(PyObject *obj) { -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030a0000 || defined(Py_NewRef) - return Py_NewRef(obj); -#else - Py_INCREF(obj); - return obj; -#endif -} -static CYTHON_INLINE PyObject *__Pyx_XNewRef(PyObject *obj) { -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030a0000 || defined(Py_XNewRef) - return Py_XNewRef(obj); -#else - Py_XINCREF(obj); - return obj; -#endif -} -static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b); -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); -static CYTHON_INLINE PyObject* __Pyx_PyNumber_Long(PyObject* x); -#define __Pyx_PyObject_RichCompareBool(a,b,cmp) __Pyx_PyObject_IsTrueAndDecref(PyObject_RichCompare((a),(b),(cmp))) -#define __Pyx_PySequence_Tuple(obj)\ - (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static CYTHON_INLINE PyObject * __Pyx_PyLong_FromSize_t(size_t); -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); -#if CYTHON_ASSUME_SAFE_MACROS -#define __Pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -#define __Pyx_PyFloat_AS_DOUBLE(x) PyFloat_AS_DOUBLE(x) -#define __Pyx_PyFloat_IsNonZero(x) (PyFloat_AS_DOUBLE(x) != 0.0) -#else -#define __Pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -#define __Pyx_PyFloat_AS_DOUBLE(x) PyFloat_AsDouble(x) -#define __Pyx_PyFloat_IsNonZero(x) PyObject_IsTrue(x) -#endif -#define __Pyx_PyFloat_AsFloat(x) ((float) __Pyx_PyFloat_AsDouble(x)) -#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_VERSION_HEX >= 0x030C00A7 - #ifndef _PyLong_SIGN_MASK - #define _PyLong_SIGN_MASK 3 - #endif - #ifndef _PyLong_NON_SIZE_BITS - #define _PyLong_NON_SIZE_BITS 3 - #endif - #define __Pyx_PyLong_SignBits(x) ((int) (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK)) - #define __Pyx_PyLong_Sign(x) (1 - __Pyx_PyLong_SignBits(x)) - #define __Pyx_PyLong_IsNeg(x) ((__Pyx_PyLong_SignBits(x) & 2) != 0) - #define __Pyx_PyLong_IsNonNeg(x) (!__Pyx_PyLong_IsNeg(x)) - #define __Pyx_PyLong_IsZero(x) (__Pyx_PyLong_SignBits(x) & 1) - #define __Pyx_PyLong_IsPos(x) (__Pyx_PyLong_SignBits(x) == 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) (__Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_SignedDigitCount(x)\ - (((Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x)) - #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue) - #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact((PyLongObject*) x) - #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue((PyLongObject*) x) - #else - #define __Pyx_PyLong_IsCompact(x) (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_CompactValue(x) (((Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0]) - #endif - static CYTHON_INLINE Py_ssize_t __Pyx_PyLong_CompareSignAndSize(PyObject *a, PyObject *b) { - uintptr_t tag_a = ((PyLongObject*)a)->long_value.lv_tag; - uintptr_t tag_b = ((PyLongObject*)b)->long_value.lv_tag; - if (tag_a == tag_b) return 0; - int sign_a = (int) (tag_a & _PyLong_SIGN_MASK); - int sign_b = (int) (tag_b & _PyLong_SIGN_MASK); - if (sign_a > sign_b) return -1; - if (sign_a < sign_b) return 1; - Py_ssize_t size_a = (Py_ssize_t) (tag_a >> _PyLong_NON_SIZE_BITS); - Py_ssize_t size_b = (Py_ssize_t) (tag_b >> _PyLong_NON_SIZE_BITS); - return (1 - sign_a) * (size_a - size_b); - } - typedef Py_ssize_t __Pyx_compact_pylong; - typedef size_t __Pyx_compact_upylong; - #else - #define __Pyx_PyLong_Sign(x) ((int) ((Py_SIZE(x) == 0) ? 0 : (Py_SIZE(x) < 0) ? -1 : 1)) - #define __Pyx_PyLong_IsNeg(x) (Py_SIZE(x) < 0) - #define __Pyx_PyLong_IsNonNeg(x) (Py_SIZE(x) >= 0) - #define __Pyx_PyLong_IsZero(x) (Py_SIZE(x) == 0) - #define __Pyx_PyLong_IsPos(x) (Py_SIZE(x) > 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) __Pyx_sst_abs(Py_SIZE(x)) - #define __Pyx_PyLong_SignedDigitCount(x) Py_SIZE(x) - #define __Pyx_PyLong_IsCompact(x) (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1) - #define __Pyx_PyLong_CompactValue(x)\ - ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0])) - #define __Pyx_PyLong_CompareSignAndSize(a, b) (Py_SIZE(a) - Py_SIZE(b)) - typedef sdigit __Pyx_compact_pylong; - typedef digit __Pyx_compact_upylong; - #endif - #if PY_VERSION_HEX >= 0x030C00A5 - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit) - #else - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->ob_digit) - #endif - #define __Pyx_PyLong_IsNonZero(x) (!__Pyx_PyLong_IsZero(x)) -#else - #define __Pyx_PyLong_IsNonZero(x) PyObject_IsTrue(x) -#endif -#if __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 - #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) -#elif __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeASCII(c_str, size, NULL) -#else - #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) -#endif - - -/* Test for GCC > 2.95 */ -#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) - #define likely(x) __builtin_expect(!!(x), 1) - #define unlikely(x) __builtin_expect(!!(x), 0) -#else /* !__GNUC__ or GCC < 2.95 */ - #define likely(x) (x) - #define unlikely(x) (x) -#endif /* __GNUC__ */ -/* PretendToInitialize */ -#ifdef __cplusplus -#if __cplusplus > 201103L -#include -#endif -template -static void __Pyx_pretend_to_initialize(T* ptr) { -#if __cplusplus > 201103L - if ((std::is_trivially_default_constructible::value)) -#endif - *ptr = T(); - (void)ptr; -} -#else -static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } -#endif - - -#if !CYTHON_USE_MODULE_STATE -static PyObject *__pyx_m = NULL; -#endif -static const char * const __pyx_cfilenm = __FILE__; - -/* Header.proto */ -#if !defined(CYTHON_CCOMPLEX) - #if defined(__cplusplus) - #define CYTHON_CCOMPLEX 1 - #elif (defined(_Complex_I) && !defined(_MSC_VER)) || ((defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) && !defined(__STDC_NO_COMPLEX__) && !defined(_MSC_VER)) - #define CYTHON_CCOMPLEX 1 - #else - #define CYTHON_CCOMPLEX 0 - #endif -#endif -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - #include - #else - #include - #endif -#endif -#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) - #undef _Complex_I - #define _Complex_I 1.0fj -#endif - -/* #### Code section: filename_table ### */ - -static const char* const __pyx_f[] = { - "talib/_ta_lib.pyx", - "talib/_common.pxi", - "talib/_abstract.pxi", - "talib/_stream.pxi", - "../../../../private/tmp/talib-gil-venv/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd", - "(tree fragment)", - "talib/_func.pxi", - "cpython/type.pxd", -}; -/* #### Code section: utility_code_proto_before_types ### */ -/* PyThreadTypeLockDecl.proto (used by PyMutexDecl) */ -#ifndef __PYX_HAVE_PYX_THREAD_TYPE_LOCK_DECL -#define __PYX_HAVE_PYX_THREAD_TYPE_LOCK_DECL -#define __Pyx_Locks_PyThreadTypeLock PyThread_type_lock -#define __Pyx_Locks_PyThreadTypeLock_DECL NULL -#endif - -/* PyMutexDecl.proto (used by PyMutex) */ -#ifndef __PYX_HAVE_PYX_PYMUTEX_DECL -#define __PYX_HAVE_PYX_PYMUTEX_DECL -#if PY_VERSION_HEX > 0x030d0000 && !defined(Py_LIMITED_API) -#define __Pyx_Locks_PyMutex PyMutex -#define __Pyx_Locks_PyMutex_DECL {0} -#else -#define __Pyx_Locks_PyMutex __Pyx_Locks_PyThreadTypeLock -#define __Pyx_Locks_PyMutex_DECL __Pyx_Locks_PyThreadTypeLock_DECL -#endif -#endif - -/* NoFastGil.proto */ -#define __Pyx_PyGILState_Ensure PyGILState_Ensure -#define __Pyx_PyGILState_Release PyGILState_Release -#define __Pyx_FastGIL_Remember() -#define __Pyx_FastGIL_Forget() -#define __Pyx_FastGilFuncInit() - -/* Atomics.proto (used by UnpackUnboundCMethod) */ -#include -#ifndef CYTHON_ATOMICS - #define CYTHON_ATOMICS 1 -#endif -#define __PYX_CYTHON_ATOMICS_ENABLED() CYTHON_ATOMICS -#define __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING() CYTHON_COMPILING_IN_CPYTHON_FREETHREADING -#define __pyx_atomic_int_type int -#define __pyx_nonatomic_int_type int -#if CYTHON_ATOMICS && (defined(__STDC_VERSION__) &&\ - (__STDC_VERSION__ >= 201112L) &&\ - !defined(__STDC_NO_ATOMICS__)) - #include -#elif CYTHON_ATOMICS && (defined(__cplusplus) && (\ - (__cplusplus >= 201103L) ||\ - (defined(_MSC_VER) && _MSC_VER >= 1700))) - #include -#endif -#if CYTHON_ATOMICS && (defined(__STDC_VERSION__) &&\ - (__STDC_VERSION__ >= 201112L) &&\ - !defined(__STDC_NO_ATOMICS__) &&\ - ATOMIC_INT_LOCK_FREE == 2) - #undef __pyx_atomic_int_type - #define __pyx_atomic_int_type atomic_int - #define __pyx_atomic_ptr_type atomic_uintptr_t - #define __pyx_nonatomic_ptr_type uintptr_t - #define __pyx_atomic_incr_relaxed(value) atomic_fetch_add_explicit(value, 1, memory_order_relaxed) - #define __pyx_atomic_incr_acq_rel(value) atomic_fetch_add_explicit(value, 1, memory_order_acq_rel) - #define __pyx_atomic_decr_acq_rel(value) atomic_fetch_sub_explicit(value, 1, memory_order_acq_rel) - #define __pyx_atomic_sub(value, arg) atomic_fetch_sub(value, arg) - #define __pyx_atomic_int_cmp_exchange(value, expected, desired) atomic_compare_exchange_strong(value, expected, desired) - #define __pyx_atomic_load(value) atomic_load(value) - #define __pyx_atomic_store(value, new_value) atomic_store(value, new_value) - #define __pyx_atomic_pointer_load_relaxed(value) atomic_load_explicit(value, memory_order_relaxed) - #define __pyx_atomic_pointer_load_acquire(value) atomic_load_explicit(value, memory_order_acquire) - #define __pyx_atomic_pointer_exchange(value, new_value) atomic_exchange(value, (__pyx_nonatomic_ptr_type)new_value) - #define __pyx_atomic_pointer_cmp_exchange(value, expected, desired) atomic_compare_exchange_strong(value, expected, desired) - #if defined(__PYX_DEBUG_ATOMICS) && defined(_MSC_VER) - #pragma message ("Using standard C atomics") - #elif defined(__PYX_DEBUG_ATOMICS) - #warning "Using standard C atomics" - #endif -#elif CYTHON_ATOMICS && (defined(__cplusplus) && (\ - (__cplusplus >= 201103L) ||\ -\ - (defined(_MSC_VER) && _MSC_VER >= 1700)) &&\ - ATOMIC_INT_LOCK_FREE == 2) - #undef __pyx_atomic_int_type - #define __pyx_atomic_int_type std::atomic_int - #define __pyx_atomic_ptr_type std::atomic_uintptr_t - #define __pyx_nonatomic_ptr_type uintptr_t - #define __pyx_atomic_incr_relaxed(value) std::atomic_fetch_add_explicit(value, 1, std::memory_order_relaxed) - #define __pyx_atomic_incr_acq_rel(value) std::atomic_fetch_add_explicit(value, 1, std::memory_order_acq_rel) - #define __pyx_atomic_decr_acq_rel(value) std::atomic_fetch_sub_explicit(value, 1, std::memory_order_acq_rel) - #define __pyx_atomic_sub(value, arg) std::atomic_fetch_sub(value, arg) - #define __pyx_atomic_int_cmp_exchange(value, expected, desired) std::atomic_compare_exchange_strong(value, expected, desired) - #define __pyx_atomic_load(value) std::atomic_load(value) - #define __pyx_atomic_store(value, new_value) std::atomic_store(value, new_value) - #define __pyx_atomic_pointer_load_relaxed(value) std::atomic_load_explicit(value, std::memory_order_relaxed) - #define __pyx_atomic_pointer_load_acquire(value) std::atomic_load_explicit(value, std::memory_order_acquire) - #define __pyx_atomic_pointer_exchange(value, new_value) std::atomic_exchange(value, (__pyx_nonatomic_ptr_type)new_value) - #define __pyx_atomic_pointer_cmp_exchange(value, expected, desired) std::atomic_compare_exchange_strong(value, expected, desired) - #if defined(__PYX_DEBUG_ATOMICS) && defined(_MSC_VER) - #pragma message ("Using standard C++ atomics") - #elif defined(__PYX_DEBUG_ATOMICS) - #warning "Using standard C++ atomics" - #endif -#elif CYTHON_ATOMICS && (__GNUC__ >= 5 || (__GNUC__ == 4 &&\ - (__GNUC_MINOR__ > 1 ||\ - (__GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ >= 2)))) - #define __pyx_atomic_ptr_type void* - #define __pyx_nonatomic_ptr_type void* - #define __pyx_atomic_incr_relaxed(value) __sync_fetch_and_add(value, 1) - #define __pyx_atomic_incr_acq_rel(value) __sync_fetch_and_add(value, 1) - #define __pyx_atomic_decr_acq_rel(value) __sync_fetch_and_sub(value, 1) - #define __pyx_atomic_sub(value, arg) __sync_fetch_and_sub(value, arg) - static CYTHON_INLINE int __pyx_atomic_int_cmp_exchange(__pyx_atomic_int_type* value, __pyx_nonatomic_int_type* expected, __pyx_nonatomic_int_type desired) { - __pyx_nonatomic_int_type old = __sync_val_compare_and_swap(value, *expected, desired); - int result = old == *expected; - *expected = old; - return result; - } - #define __pyx_atomic_load(value) __sync_fetch_and_add(value, 0) - #define __pyx_atomic_store(value, new_value) __sync_lock_test_and_set(value, new_value) - #define __pyx_atomic_pointer_load_relaxed(value) __sync_fetch_and_add(value, 0) - #define __pyx_atomic_pointer_load_acquire(value) __sync_fetch_and_add(value, 0) - #define __pyx_atomic_pointer_exchange(value, new_value) __sync_lock_test_and_set(value, (__pyx_atomic_ptr_type)new_value) - static CYTHON_INLINE int __pyx_atomic_pointer_cmp_exchange(__pyx_atomic_ptr_type* value, __pyx_nonatomic_ptr_type* expected, __pyx_nonatomic_ptr_type desired) { - __pyx_nonatomic_ptr_type old = __sync_val_compare_and_swap(value, *expected, desired); - int result = old == *expected; - *expected = old; - return result; - } - #ifdef __PYX_DEBUG_ATOMICS - #warning "Using GNU atomics" - #endif -#elif CYTHON_ATOMICS && defined(_MSC_VER) - #include - #undef __pyx_atomic_int_type - #define __pyx_atomic_int_type long - #define __pyx_atomic_ptr_type void* - #undef __pyx_nonatomic_int_type - #define __pyx_nonatomic_int_type long - #define __pyx_nonatomic_ptr_type void* - #pragma intrinsic (_InterlockedExchangeAdd, _InterlockedExchange, _InterlockedCompareExchange, _InterlockedCompareExchangePointer, _InterlockedExchangePointer) - #define __pyx_atomic_incr_relaxed(value) _InterlockedExchangeAdd(value, 1) - #define __pyx_atomic_incr_acq_rel(value) _InterlockedExchangeAdd(value, 1) - #define __pyx_atomic_decr_acq_rel(value) _InterlockedExchangeAdd(value, -1) - #define __pyx_atomic_sub(value, arg) _InterlockedExchangeAdd(value, -arg) - static CYTHON_INLINE int __pyx_atomic_int_cmp_exchange(__pyx_atomic_int_type* value, __pyx_nonatomic_int_type* expected, __pyx_nonatomic_int_type desired) { - __pyx_nonatomic_int_type old = _InterlockedCompareExchange(value, desired, *expected); - int result = old == *expected; - *expected = old; - return result; - } - #define __pyx_atomic_load(value) _InterlockedExchangeAdd(value, 0) - #define __pyx_atomic_store(value, new_value) _InterlockedExchange(value, new_value) - #define __pyx_atomic_pointer_load_relaxed(value) *(void * volatile *)value - #define __pyx_atomic_pointer_load_acquire(value) _InterlockedCompareExchangePointer(value, 0, 0) - #define __pyx_atomic_pointer_exchange(value, new_value) _InterlockedExchangePointer(value, (__pyx_atomic_ptr_type)new_value) - static CYTHON_INLINE int __pyx_atomic_pointer_cmp_exchange(__pyx_atomic_ptr_type* value, __pyx_nonatomic_ptr_type* expected, __pyx_nonatomic_ptr_type desired) { - __pyx_atomic_ptr_type old = _InterlockedCompareExchangePointer(value, desired, *expected); - int result = old == *expected; - *expected = old; - return result; - } - #ifdef __PYX_DEBUG_ATOMICS - #pragma message ("Using MSVC atomics") - #endif -#else - #undef CYTHON_ATOMICS - #define CYTHON_ATOMICS 0 - #ifdef __PYX_DEBUG_ATOMICS - #warning "Not using atomics" - #endif -#endif - -/* CriticalSectionsDefinition.proto (used by CriticalSections) */ -#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING -#define __Pyx_PyCriticalSection void* -#define __Pyx_PyCriticalSection2 void* -#define __Pyx_PyCriticalSection_End(cs) -#define __Pyx_PyCriticalSection2_End(cs) -#else -#define __Pyx_PyCriticalSection PyCriticalSection -#define __Pyx_PyCriticalSection2 PyCriticalSection2 -#define __Pyx_PyCriticalSection_End PyCriticalSection_End -#define __Pyx_PyCriticalSection2_End PyCriticalSection2_End -#endif - -/* CriticalSections.proto */ -#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING -#define __Pyx_PyCriticalSection_Begin(cs, arg) (void)(cs) -#define __Pyx_PyCriticalSection2_Begin(cs, arg1, arg2) (void)(cs) -#else -#define __Pyx_PyCriticalSection_Begin PyCriticalSection_Begin -#define __Pyx_PyCriticalSection2_Begin PyCriticalSection2_Begin -#endif -#if PY_VERSION_HEX < 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_BEGIN_CRITICAL_SECTION(o) { -#define __Pyx_END_CRITICAL_SECTION() } -#else -#define __Pyx_BEGIN_CRITICAL_SECTION Py_BEGIN_CRITICAL_SECTION -#define __Pyx_END_CRITICAL_SECTION Py_END_CRITICAL_SECTION -#endif - -/* IncludeStructmemberH.proto */ -#include - -/* ForceInitThreads.proto */ -#ifndef __PYX_FORCE_INIT_THREADS - #define __PYX_FORCE_INIT_THREADS 0 -#endif - -/* #### Code section: numeric_typedefs ### */ - -typedef npy_int8 __pyx_t_5numpy_int8_t; - -typedef npy_int16 __pyx_t_5numpy_int16_t; - -typedef npy_int32 __pyx_t_5numpy_int32_t; - -typedef npy_int64 __pyx_t_5numpy_int64_t; - -typedef npy_uint8 __pyx_t_5numpy_uint8_t; - -typedef npy_uint16 __pyx_t_5numpy_uint16_t; - -typedef npy_uint32 __pyx_t_5numpy_uint32_t; - -typedef npy_uint64 __pyx_t_5numpy_uint64_t; - -typedef npy_float32 __pyx_t_5numpy_float32_t; - -typedef npy_float64 __pyx_t_5numpy_float64_t; - -typedef npy_longlong __pyx_t_5numpy_longlong_t; - -typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; - -typedef npy_intp __pyx_t_5numpy_intp_t; - -typedef npy_uintp __pyx_t_5numpy_uintp_t; - -typedef npy_double __pyx_t_5numpy_float_t; - -typedef npy_double __pyx_t_5numpy_double_t; - -typedef npy_longdouble __pyx_t_5numpy_longdouble_t; -/* #### Code section: complex_type_declarations ### */ -/* Declarations.proto */ -#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus) - #ifdef __cplusplus - typedef ::std::complex< float > __pyx_t_float_complex; - #else - typedef float _Complex __pyx_t_float_complex; - #endif -#else - typedef struct { float real, imag; } __pyx_t_float_complex; -#endif -static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); - -/* Declarations.proto */ -#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus) - #ifdef __cplusplus - typedef ::std::complex< double > __pyx_t_double_complex; - #else - typedef double _Complex __pyx_t_double_complex; - #endif -#else - typedef struct { double real, imag; } __pyx_t_double_complex; -#endif -static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); - -/* Declarations.proto */ -#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus) - #ifdef __cplusplus - typedef ::std::complex< long double > __pyx_t_long_double_complex; - #else - typedef long double _Complex __pyx_t_long_double_complex; - #endif -#else - typedef struct { long double real, imag; } __pyx_t_long_double_complex; -#endif -static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(long double, long double); - -/* #### Code section: type_declarations ### */ - -/*--- Type declarations ---*/ -struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease; -struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease; -struct __pyx_obj_5talib_7_ta_lib_Stream; -struct __pyx_obj_5talib_7_ta_lib_AC_Stream; -struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream; -struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream; -struct __pyx_obj_5talib_7_ta_lib_AD_Stream; -struct __pyx_obj_5talib_7_ta_lib_ADD_Stream; -struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream; -struct __pyx_obj_5talib_7_ta_lib_ADR_Stream; -struct __pyx_obj_5talib_7_ta_lib_ADX_Stream; -struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream; -struct __pyx_obj_5talib_7_ta_lib_AO_Stream; -struct __pyx_obj_5talib_7_ta_lib_APO_Stream; -struct __pyx_obj_5talib_7_ta_lib_AROON_Stream; -struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream; -struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream; -struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream; -struct __pyx_obj_5talib_7_ta_lib_ATR_Stream; -struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream; -struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream; -struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream; -struct __pyx_obj_5talib_7_ta_lib_BETA_Stream; -struct __pyx_obj_5talib_7_ta_lib_BOP_Stream; -struct __pyx_obj_5talib_7_ta_lib_CCI_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream; -struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream; -struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream; -struct __pyx_obj_5talib_7_ta_lib_CMF_Stream; -struct __pyx_obj_5talib_7_ta_lib_CMO_Stream; -struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream; -struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream; -struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream; -struct __pyx_obj_5talib_7_ta_lib_COS_Stream; -struct __pyx_obj_5talib_7_ta_lib_COSH_Stream; -struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream; -struct __pyx_obj_5talib_7_ta_lib_CVI_Stream; -struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream; -struct __pyx_obj_5talib_7_ta_lib_DIV_Stream; -struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream; -struct __pyx_obj_5talib_7_ta_lib_DPO_Stream; -struct __pyx_obj_5talib_7_ta_lib_DX_Stream; -struct __pyx_obj_5talib_7_ta_lib_EFI_Stream; -struct __pyx_obj_5talib_7_ta_lib_EMA_Stream; -struct __pyx_obj_5talib_7_ta_lib_ER_Stream; -struct __pyx_obj_5talib_7_ta_lib_ERI_Stream; -struct __pyx_obj_5talib_7_ta_lib_EXP_Stream; -struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream; -struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream; -struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream; -struct __pyx_obj_5talib_7_ta_lib_HA_Stream; -struct __pyx_obj_5talib_7_ta_lib_HMA_Stream; -struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream; -struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream; -struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream; -struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream; -struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream; -struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream; -struct __pyx_obj_5talib_7_ta_lib_IMI_Stream; -struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream; -struct __pyx_obj_5talib_7_ta_lib_KC_Stream; -struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream; -struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream; -struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream; -struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream; -struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream; -struct __pyx_obj_5talib_7_ta_lib_LN_Stream; -struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream; -struct __pyx_obj_5talib_7_ta_lib_MA_Stream; -struct __pyx_obj_5talib_7_ta_lib_MACD_Stream; -struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream; -struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream; -struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream; -struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream; -struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream; -struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream; -struct __pyx_obj_5talib_7_ta_lib_MAX_Stream; -struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream; -struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream; -struct __pyx_obj_5talib_7_ta_lib_MFI_Stream; -struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream; -struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream; -struct __pyx_obj_5talib_7_ta_lib_MIN_Stream; -struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream; -struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream; -struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream; -struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream; -struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream; -struct __pyx_obj_5talib_7_ta_lib_MOM_Stream; -struct __pyx_obj_5talib_7_ta_lib_MULT_Stream; -struct __pyx_obj_5talib_7_ta_lib_NATR_Stream; -struct __pyx_obj_5talib_7_ta_lib_NVI_Stream; -struct __pyx_obj_5talib_7_ta_lib_OBV_Stream; -struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream; -struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream; -struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream; -struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream; -struct __pyx_obj_5talib_7_ta_lib_PPO_Stream; -struct __pyx_obj_5talib_7_ta_lib_PVI_Stream; -struct __pyx_obj_5talib_7_ta_lib_PVO_Stream; -struct __pyx_obj_5talib_7_ta_lib_PVT_Stream; -struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream; -struct __pyx_obj_5talib_7_ta_lib_RMA_Stream; -struct __pyx_obj_5talib_7_ta_lib_ROC_Stream; -struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream; -struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream; -struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream; -struct __pyx_obj_5talib_7_ta_lib_RSI_Stream; -struct __pyx_obj_5talib_7_ta_lib_RVI_Stream; -struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream; -struct __pyx_obj_5talib_7_ta_lib_SAR_Stream; -struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream; -struct __pyx_obj_5talib_7_ta_lib_SIN_Stream; -struct __pyx_obj_5talib_7_ta_lib_SINH_Stream; -struct __pyx_obj_5talib_7_ta_lib_SMA_Stream; -struct __pyx_obj_5talib_7_ta_lib_SMI_Stream; -struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream; -struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream; -struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream; -struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream; -struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream; -struct __pyx_obj_5talib_7_ta_lib_SUB_Stream; -struct __pyx_obj_5talib_7_ta_lib_SUM_Stream; -struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream; -struct __pyx_obj_5talib_7_ta_lib_T3_Stream; -struct __pyx_obj_5talib_7_ta_lib_TAN_Stream; -struct __pyx_obj_5talib_7_ta_lib_TANH_Stream; -struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream; -struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream; -struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream; -struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream; -struct __pyx_obj_5talib_7_ta_lib_TSF_Stream; -struct __pyx_obj_5talib_7_ta_lib_TSI_Stream; -struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream; -struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream; -struct __pyx_obj_5talib_7_ta_lib_VAR_Stream; -struct __pyx_obj_5talib_7_ta_lib_VHF_Stream; -struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream; -struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream; -struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream; -struct __pyx_obj_5talib_7_ta_lib_WAD_Stream; -struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream; -struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream; -struct __pyx_obj_5talib_7_ta_lib_WMA_Stream; -struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream; - -struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease { - PyObject_HEAD -}; - - -struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease { - PyObject_HEAD -}; - - -struct __pyx_obj_5talib_7_ta_lib_Stream { - PyObject_HEAD - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream *__pyx_vtab; - void *_handle; - int _begidx; - __Pyx_Locks_PyMutex _mutex; - PyObject *__weakref__; -}; - - -struct __pyx_obj_5talib_7_ta_lib_AC_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_AD_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ADD_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ADR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ADX_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_AO_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_APO_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_AROON_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ATR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_BETA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_BOP_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CCI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CMF_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CMO_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_COS_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_COSH_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_CVI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_DIV_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_DPO_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_DX_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_EFI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_EMA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ER_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ERI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_EXP_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_HA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_HMA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_IMI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_KC_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_LN_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MACD_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MAX_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MFI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MIN_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MOM_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_MULT_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_NATR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_NVI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_OBV_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_PPO_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_PVI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_PVO_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_PVT_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_RMA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ROC_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_RSI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_RVI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_SAR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_SIN_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_SINH_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_SMA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_SMI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_SUB_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_SUM_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_T3_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_TAN_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_TANH_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_TSF_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_TSI_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_VAR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_VHF_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_WAD_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_WMA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - -struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream { - struct __pyx_obj_5talib_7_ta_lib_Stream __pyx_base; -}; - - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_Stream { - TA_RetCode (*_out_range)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *); - TA_RetCode (*_advance)(struct __pyx_obj_5talib_7_ta_lib_Stream *); -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_Stream *__pyx_vtabptr_5talib_7_ta_lib_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_AC_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_AC_Stream *__pyx_vtabptr_5talib_7_ta_lib_AC_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ACCBANDS_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_vtabptr_5talib_7_ta_lib_ACCBANDS_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ACOS_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ACOS_Stream *__pyx_vtabptr_5talib_7_ta_lib_ACOS_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_AD_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_AD_Stream *__pyx_vtabptr_5talib_7_ta_lib_AD_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ADD_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ADD_Stream *__pyx_vtabptr_5talib_7_ta_lib_ADD_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ADOSC_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ADOSC_Stream *__pyx_vtabptr_5talib_7_ta_lib_ADOSC_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ADR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ADR_Stream *__pyx_vtabptr_5talib_7_ta_lib_ADR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ADX_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ADX_Stream *__pyx_vtabptr_5talib_7_ta_lib_ADX_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ADXR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ADXR_Stream *__pyx_vtabptr_5talib_7_ta_lib_ADXR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_AO_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_AO_Stream *__pyx_vtabptr_5talib_7_ta_lib_AO_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_APO_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_APO_Stream *__pyx_vtabptr_5talib_7_ta_lib_APO_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_AROON_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_AROON_Stream *__pyx_vtabptr_5talib_7_ta_lib_AROON_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_AROONOSC_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_AROONOSC_Stream *__pyx_vtabptr_5talib_7_ta_lib_AROONOSC_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ASIN_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ASIN_Stream *__pyx_vtabptr_5talib_7_ta_lib_ASIN_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ATAN_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ATAN_Stream *__pyx_vtabptr_5talib_7_ta_lib_ATAN_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ATR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ATR_Stream *__pyx_vtabptr_5talib_7_ta_lib_ATR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_AVGDEV_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_AVGDEV_Stream *__pyx_vtabptr_5talib_7_ta_lib_AVGDEV_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_AVGPRICE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_vtabptr_5talib_7_ta_lib_AVGPRICE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_BBANDS_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_BBANDS_Stream *__pyx_vtabptr_5talib_7_ta_lib_BBANDS_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_BETA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_BETA_Stream *__pyx_vtabptr_5talib_7_ta_lib_BETA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_BOP_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_BOP_Stream *__pyx_vtabptr_5talib_7_ta_lib_BOP_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CCI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CCI_Stream *__pyx_vtabptr_5talib_7_ta_lib_CCI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDL2CROWS_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDL2CROWS_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3BLACKCROWS_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDL3BLACKCROWS_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3INSIDE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDL3INSIDE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3LINESTRIKE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDL3LINESTRIKE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3OUTSIDE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDL3OUTSIDE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLABANDONEDBABY_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLABANDONEDBABY_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLBELTHOLD_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLBELTHOLD_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLBREAKAWAY_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLBREAKAWAY_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLDOJI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLDOJI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLDOJISTAR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLDOJISTAR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLENGULFING_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLENGULFING_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLEVENINGSTAR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLEVENINGSTAR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHAMMER_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLHAMMER_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHANGINGMAN_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLHANGINGMAN_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHARAMI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLHARAMI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHARAMICROSS_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLHARAMICROSS_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHIGHWAVE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLHIGHWAVE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHIKKAKE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLHIKKAKE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLINNECK_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLINNECK_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLKICKING_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLKICKING_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLLONGLINE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLLONGLINE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMARUBOZU_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLMARUBOZU_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMATCHINGLOW_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLMATCHINGLOW_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMATHOLD_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLMATHOLD_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMORNINGSTAR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLMORNINGSTAR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLONNECK_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLONNECK_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLPIERCING_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLPIERCING_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSHORTLINE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLSHORTLINE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSPINNINGTOP_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLSPINNINGTOP_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLTAKURI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLTAKURI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLTASUKIGAP_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLTASUKIGAP_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLTHRUSTING_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLTHRUSTING_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLTRISTAR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLTRISTAR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_vtabptr_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CEIL_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CEIL_Stream *__pyx_vtabptr_5talib_7_ta_lib_CEIL_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CMF_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CMF_Stream *__pyx_vtabptr_5talib_7_ta_lib_CMF_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CMO_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CMO_Stream *__pyx_vtabptr_5talib_7_ta_lib_CMO_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CMOU_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CMOU_Stream *__pyx_vtabptr_5talib_7_ta_lib_CMOU_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_COPPOCK_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_COPPOCK_Stream *__pyx_vtabptr_5talib_7_ta_lib_COPPOCK_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CORREL_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CORREL_Stream *__pyx_vtabptr_5talib_7_ta_lib_CORREL_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_COS_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_COS_Stream *__pyx_vtabptr_5talib_7_ta_lib_COS_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_COSH_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_COSH_Stream *__pyx_vtabptr_5talib_7_ta_lib_COSH_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CUMSUM_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CUMSUM_Stream *__pyx_vtabptr_5talib_7_ta_lib_CUMSUM_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_CVI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_CVI_Stream *__pyx_vtabptr_5talib_7_ta_lib_CVI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_DEMA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_DEMA_Stream *__pyx_vtabptr_5talib_7_ta_lib_DEMA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_DIV_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_DIV_Stream *__pyx_vtabptr_5talib_7_ta_lib_DIV_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_DONCHIAN_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_vtabptr_5talib_7_ta_lib_DONCHIAN_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_DPO_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_DPO_Stream *__pyx_vtabptr_5talib_7_ta_lib_DPO_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_DX_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_DX_Stream *__pyx_vtabptr_5talib_7_ta_lib_DX_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_EFI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_EFI_Stream *__pyx_vtabptr_5talib_7_ta_lib_EFI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_EMA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_EMA_Stream *__pyx_vtabptr_5talib_7_ta_lib_EMA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ER_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ER_Stream *__pyx_vtabptr_5talib_7_ta_lib_ER_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ERI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ERI_Stream *__pyx_vtabptr_5talib_7_ta_lib_ERI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_EXP_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_EXP_Stream *__pyx_vtabptr_5talib_7_ta_lib_EXP_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_FLOOR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_FLOOR_Stream *__pyx_vtabptr_5talib_7_ta_lib_FLOOR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_FOSC_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_FOSC_Stream *__pyx_vtabptr_5talib_7_ta_lib_FOSC_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_FRACTAL_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_FRACTAL_Stream *__pyx_vtabptr_5talib_7_ta_lib_FRACTAL_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_HA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_HA_Stream *__pyx_vtabptr_5talib_7_ta_lib_HA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_HMA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_HMA_Stream *__pyx_vtabptr_5talib_7_ta_lib_HMA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_HT_DCPERIOD_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_vtabptr_5talib_7_ta_lib_HT_DCPERIOD_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_HT_DCPHASE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_vtabptr_5talib_7_ta_lib_HT_DCPHASE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_HT_PHASOR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_vtabptr_5talib_7_ta_lib_HT_PHASOR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_HT_SINE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_HT_SINE_Stream *__pyx_vtabptr_5talib_7_ta_lib_HT_SINE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_HT_TRENDLINE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_vtabptr_5talib_7_ta_lib_HT_TRENDLINE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_HT_TRENDMODE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_vtabptr_5talib_7_ta_lib_HT_TRENDMODE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_IMI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_IMI_Stream *__pyx_vtabptr_5talib_7_ta_lib_IMI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_KAMA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_KAMA_Stream *__pyx_vtabptr_5talib_7_ta_lib_KAMA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_KC_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_KC_Stream *__pyx_vtabptr_5talib_7_ta_lib_KC_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_KDJ_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_KDJ_Stream *__pyx_vtabptr_5talib_7_ta_lib_KDJ_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_LINEARREG_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_LINEARREG_Stream *__pyx_vtabptr_5talib_7_ta_lib_LINEARREG_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_LINEARREG_ANGLE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_vtabptr_5talib_7_ta_lib_LINEARREG_ANGLE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_vtabptr_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_LINEARREG_SLOPE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_vtabptr_5talib_7_ta_lib_LINEARREG_SLOPE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_LN_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_LN_Stream *__pyx_vtabptr_5talib_7_ta_lib_LN_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_LOG10_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_LOG10_Stream *__pyx_vtabptr_5talib_7_ta_lib_LOG10_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MA_Stream *__pyx_vtabptr_5talib_7_ta_lib_MA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MACD_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MACD_Stream *__pyx_vtabptr_5talib_7_ta_lib_MACD_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MACDEXT_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MACDEXT_Stream *__pyx_vtabptr_5talib_7_ta_lib_MACDEXT_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MACDFIX_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MACDFIX_Stream *__pyx_vtabptr_5talib_7_ta_lib_MACDFIX_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MAMA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MAMA_Stream *__pyx_vtabptr_5talib_7_ta_lib_MAMA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MARKETFI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MARKETFI_Stream *__pyx_vtabptr_5talib_7_ta_lib_MARKETFI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MASSI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MASSI_Stream *__pyx_vtabptr_5talib_7_ta_lib_MASSI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MAVP_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MAVP_Stream *__pyx_vtabptr_5talib_7_ta_lib_MAVP_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MAX_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MAX_Stream *__pyx_vtabptr_5talib_7_ta_lib_MAX_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MAXINDEX_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_vtabptr_5talib_7_ta_lib_MAXINDEX_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MEDPRICE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_vtabptr_5talib_7_ta_lib_MEDPRICE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MFI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MFI_Stream *__pyx_vtabptr_5talib_7_ta_lib_MFI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MIDPOINT_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_vtabptr_5talib_7_ta_lib_MIDPOINT_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MIDPRICE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_vtabptr_5talib_7_ta_lib_MIDPRICE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MIN_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MIN_Stream *__pyx_vtabptr_5talib_7_ta_lib_MIN_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MININDEX_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MININDEX_Stream *__pyx_vtabptr_5talib_7_ta_lib_MININDEX_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MINMAX_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MINMAX_Stream *__pyx_vtabptr_5talib_7_ta_lib_MINMAX_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MINMAXINDEX_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_vtabptr_5talib_7_ta_lib_MINMAXINDEX_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MINUS_DI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_vtabptr_5talib_7_ta_lib_MINUS_DI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MINUS_DM_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_vtabptr_5talib_7_ta_lib_MINUS_DM_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MOM_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MOM_Stream *__pyx_vtabptr_5talib_7_ta_lib_MOM_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_MULT_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_MULT_Stream *__pyx_vtabptr_5talib_7_ta_lib_MULT_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_NATR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_NATR_Stream *__pyx_vtabptr_5talib_7_ta_lib_NATR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_NVI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_NVI_Stream *__pyx_vtabptr_5talib_7_ta_lib_NVI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_OBV_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_OBV_Stream *__pyx_vtabptr_5talib_7_ta_lib_OBV_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_PERCENTILE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_vtabptr_5talib_7_ta_lib_PERCENTILE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_PERCENTRANK_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_vtabptr_5talib_7_ta_lib_PERCENTRANK_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_PLUS_DI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_vtabptr_5talib_7_ta_lib_PLUS_DI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_PLUS_DM_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_vtabptr_5talib_7_ta_lib_PLUS_DM_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_PPO_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_PPO_Stream *__pyx_vtabptr_5talib_7_ta_lib_PPO_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_PVI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_PVI_Stream *__pyx_vtabptr_5talib_7_ta_lib_PVI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_PVO_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_PVO_Stream *__pyx_vtabptr_5talib_7_ta_lib_PVO_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_PVT_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_PVT_Stream *__pyx_vtabptr_5talib_7_ta_lib_PVT_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_QSTICK_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_QSTICK_Stream *__pyx_vtabptr_5talib_7_ta_lib_QSTICK_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_RMA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_RMA_Stream *__pyx_vtabptr_5talib_7_ta_lib_RMA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ROC_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ROC_Stream *__pyx_vtabptr_5talib_7_ta_lib_ROC_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ROCP_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ROCP_Stream *__pyx_vtabptr_5talib_7_ta_lib_ROCP_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ROCR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ROCR_Stream *__pyx_vtabptr_5talib_7_ta_lib_ROCR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ROCR100_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ROCR100_Stream *__pyx_vtabptr_5talib_7_ta_lib_ROCR100_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_RSI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_RSI_Stream *__pyx_vtabptr_5talib_7_ta_lib_RSI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_RVI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_RVI_Stream *__pyx_vtabptr_5talib_7_ta_lib_RVI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_RVOL_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_RVOL_Stream *__pyx_vtabptr_5talib_7_ta_lib_RVOL_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_SAR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_SAR_Stream *__pyx_vtabptr_5talib_7_ta_lib_SAR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_SAREXT_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_SAREXT_Stream *__pyx_vtabptr_5talib_7_ta_lib_SAREXT_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_SIN_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_SIN_Stream *__pyx_vtabptr_5talib_7_ta_lib_SIN_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_SINH_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_SINH_Stream *__pyx_vtabptr_5talib_7_ta_lib_SINH_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_SMA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_SMA_Stream *__pyx_vtabptr_5talib_7_ta_lib_SMA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_SMI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_SMI_Stream *__pyx_vtabptr_5talib_7_ta_lib_SMI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_SQRT_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_SQRT_Stream *__pyx_vtabptr_5talib_7_ta_lib_SQRT_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_STDDEV_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_STDDEV_Stream *__pyx_vtabptr_5talib_7_ta_lib_STDDEV_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_STOCH_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_STOCH_Stream *__pyx_vtabptr_5talib_7_ta_lib_STOCH_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_STOCHF_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_STOCHF_Stream *__pyx_vtabptr_5talib_7_ta_lib_STOCHF_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_STOCHRSI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_vtabptr_5talib_7_ta_lib_STOCHRSI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_SUB_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_SUB_Stream *__pyx_vtabptr_5talib_7_ta_lib_SUB_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_SUM_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_SUM_Stream *__pyx_vtabptr_5talib_7_ta_lib_SUM_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_SUPERTREND_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_vtabptr_5talib_7_ta_lib_SUPERTREND_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_T3_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_T3_Stream *__pyx_vtabptr_5talib_7_ta_lib_T3_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_TAN_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_TAN_Stream *__pyx_vtabptr_5talib_7_ta_lib_TAN_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_TANH_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_TANH_Stream *__pyx_vtabptr_5talib_7_ta_lib_TANH_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_TEMA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_TEMA_Stream *__pyx_vtabptr_5talib_7_ta_lib_TEMA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_TRANGE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_TRANGE_Stream *__pyx_vtabptr_5talib_7_ta_lib_TRANGE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_TRIMA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_TRIMA_Stream *__pyx_vtabptr_5talib_7_ta_lib_TRIMA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_TRIX_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_TRIX_Stream *__pyx_vtabptr_5talib_7_ta_lib_TRIX_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_TSF_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_TSF_Stream *__pyx_vtabptr_5talib_7_ta_lib_TSF_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_TSI_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_TSI_Stream *__pyx_vtabptr_5talib_7_ta_lib_TSI_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_TYPPRICE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_vtabptr_5talib_7_ta_lib_TYPPRICE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ULTOSC_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ULTOSC_Stream *__pyx_vtabptr_5talib_7_ta_lib_ULTOSC_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_VAR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_VAR_Stream *__pyx_vtabptr_5talib_7_ta_lib_VAR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_VHF_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_VHF_Stream *__pyx_vtabptr_5talib_7_ta_lib_VHF_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_VORTEX_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_VORTEX_Stream *__pyx_vtabptr_5talib_7_ta_lib_VORTEX_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_VWAP_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_VWAP_Stream *__pyx_vtabptr_5talib_7_ta_lib_VWAP_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_VWMA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_VWMA_Stream *__pyx_vtabptr_5talib_7_ta_lib_VWMA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_WAD_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_WAD_Stream *__pyx_vtabptr_5talib_7_ta_lib_WAD_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_WCLPRICE_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_vtabptr_5talib_7_ta_lib_WCLPRICE_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_WILLR_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_WILLR_Stream *__pyx_vtabptr_5talib_7_ta_lib_WILLR_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_WMA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_WMA_Stream *__pyx_vtabptr_5talib_7_ta_lib_WMA_Stream; - - - -struct __pyx_vtabstruct_5talib_7_ta_lib_ZLEMA_Stream { - struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_base; -}; -static struct __pyx_vtabstruct_5talib_7_ta_lib_ZLEMA_Stream *__pyx_vtabptr_5talib_7_ta_lib_ZLEMA_Stream; -/* #### Code section: utility_code_proto ### */ - -/* --- Runtime support code (head) --- */ -/* Refnanny.proto */ -#ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 -#endif -#if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, Py_ssize_t); - void (*DECREF)(void*, PyObject*, Py_ssize_t); - void (*GOTREF)(void*, PyObject*, Py_ssize_t); - void (*GIVEREF)(void*, PyObject*, Py_ssize_t); - void* (*SetupContext)(const char*, Py_ssize_t, const char*); - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); - #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - if (acquire_gil) {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - PyGILState_Release(__pyx_gilstate_save);\ - } else {\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - } - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } - #define __Pyx_RefNannyFinishContext()\ - __Pyx_RefNanny->FinishContext(&__pyx_refnanny) - #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_XINCREF(r) do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0) - #define __Pyx_XDECREF(r) do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0) - #define __Pyx_XGOTREF(r) do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0) - #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0) -#else - #define __Pyx_RefNannyDeclarations - #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContextNogil() - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) - #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) - #define __Pyx_XGOTREF(r) - #define __Pyx_XGIVEREF(r) -#endif -#define __Pyx_Py_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; Py_XDECREF(tmp);\ - } while (0) -#define __Pyx_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_XDECREF(tmp);\ - } while (0) -#define __Pyx_DECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_DECREF(tmp);\ - } while (0) -#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - -/* FastTypeChecks.proto (used by GivenExceptionMatches) */ -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2) -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b); -#define __Pyx_PyAnySet_Check(obj) __Pyx_TypeCheck2(obj, &PySet_Type, &PyFrozenSet_Type) -#else -#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2)) -#define __Pyx_PyAnySet_Check(obj) PyAnySet_Check(obj) -#endif - -/* PyThreadStateGet.proto (used by PyErrFetchRestore) */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; -#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; -#if PY_VERSION_HEX >= 0x030C00A6 -#define __Pyx_PyErr_Occurred() (__pyx_tstate->current_exception != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL) -#else -#define __Pyx_PyErr_Occurred() (__pyx_tstate->curexc_type != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->curexc_type) -#endif -#else -#define __Pyx_PyThreadState_declare -#define __Pyx_PyThreadState_assign -#define __Pyx_PyErr_Occurred() (PyErr_Occurred() != NULL) -#define __Pyx_PyErr_CurrentExceptionType() PyErr_Occurred() -#endif - -/* PyErrFetchRestore.proto (used by GivenExceptionMatches) */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) -#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6 -#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) -#else -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#endif -#else -#define __Pyx_PyErr_Clear() PyErr_Clear() -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) -#endif - -/* GivenExceptionMatches.proto (used by PyErrExceptionMatches) */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); -#else -#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2) { - return PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2); -} -#endif -#define __Pyx_PyErr_ExceptionMatches2(err1, err2) __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2) - -/* PyErrExceptionMatches.proto (used by PyObjectGetAttrStrNoError) */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) -static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); -#else -#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) -#endif - -/* PyObjectGetAttrStr.proto (used by PyObjectGetAttrStrNoError) */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) -#endif - -/* PyObjectGetAttrStrNoError.proto (used by GetBuiltinName) */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); - -/* GetBuiltinName.proto */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name); - -/* GetTopmostException.proto (used by SaveResetException) */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); -#endif - -/* SaveResetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -#else -#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) -#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) -#endif - -/* PyException_Check.proto */ -#define __Pyx_PyExc_Exception_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) - -/* GetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* PyImportError_Check.proto */ -#define __Pyx_PyExc_ImportError_Check(obj) __Pyx_TypeCheck(obj, PyExc_ImportError) - -/* PyObjectCall.proto (used by PyObjectFastCall) */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); -#else -#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) -#endif - -/* PyObjectCallMethO.proto (used by PyObjectFastCall) */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); -#endif - -/* PyObjectFastCall.proto */ -#define __Pyx_PyObject_FastCall(func, args, nargs) __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL) -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject * const*args, size_t nargsf, PyObject *kwargs); - -/* RaiseException.export */ -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - -/* PyThreadTypeLock.proto (used by PyMutex) */ -#define __Pyx_Locks_PyThreadTypeLock_Init(l) l = PyThread_allocate_lock() -#define __Pyx_Locks_PyThreadTypeLock_Delete(l) PyThread_free_lock(l) -#define __Pyx_Locks_PyThreadTypeLock_LockNogil(l) (void)PyThread_acquire_lock(l, WAIT_LOCK) -#define __Pyx_Locks_PyThreadTypeLock_Unlock(l) PyThread_release_lock(l) -static CYTHON_INLINE int __Pyx_Locks_PyThreadTypeLock_CanCheckLocked(__Pyx_Locks_PyThreadTypeLock lock); -static int __Pyx__Locks_PyThreadTypeLock_Locked(__Pyx_Locks_PyThreadTypeLock lock); -static void __Pyx__Locks_PyThreadTypeLock_Lock(__Pyx_Locks_PyThreadTypeLock lock); -static void __Pyx__Locks_PyThreadTypeLock_LockGil(__Pyx_Locks_PyThreadTypeLock lock); -static CYTHON_INLINE void __Pyx_Locks_PyThreadTypeLock_Lock(__Pyx_Locks_PyThreadTypeLock lock) { - __Pyx__Locks_PyThreadTypeLock_Lock(lock); -} -static CYTHON_INLINE void __Pyx_Locks_PyThreadTypeLock_LockGil(__Pyx_Locks_PyThreadTypeLock lock) { - __Pyx__Locks_PyThreadTypeLock_LockGil(lock); -} -static CYTHON_INLINE int __Pyx_Locks_PyThreadTypeLock_Locked(__Pyx_Locks_PyThreadTypeLock lock) { - return __Pyx__Locks_PyThreadTypeLock_Locked(lock); -} - -/* PyMutex.proto */ -#if PY_VERSION_HEX > 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_Locks_PyMutex_Init(l) (void)(l) -#define __Pyx_Locks_PyMutex_Delete(l) (void)(l) -#define __Pyx_Locks_PyMutex_Lock(l) PyMutex_Lock(&l) -#define __Pyx_Locks_PyMutex_Unlock(l) PyMutex_Unlock(&l) -#define __Pyx_Locks_PyMutex_LockGil(l) PyMutex_Lock(&l) -#define __Pyx_Locks_PyMutex_LockNogil(l) PyMutex_Lock(&l) -#if PY_VERSION_HEX >= 0x030e00C1 -#define __Pyx_Locks_PyMutex_Locked(l) PyMutex_IsLocked(&(l)) -#else -#define __Pyx_Locks_PyMutex_Locked(l)\ - ((int)(_Py_atomic_load_uint8_relaxed(&(l)._bits) & _Py_LOCKED)) -#endif -#define __Pyx_Locks_PyMutex_CanCheckLocked(l) (CYTHON_UNUSED_VAR(l), 1) -#else -#define __Pyx_Locks_PyMutex_Init(l) __Pyx_Locks_PyThreadTypeLock_Init(l) -#define __Pyx_Locks_PyMutex_Delete(l) __Pyx_Locks_PyThreadTypeLock_Delete(l) -#define __Pyx_Locks_PyMutex_Lock(l) __Pyx_Locks_PyThreadTypeLock_Lock(l) -#define __Pyx_Locks_PyMutex_Unlock(l) __Pyx_Locks_PyThreadTypeLock_Unlock(l) -#define __Pyx_Locks_PyMutex_LockGil(l) __Pyx_Locks_PyThreadTypeLock_LockGil(l) -#define __Pyx_Locks_PyMutex_LockNogil(l) __Pyx_Locks_PyThreadTypeLock_LockNogil(l) -#define __Pyx_Locks_PyMutex_Locked(l) __Pyx_Locks_PyThreadTypeLock_Locked(l) -#define __Pyx_Locks_PyMutex_CanCheckLocked(l) __Pyx_Locks_PyThreadTypeLock_CanCheckLocked(l) -#endif - -/* PyRuntimeError_Check.proto */ -#define __Pyx_PyExc_RuntimeError_Check(obj) __Pyx_TypeCheck(obj, PyExc_RuntimeError) - -/* CopyObjectArray.proto (used by TupleOrListFromArrayImpl) */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length); -#endif - -/* TupleOrListFromArrayImpl.proto (used by TupleFromArray) */ -#if PY_VERSION_HEX >= 0x030F0000 && !CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_PyTuple_FromArray(src, n) PyTuple_FromArray(src, ((n)<0) ? 0 : (n)) -#else -CYTHON_UNUSED static PyObject * -__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n); -#endif - -/* TupleFromArray.proto (used by fastcall) */ - - -/* IncludeStringH.proto (used by PyObjectCompare) */ -#include - -/* PyObjectCompare.proto (used by UnicodeEquals) */ -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolEq_str_str(PyObject *op1, PyObject *op2, int pyop); - -/* UnicodeEquals.proto (used by fastcall) */ -#define __Pyx_PyUnicode_Equals(s1, s2) __Pyx_PyObject_CompareBoolEq_str_str(s1, s2, Py_EQ) - -/* fastcall.proto */ -#if CYTHON_AVOID_BORROWED_REFS - #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_PySequence_ITEM(args, i) -#elif CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_NewRef(__Pyx_PyTuple_GET_ITEM(args, i)) -#else - #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_XNewRef(PyTuple_GetItem(args, i)) -#endif -#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds) -#define __Pyx_KwValues_VARARGS(args, nargs) NULL -#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s) -#define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw) -#if CYTHON_VECTORCALL - #define __Pyx_ArgRef_FASTCALL(args, i) __Pyx_NewRef(args[i]) - #define __Pyx_NumKwargs_FASTCALL(kwds) __Pyx_PyTuple_GET_SIZE(kwds) - #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs)) - static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_GRAAL - CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues); - #else - #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw) - #endif -#else - #define __Pyx_ArgRef_FASTCALL __Pyx_ArgRef_VARARGS - #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS - #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS - #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS - #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS -#endif -#if CYTHON_VECTORCALL_TPNEW - #if !CYTHON_VECTORCALL - #error Enabling CYTHON_VECTORCALL_TPNEW without CYTHON_VECTORCALL is not supported - #endif - #define __Pyx_ArgRef_FASTCALL_TPNEW __Pyx_ArgRef_FASTCALL - #define __Pyx_NumKwargs_FASTCALL_TPNEW __Pyx_NumKwargs_FASTCALL - #define __Pyx_KwValues_FASTCALL_TPNEW __Pyx_KwValues_FASTCALL - #define __Pyx_GetKwValue_FASTCALL_TPNEW __Pyx_GetKwValue_FASTCALL - #define __Pyx_KwargsAsDict_FASTCALL_TPNEW __Pyx_KwargsAsDict_FASTCALL -#else - #define __Pyx_ArgRef_FASTCALL_TPNEW __Pyx_ArgRef_VARARGS - #define __Pyx_NumKwargs_FASTCALL_TPNEW __Pyx_NumKwargs_VARARGS - #define __Pyx_KwValues_FASTCALL_TPNEW __Pyx_KwValues_VARARGS - #define __Pyx_GetKwValue_FASTCALL_TPNEW __Pyx_GetKwValue_VARARGS - #define __Pyx_KwargsAsDict_FASTCALL_TPNEW __Pyx_KwargsAsDict_VARARGS -#endif -#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop) -#if CYTHON_VECTORCALL -#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(args + start, stop - start) -#else -#define __Pyx_ArgsSlice_FASTCALL __Pyx_ArgsSlice_VARARGS -#endif - -/* RaiseArgTupleInvalid.export */ -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); - -/* py_dict_items.proto (used by OwnedDictNext) */ -#define __Pyx_PyDict_items_TypePtr (&PyDictKeys_Type) -#define __Pyx_PyDict_items_Check(obj) PyObject_TypeCheck((obj), __Pyx_PyDictItems_TypePtr) -#define __Pyx_PyDict_items_CheckExact(obj) Py_IS_TYPE((obj), __Pyx_PyDictItems_TypePtr) -static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d); - -/* CallCFunction.proto (used by CallUnboundCMethod0) */ -#define __Pyx_CallCFunction(cfunc, self, args)\ - ((PyCFunction)(void(*)(void))(cfunc)->func)(self, args) -#define __Pyx_CallCFunctionWithKeywords(cfunc, self, args, kwargs)\ - ((PyCFunctionWithKeywords)(void(*)(void))(cfunc)->func)(self, args, kwargs) -#define __Pyx_CallCFunctionFast(cfunc, self, args, nargs)\ - ((__Pyx_PyCFunctionFast)(void(*)(void))(PyCFunction)(cfunc)->func)(self, args, nargs) -#define __Pyx_CallCFunctionFastWithKeywords(cfunc, self, args, nargs, kwnames)\ - ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))(PyCFunction)(cfunc)->func)(self, args, nargs, kwnames) - -/* PyObjectCallOneArg.proto (used by CallUnboundCMethod0) */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); - -/* UnpackUnboundCMethod_decl.proto (used by UnpackUnboundCMethod) */ -typedef struct { - PyObject *type; - PyObject **method_name; - PyCFunction func; - PyObject *method; - int flag; -#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && CYTHON_ATOMICS - __pyx_atomic_int_type initialized; -#endif -} __Pyx_CachedCFunction; - -/* IgnoreException.proto (used by UnpackUnboundCMethod_impl) */ -static CYTHON_INLINE int __Pyx_IgnoreGivenException(PyObject *given_exception, PyObject *ignorable_exception); -#define __Pyx_IgnoreException(ignorable_exception) __Pyx_IgnoreGivenException(NULL, ignorable_exception) - -/* UnpackUnboundCMethod_impl.export */ -static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target); - -/* UnpackUnboundCMethod.proto (used by CallUnboundCMethod0) */ -#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING -static CYTHON_INLINE int __Pyx_CachedCFunction_GetAndSetInitializing(__Pyx_CachedCFunction *cfunc) { -#if !CYTHON_ATOMICS - return 1; -#else - __pyx_nonatomic_int_type expected = 0; - if (__pyx_atomic_int_cmp_exchange(&cfunc->initialized, &expected, 1)) { - return 0; - } - return expected; -#endif -} -static CYTHON_INLINE void __Pyx_CachedCFunction_SetFinishedInitializing(__Pyx_CachedCFunction *cfunc) { -#if CYTHON_ATOMICS - __pyx_atomic_store(&cfunc->initialized, 2); -#endif -} -#else -#define __Pyx_CachedCFunction_GetAndSetInitializing(cfunc) 2 -#define __Pyx_CachedCFunction_SetFinishedInitializing(cfunc) -#endif - -/* CallUnboundCMethod0.proto */ -CYTHON_UNUSED -static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self); -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self); -#else -#define __Pyx_CallUnboundCMethod0(cfunc, self) __Pyx__CallUnboundCMethod0(cfunc, self) -#endif - -/* py_dict_values.proto (used by OwnedDictNext) */ -#define __Pyx_PyDict_values_TypePtr (&PyDictKeys_Type) -#define __Pyx_PyDict_values_Check(obj) PyObject_TypeCheck((obj), __Pyx_PyDictValues_TypePtr) -#define __Pyx_PyDict_values_CheckExact(obj) Py_IS_TYPE((obj), __Pyx_PyDictValues_TypePtr) -static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d); - -/* OwnedDictNext.proto (used by RejectKeywords) */ -#if CYTHON_AVOID_BORROWED_REFS -static int __Pyx_PyDict_NextRef(PyObject *p, PyObject **ppos, PyObject **pkey, PyObject **pvalue); -#else -CYTHON_INLINE -static int __Pyx_PyDict_NextRef(PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue); -#endif - -/* RejectKeywords.export */ -static void __Pyx_RejectKeywords(const char* function_name, PyObject *kwds); - -/* GetAttr3.proto */ -static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *); - -/* PyDictVersioning.proto (used by GetModuleGlobalName) */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) -#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ - (version_var) = __PYX_GET_DICT_VERSION(dict);\ - (cache_var) = (value); -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ - (VAR) = __Pyx_XNewRef(__pyx_dict_cached_value);\ - } else {\ - (VAR) = __pyx_dict_cached_value = (LOOKUP);\ - __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ - }\ -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); -#else -#define __PYX_GET_DICT_VERSION(dict) (0) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); -#endif - -/* GetModuleGlobalName.proto */ -#if CYTHON_USE_DICT_VERSIONS -#define __Pyx_GetModuleGlobalName(var, name) do {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_mstate_global->__pyx_d))) ?\ - (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ - __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ - PY_UINT64_T __pyx_dict_version;\ - PyObject *__pyx_dict_cached_value;\ - (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); -#else -#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) -#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); -#endif - -/* RaiseDoubleKeywords.proto (used by ParseKeywordsImpl) */ -static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); - -/* ParseKeywordsImpl.export */ -static int __Pyx_ParseKeywordsTuple( - PyObject *kwds, - PyObject * const *kwvalues, - PyObject ** const argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - Py_ssize_t num_kwargs, - const char* function_name, - int ignore_unknown_kwargs -); -static int __Pyx_ParseKeywordDictToDict( - PyObject *kwds, - PyObject ** const argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - const char* function_name -); -static int __Pyx_ParseKeywordDict( - PyObject *kwds, - PyObject ** const argnames[], - PyObject *values[], - Py_ssize_t num_pos_args, - Py_ssize_t num_kwargs, - const char* function_name, - int ignore_unknown_kwargs -); - -/* CallUnboundCMethod2.proto */ -CYTHON_UNUSED -static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2); -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2); -#else -#define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2) __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2) -#endif - -/* ParseKeywords.proto */ -static CYTHON_INLINE int __Pyx_ParseKeywords( - PyObject *kwds, PyObject *const *kwvalues, PyObject ** const argnames[], - PyObject *kwds2, PyObject *values[], - Py_ssize_t num_pos_args, Py_ssize_t num_kwargs, - const char* function_name, - int ignore_unknown_kwargs -); - -/* FormatTypeName.proto (used by RaiseErrorWithObjectType1) */ -#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX >= 0x030d0000 -typedef PyObject *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%N" -#define __Pyx_PyType_GetFullyQualifiedName(tp) Py_NewRef((PyObject*)tp) -#define __Pyx_DECREF_TypeName(obj) Py_DECREF(obj) -#elif CYTHON_COMPILING_IN_LIMITED_API -typedef PyObject *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%U" -#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj) -static __Pyx_TypeName __Pyx_PyType_GetFullyQualifiedName(PyTypeObject* tp); -#else // !LIMITED_API -typedef const char *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%.200s" -#define __Pyx_PyType_GetFullyQualifiedName(tp) ((tp)->tp_name) -#define __Pyx_DECREF_TypeName(obj) -#endif - -/* RaiseErrorWithObjectType1.proto (used by RaiseUnexpectedTypeError) */ -#define __Pyx_RaiseTypeErrorWithObjectType1(message, arg, obj) __Pyx_RaiseErrorWithObjectType1(PyExc_TypeError, message, arg, obj) -#define __Pyx_RaiseErrorWithObjectType1(exc_type, message, arg, obj) __Pyx_RaiseErrorWithType1(exc_type, message, arg, Py_TYPE(obj)) -CYTHON_UNUSED -static void __Pyx_RaiseErrorWithType1(PyObject* exc_type, const char* message, const char *arg, PyTypeObject *type_obj); - -/* RaiseUnexpectedTypeError.proto */ -CYTHON_UNUSED -static int __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj); - -/* PyUnicode_Unicode.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj); - -/* BuildPyUnicode.proto (used by COrdinalToPyUnicode) */ -static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength, const char* chars, int clength, - int prepend_sign, char padding_char); - -/* COrdinalToPyUnicode.proto (used by CIntToPyUnicode) */ -static CYTHON_INLINE int __Pyx_CheckUnicodeValue(int value); -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromOrdinal_Padded(int value, Py_ssize_t width, char padding_char); - -/* GCCDiagnostics.proto (used by CIntToPyUnicode) */ -#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -#define __Pyx_HAS_GCC_DIAGNOSTIC -#endif - -/* IncludeStdlibH.proto (used by CIntToPyUnicode) */ -#include - -/* CIntToPyUnicode.proto */ -#define __Pyx_PyUnicode_From_TA_RetCode(value, width, padding_char, format_char) (\ - ((format_char) == ('c')) ?\ - __Pyx_uchar___Pyx_PyUnicode_From_TA_RetCode(value, width, padding_char) :\ - __Pyx____Pyx_PyUnicode_From_TA_RetCode(value, width, padding_char, format_char)\ - ) -static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_TA_RetCode(TA_RetCode value, Py_ssize_t width, char padding_char); -static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_TA_RetCode(TA_RetCode value, Py_ssize_t width, char padding_char, char format_char); - -/* JoinPyUnicode.proto */ -#define __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH\ - (!CYTHON_COMPILING_IN_GRAAL && !CYTHON_COMPILING_IN_PYPY && !CYTHON_COMPILING_IN_LIMITED_API) - -/* JoinPyUnicode.export */ -static PyObject* __Pyx_PyUnicode_Join(PyObject** values, Py_ssize_t value_count, Py_ssize_t result_ulength, int kind); - -/* ArgTypeTestError.export */ -static void __Pyx_ArgTypeError(PyObject *obj, PyTypeObject *type, const char *name, int exact); - -/* ArgTypeTest.proto */ -static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, const char *name, int exact); - -/* PyObjectLookupSpecial.proto */ -#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -#define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 0) -#define __Pyx_PyObject_LookupSpecial(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 1) -static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error); -#else -#define __Pyx_PyObject_LookupSpecialNoError(o,n) __Pyx_PyObject_GetAttrStrNoError(o,n) -#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) -#endif - -/* SwapException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* PyObjectDelAttr.proto (used by PyObjectSetAttrStr) */ -#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000 -#define __Pyx_PyObject_DelAttr(o, n) PyObject_SetAttr(o, n, NULL) -#else -#define __Pyx_PyObject_DelAttr(o, n) PyObject_DelAttr(o, n) -#endif - -/* PyObjectSetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL) -static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value); -#else -#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_DelAttr(o,n) -#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v) -#endif - -/* PyFrozenDict.proto (used by GetItemInt) */ -#if CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_PyFrozenDict_TypePtr ((PyTypeObject*) __pyx_mstate_global->__Pyx_PyFrozenDictType) -#define __Pyx_PyFrozenDict_New(it) __Pyx__PyFrozenDict_New(__pyx_mstate_global->__Pyx_PyFrozenDictType, it) -static CYTHON_INLINE PyObject* __Pyx__PyFrozenDict_New(PyObject* frozendict_type, PyObject* it); -#define __Pyx_PyFrozenDict_NewEmpty() __Pyx_PyFrozenDict_New(NULL) -#define __Pyx_PyFrozenDict_Check(obj) PyObject_TypeCheck((obj), __Pyx_PyFrozenDict_TypePtr) -#define __Pyx_PyFrozenDict_CheckExact(obj) Py_IS_TYPE((obj), __Pyx_PyFrozenDict_TypePtr) -#define __Pyx_PyAnyDict_Check(obj) __Pyx__PyAnyDict_Check(obj, __Pyx_PyFrozenDict_TypePtr) -static CYTHON_INLINE int __Pyx__PyAnyDict_Check(PyObject *obj, PyTypeObject* frozendict_type) { - return PyObject_TypeCheck(obj, &PyDict_Type) || PyObject_TypeCheck(obj, frozendict_type); -} -#define __Pyx_PyAnyDict_CheckExact(obj) __Pyx__PyAnyDict_CheckExact(obj, __Pyx_PyFrozenDict_TypePtr) -static CYTHON_INLINE int __Pyx__PyAnyDict_CheckExact(PyObject *obj, PyTypeObject* frozendict_type) { - return Py_IS_TYPE(obj, &PyDict_Type) || Py_IS_TYPE(obj, frozendict_type); -} -#elif PY_VERSION_HEX >= 0x030f00a6 ||\ - (defined(PyFrozenDict_Check) && defined(PyAnyDict_Check) && defined(PyFrozenDict_New)) -#define __Pyx_PyFrozenDict_TypePtr (&PyFrozenDict_Type) -#define __Pyx_PyFrozenDict_New(it) PyFrozenDict_New(it) -#define __Pyx_PyFrozenDict_NewEmpty() PyFrozenDict_New(NULL) -#define __Pyx_PyFrozenDict_Check(obj) PyFrozenDict_Check(obj) -#define __Pyx_PyFrozenDict_CheckExact(obj) PyFrozenDict_CheckExact(obj) -#define __Pyx_PyAnyDict_Check(obj) PyAnyDict_Check(obj) -#define __Pyx_PyAnyDict_CheckExact(obj) PyAnyDict_CheckExact(obj) -#else -#define __Pyx_PyFrozenDict_TypePtr (&PyDict_Type) -static CYTHON_INLINE PyObject* __Pyx_PyFrozenDict_New(PyObject* it) { - if (!it) { - return PyDict_New(); - } else if (PyDict_Check(it)) { - return PyDict_Copy(it); - } else { - PyObject *dict = PyDict_New(); - if (!dict) return NULL; - PyObject *result = PyNumber_InPlaceOr(dict, it); - Py_DECREF(dict); - return result; - } -} -#define __Pyx_PyFrozenDict_NewEmpty() PyDict_New() -#define __Pyx_PyFrozenDict_Check(obj) PyDict_Check(obj) -#define __Pyx_PyFrozenDict_CheckExact(obj) PyDict_CheckExact(obj) -#define __Pyx_PyAnyDict_Check(obj) PyDict_Check(obj) -#define __Pyx_PyAnyDict_CheckExact(obj) PyDict_CheckExact(obj) -#endif - -/* GetItemInt.proto */ -#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, wraparound, boundscheck, has_gil, unsafe_shared)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, wraparound, boundscheck, unsafe_shared) :\ - __Pyx_GetItemInt_Generic(o, to_py_func(i))) -#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, wraparound, boundscheck, has_gil, unsafe_shared)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck, unsafe_shared) :\ - (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck, int unsafe_shared); -#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, wraparound, boundscheck, has_gil, unsafe_shared)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck, unsafe_shared) :\ - (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck, int unsafe_shared); -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck, int unsafe_shared); - -/* RaiseErrorWithObjectType.proto (used by ObjectGetItem) */ -#define __Pyx_RaiseTypeErrorWithObjectType(message, obj) __Pyx_RaiseErrorWithObjectType(PyExc_TypeError, message, obj) -#define __Pyx_RaiseErrorWithObjectType(exc_type, message, obj) __Pyx_RaiseErrorWithType(exc_type, message, Py_TYPE(obj)) -CYTHON_UNUSED -static void __Pyx_RaiseErrorWithType(PyObject* exc_type, const char* message, PyTypeObject *type_obj); - -/* ObjectGetItem.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key); -#else -#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) -#endif - -/* PySequenceContains.proto */ -static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) { - int result = PySequence_Contains(seq, item); - return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); -} - -/* PyObjectFormatAndDecref.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatSimpleAndDecref(PyObject* s, PyObject* f); -static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatAndDecref(PyObject* s, PyObject* f); - -/* PyDeprecationWarning_Check.proto */ -#define __Pyx_PyExc_DeprecationWarning_Check(obj) __Pyx_TypeCheck(obj, PyExc_DeprecationWarning) - -/* PyObjectVectorcallKwds.proto */ -#if CYTHON_VECTORCALL -#define __Pyx_Object_VectorcallKwds PyObject_Vectorcall -CYTHON_UNUSED static int __Pyx_CheckVectorcallKwarg(PyObject *kwnames, Py_ssize_t i); -#else -#define __Pyx_Object_VectorcallKwds __Pyx_PyObject_FastCallDict -CYTHON_UNUSED static PyObject *__Pyx_MakeKwargDict(PyObject **keys, PyObject **values, Py_ssize_t n); -CYTHON_UNUSED static int __Pyx_CheckVectorcallKwarg(PyObject **kwnames, Py_ssize_t i); -#endif - -/* PyObjectFastCallMethod.proto */ -#if CYTHON_VECTORCALL -#define __Pyx_PyObject_FastCallMethod(name, args, nargsf) PyObject_VectorcallMethod(name, args, nargsf, NULL) -#else -static PyObject *__Pyx_PyObject_FastCallMethod(PyObject *name, PyObject *const *args, size_t nargsf); -#endif - -/* HasAttr.proto */ -#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000 -#define __Pyx_HasAttr(o, n) PyObject_HasAttrWithError(o, n) -#else -static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); -#endif - -/* PyRange_Check.proto */ -#if CYTHON_COMPILING_IN_PYPY && !defined(PyRange_Check) - #define PyRange_Check(obj) __Pyx_TypeCheck((obj), &PyRange_Type) -#endif - -/* DictGetItem.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); -#define __Pyx_PyObject_Dict_GetItem(obj, name)\ - (likely(__Pyx_PyAnyDict_CheckExact(obj)) ?\ - __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) -#else -#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) -#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) -#endif - -/* RaiseTooManyValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); - -/* RaiseNeedMoreValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); - -/* IterFinish.proto */ -static CYTHON_INLINE int __Pyx_IterFinish(void); - -/* UnpackItemEndCheck.proto */ -static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); - -/* ListAppend.proto */ -#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE -static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x); -#else -#define __Pyx_PyList_Append(L,x) PyList_Append(L,x) -#endif - -/* PyObjectCallMethod0.proto (used by dict_iter_common) */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name); - -/* RaiseNoneIterError.proto (used by UnpackTupleError) */ -static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); - -/* UnpackTupleError.proto (used by UnpackTuple2) */ -static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); - -/* UnpackTuple2.proto (used by dict_iter_common) */ -static CYTHON_INLINE int __Pyx_unpack_tuple2( - PyObject* tuple, PyObject** value1, PyObject** value2, int is_tuple, int has_known_size, int decref_tuple); -static CYTHON_INLINE int __Pyx_unpack_tuple2_exact( - PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple); -static int __Pyx_unpack_tuple2_generic( - PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple); - -/* dict_iter_common.proto (used by dict_iter) */ -static PyObject *__Pyx_dict_call_to_get_iterable(PyObject* iterable, PyObject* method_name); -static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos, - PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict); - -/* dict_iter.proto */ -static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name, - Py_ssize_t* p_orig_length, int* p_is_dict); - -/* PyObjectCompare.proto */ -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolGt_int_int(PyObject *op1, PyObject *op2, int pyop); - -/* PyLongBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static CYTHON_INLINE PyObject* __Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyLong_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) -#endif - -/* RaiseErrorWithObjectTypes.proto (used by PyNumberBinop) */ -#define __Pyx_RaiseErrorWithObjectTypes1(exc_type, message, arg, obj1, obj2) __Pyx_RaiseErrorWithTypes1(exc_type, message, arg, Py_TYPE(obj1), Py_TYPE(obj2)) -#define __Pyx_RaiseTypeErrorWithObjectTypes(message, obj1, obj2) __Pyx_RaiseTypeErrorWithTypes(message, Py_TYPE(obj1), Py_TYPE(obj2)) -#define __Pyx_RaiseTypeErrorWithTypes(message, type_obj1, type_obj2) __Pyx_RaiseErrorWithTypes1(PyExc_TypeError, "%.1s" message, "", type_obj1, type_obj2) -CYTHON_UNUSED -static void __Pyx_RaiseErrorWithTypes1(PyObject* exc_type, const char *message, const char *arg, PyTypeObject *type_obj1, PyTypeObject *type_obj2); - -/* PyNumberBinop.proto */ -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_GRAAL || CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_PyNumber_Add_object_int(op1, op2) PyNumber_Add(op1, op2) -#define __Pyx_PyNumber_InPlaceAdd_object_int(op1, op2) PyNumber_InPlaceAdd(op1, op2) -#else -#define __Pyx_PyNumber_Add_object_int(op1, op2) __Pyx__PyNumber_Add_object_int(op1, op2, 0) -#define __Pyx_PyNumber_InPlaceAdd_object_int(op1, op2) __Pyx__PyNumber_Add_object_int(op1, op2, 1) -static CYTHON_INLINE PyObject* __Pyx__PyNumber_Add_object_int(PyObject *op1, PyObject *op2, int inplace); -#endif - -/* PyObjectCompare.proto */ -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolLt_object_int(PyObject *op1, PyObject *op2, int pyop); - -/* PyObjectCompare.proto */ -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolEq_object_int(PyObject *op1, PyObject *op2, int pyop); - -/* ListCompAppendAndDecref.proto */ -static CYTHON_INLINE int __Pyx_ListComp_AppendAndDecref(PyObject* list, PyObject* x); - -/* PyIndexError_Check.proto */ -#define __Pyx_PyExc_IndexError_Check(obj) __Pyx_TypeCheck(obj, PyExc_IndexError) - -/* CIntToPyUnicode.proto */ -#define __Pyx_PyUnicode_From_Py_ssize_t(value, width, padding_char, format_char) (\ - ((format_char) == ('c')) ?\ - __Pyx_uchar___Pyx_PyUnicode_From_Py_ssize_t(value, width, padding_char) :\ - __Pyx____Pyx_PyUnicode_From_Py_ssize_t(value, width, padding_char, format_char)\ - ) -static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char); -static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char, char format_char); - -/* PyTypeError_Check.proto */ -#define __Pyx_PyExc_TypeError_Check(obj) __Pyx_TypeCheck(obj, PyExc_TypeError) - -/* TupleOrListFromArrayImpl.proto (used by ListFromArray) */ -CYTHON_UNUSED static PyObject * -__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n); - -/* ListFromArray.proto (used by SliceTupleAndList) */ - - -/* SliceTupleAndList.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop); -static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop); -#else -#define __Pyx_PyList_GetSlice(seq, start, stop) PySequence_GetSlice(seq, start, stop) -#define __Pyx_PyTuple_GetSlice(seq, start, stop) PySequence_GetSlice(seq, start, stop) -#endif - -/* PyObject_Unicode.proto */ -#define __Pyx_PyObject_Unicode(obj)\ - (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj)) - -/* RaiseUnboundLocalError.proto */ -static void __Pyx_RaiseUnboundLocalError(const char *varname); - -/* PyNumberBinop.proto */ -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_GRAAL || CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_PyNumber_And_object_int(op1, op2) PyNumber_And(op1, op2) -#define __Pyx_PyNumber_InPlaceAnd_object_int(op1, op2) PyNumber_InPlaceAnd(op1, op2) -#else -#define __Pyx_PyNumber_And_object_int(op1, op2) __Pyx__PyNumber_And_object_int(op1, op2, 0) -#define __Pyx_PyNumber_InPlaceAnd_object_int(op1, op2) __Pyx__PyNumber_And_object_int(op1, op2, 1) -static CYTHON_INLINE PyObject* __Pyx__PyNumber_And_object_int(PyObject *op1, PyObject *op2, int inplace); -#endif - -/* ListCompAppend.proto */ -#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE -static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x); -#else -#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x) -#endif - -/* SliceObject.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( - PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, - PyObject** py_start, PyObject** py_stop, PyObject** py_slice, - int has_cstart, int has_cstop, int wraparound); - -/* PyObjectCompare.proto */ -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolNe_object_str(PyObject *op1, PyObject *op2, int pyop); - -/* SetItemInt.proto */ -#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, wraparound, boundscheck, has_gil, unsafe_shared)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, wraparound, boundscheck, unsafe_shared) :\ - __Pyx_SetItemInt_Generic(o, to_py_func(i), v)) -static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v); -static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, - int wraparound, int boundscheck, int unsafe_shared); - -/* PyObjectCompare.proto */ -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolEq_object_str(PyObject *op1, PyObject *op2, int pyop); - -/* ExtTypeTest.proto */ -static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); - -/* CIntToPyUnicode.proto */ -#define __Pyx_PyUnicode_From_int(value, width, padding_char, format_char) (\ - ((format_char) == ('c')) ?\ - __Pyx_uchar___Pyx_PyUnicode_From_int(value, width, padding_char) :\ - __Pyx____Pyx_PyUnicode_From_int(value, width, padding_char, format_char)\ - ) -static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_int(int value, Py_ssize_t width, char padding_char); -static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_int(int value, Py_ssize_t width, char padding_char, char format_char); - -/* AllocateExtensionType.proto */ -static PyObject *__Pyx_AllocateExtensionType(PyTypeObject *t, int is_final); - -/* CallSlotAsVectorcall.proto */ -#if CYTHON_VECTORCALL_TPNEW -typedef PyObject * (*__Pyx_tpnewvectorcallfunc)(PyTypeObject* o, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames); -static PyObject * __Pyx_CallTpnewAsVectorcall(__Pyx_tpnewvectorcallfunc f, PyTypeObject* o, PyObject *a, PyObject *k); -#endif - -/* CallNewInitFromVectorcall.proto */ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__Pyx_CallNewInitFromVectorcall(PyTypeObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); -#endif - -/* CallSlotAsVectorcall.proto */ -#if CYTHON_VECTORCALL_TPNEW -typedef int (*__Pyx_tpinitvectorcallfunc)(PyObject* o, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames); -static int __Pyx_CallTpinitAsVectorcall(__Pyx_tpinitvectorcallfunc f, PyObject* o, PyObject *a, PyObject *k); -#endif - -/* DeallocKeepAlive.proto */ -#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING -#define __Pyx_DeallocKeepAliveBegin(o) do {\ - _Py_atomic_store_uintptr_relaxed(&(o)->ob_tid, _Py_ThreadId());\ - _Py_atomic_store_uint32_relaxed(&(o)->ob_ref_local, 1);\ - _Py_atomic_store_ssize_relaxed(&(o)->ob_ref_shared, 0);\ - } while (0) -#define __Pyx_DeallocKeepAliveEnd(o)\ - _Py_atomic_store_uint32_relaxed(&(o)->ob_ref_local, 0) -#else -#define __Pyx_DeallocKeepAliveBegin(o) Py_SET_REFCNT(o, Py_REFCNT(o) + 1) -#define __Pyx_DeallocKeepAliveEnd(o) Py_SET_REFCNT(o, Py_REFCNT(o) - 1) -#endif - -/* GetTypeDictOffset.proto (used by ValidateBasesTuple) */ -#if !CYTHON_USE_TYPE_SLOTS -CYTHON_UNUSED static Py_ssize_t __Pyx_GetTypeDictOffset(PyObject *tp, int require_cython_valid_result); -#endif - -/* ValidateBasesTuple.proto (used by PyType_Ready) */ -#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS -static int __Pyx_validate_bases_tuple(const char *type_name, int has_dictoffset, PyObject *bases); -#endif - -/* PyType_Ready.export */ -CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t); - -/* LimitedApiGetTypeTypeDict.proto (used by DelItemOnTypeDict) */ -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_GetTypeTypeDict(PyTypeObject *tp); -#endif - -/* DelItemOnTypeDict.proto (used by SetupReduce) */ -#define __Pyx_DelItemOnTypeDict(tp, k) __Pyx__DelItemOnTypeDict((PyTypeObject*)tp, k) - -/* DelItemOnTypeDict.export */ -static int __Pyx__DelItemOnTypeDict(PyTypeObject *tp, PyObject *k); - -/* SetItemOnTypeDict.proto (used by SetupReduce) */ -#define __Pyx_SetItemOnTypeDict(tp, k, v) __Pyx__SetItemOnTypeDict((PyTypeObject*)tp, k, v) - -/* SetItemOnTypeDict.export */ -static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *v); - -/* SetupReduce.export */ -static int __Pyx_setup_reduce(PyObject* type_obj); - -/* GetVTable.proto (used by MergeVTables) */ -static int __Pyx_GetVtable(PyTypeObject *type, void** table); - -/* MergeVTables.proto (used by SetVTable) */ -static int __Pyx_MergeVtables(PyTypeObject *type); - -/* SetVTable.export */ -static int __Pyx_SetVtable(PyTypeObject* typeptr , void* vtable); - -/* TypeImport.proto */ -#ifndef __PYX_HAVE_RT_ImportType_proto_3_3_0 -#define __PYX_HAVE_RT_ImportType_proto_3_3_0 -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L -#include -#endif -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L -#define __PYX_GET_STRUCT_ALIGNMENT_3_3_0(s) alignof(s) -#else -#define __PYX_GET_STRUCT_ALIGNMENT_3_3_0(s) sizeof(void*) -#endif -enum __Pyx_ImportType_CheckSize_3_3_0 { - __Pyx_ImportType_CheckSize_Error_3_3_0 = 0, - __Pyx_ImportType_CheckSize_Warn_3_3_0 = 1, - __Pyx_ImportType_CheckSize_Ignore_3_3_0 = 2 -}; -static PyTypeObject *__Pyx_ImportType_3_3_0(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_3_0 check_size); -#endif - -/* ImportImpl.export */ -static PyObject *__Pyx__Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, PyObject *moddict, int level); - -/* Import.proto */ -static CYTHON_INLINE PyObject *__Pyx_Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, int level); - -/* dict_setdefault.proto (used by FetchCommonType) */ -static CYTHON_INLINE PyObject *__Pyx_PyDict_SetDefault(PyObject *d, PyObject *key, PyObject *default_value); - -/* AddModuleRef.proto (used by FetchSharedCythonModule) */ -#if ((CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && PY_VERSION_HEX < 0x030F00a3) ||\ - __PYX_LIMITED_VERSION_HEX < 0x030d0000) - static PyObject *__Pyx_PyImport_AddModuleRef(const char *name); -#else - #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name) -#endif - -/* FetchSharedCythonModule.proto (used by FetchCommonType) */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void); - -/* VerifyCachedType.proto (used by FetchCommonType) */ -static int __Pyx_VerifyCachedType(PyObject *cached_type, - const char *name, - Py_ssize_t expected_basicsize); - -/* FetchCommonType.proto (used by CommonTypesMetaclass) */ -static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases); - -/* CommonTypesMetaclass.proto (used by CythonFunctionShared) */ -static int __pyx_CommonTypesMetaclass_init(PyObject *module); -#define __Pyx_CommonTypesMetaclass_USED - -/* CythonFunctionPerModule.proto (used by CythonFunctionShared) */ -#define __Pyx_CyFunction_USED -#if CYTHON_OPAQUE_SHARED_TYPES -#define __Pyx_as_CyFunctionObject(o) ((__pyx_CyFunctionObject *)PyObject_GetTypeData((o), __pyx_mstate_global->__pyx_CyFunctionType)) -#else -#define __Pyx_as_CyFunctionObject(o) ((__pyx_CyFunctionObject *)o) -#endif -#define __Pyx_CYFUNCTION_STATICMETHOD 0x01 -#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 -#define __Pyx_CYFUNCTION_CCLASS 0x04 -#define __Pyx_CYFUNCTION_COROUTINE 0x08 -#define __Pyx_CyFunction_GetClosure(f)\ - ((__Pyx_as_CyFunctionObject(f))->func_closure) -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx__CyFunction_GetClassObj(f)\ - ((f)->func_classobj) -#else - #define __Pyx__CyFunction_GetClassObj(f)\ - ((PyObject*) ((PyCMethodObject *) (f))->mm_class) -#endif -#define __Pyx_CyFunction_GetClassObj(f)\ - __Pyx__CyFunction_GetClassObj(__Pyx_as_CyFunctionObject(f)) -#define __Pyx_CyFunction_SetClassObj(f, classobj)\ - __Pyx__CyFunction_SetClassObj(__Pyx_as_CyFunctionObject(f), (classobj)) -#define __Pyx_CyFunction_Defaults(type, f)\ - ((type *)((__Pyx_as_CyFunctionObject(f))->defaults)) -#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ - (__Pyx_as_CyFunctionObject(f))->defaults_getter = (g) -typedef struct { -#if CYTHON_COMPILING_IN_LIMITED_API -#if !CYTHON_OPAQUE_OBJECTS - PyObject_HEAD -#endif - PyMethodDef *func_methoddef; - PyObject *func_module; -#else - PyCMethodObject func; -#endif -#if (CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY) && CYTHON_VECTORCALL - __pyx_vectorcallfunc func_vectorcall; -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_weakreflist; -#endif -#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_dict; -#endif - PyObject *func_name; - PyObject *func_qualname; - PyObject *func_doc; - PyObject *func_globals; - PyObject *func_code; - PyObject *func_closure; -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_classobj; -#endif - PyObject *defaults; - int flags; - PyObject *defaults_tuple; - PyObject *defaults_kwdict; - PyObject *(*defaults_getter)(PyObject *); - PyObject *func_annotations; -#if __PYX_LIMITED_VERSION_HEX < 0x030B0000 - PyObject *func_is_coroutine; -#endif -} __pyx_CyFunctionObject; -#undef __Pyx_CyOrPyCFunction_Check -#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_mstate_global->__pyx_CyFunctionType) -#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_mstate_global->__pyx_CyFunctionType, &PyCFunction_Type) -#define __Pyx_CyFunction_CheckExact(obj) Py_IS_TYPE(obj, __pyx_mstate_global->__pyx_CyFunctionType) -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void (*cfunc)(void)); -#undef __Pyx_IsSameCFunction -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc) -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj); -static CYTHON_INLINE PyObject *__Pyx_CyFunction_InitDefaults(PyObject *func, - PyTypeObject *defaults_type); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, - PyObject *tuple); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, - PyObject *dict); -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, - PyObject *dict); -static int __pyx_CyFunction_init(PyObject *module); -#if CYTHON_VECTORCALL -#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY -#define __Pyx_CyFunction_func_vectorcall(f) ((f)->func_vectorcall) -#else -#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall) -#endif -#endif - -/* CallTypeTraverse.proto (used by CythonFunctionShared) */ -#if !CYTHON_USE_TYPE_SPECS -#define __Pyx_call_type_traverse(o, always_call, visit, arg) 0 -#else -static int __Pyx_call_type_traverse(PyObject *o, int always_call, visitproc visit, void *arg); -#endif - -/* PyMethodNew.proto (used by CythonFunctionShared) */ -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ); - -/* PyVectorcallFastCallDict.proto (used by CythonFunctionShared) */ -#if CYTHON_VECTORCALL -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw); -#endif - -/* CythonFunctionShared.proto (used by CythonFunction) */ -static PyObject *__Pyx_CyFunction_Init(PyObject *op_in, PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); -#if CYTHON_VECTORCALL -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -#endif - -/* CythonFunction.export */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); -static PyTypeObject *__Pyx_Get_CyFunction_Type(void); - -/* Py3UpdateBases.export */ -static PyObject* __Pyx_PEP560_update_bases(PyObject *bases); - -/* CalculateMetaclass.proto */ -static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases); - -/* PyObjectCall2Args.proto (used by Py3ClassCreate) */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); - -/* Py3ClassCreate.export */ -static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname, - PyObject *mkw, PyObject *modname, PyObject *doc); -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict, - PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass); - -/* SetNameInClass.proto */ -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value)) -#elif CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value)) -#else -#define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value) -#endif - -/* ImportFrom.export */ -static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); - -/* PyObjectCallMethod1.proto (used by append) */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); - -/* append.proto */ -static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x); - -/* PyModuleNotFoundError_Check.proto */ -#define __Pyx_PyExc_ModuleNotFoundError_Check(obj) __Pyx_TypeCheck(obj, PyExc_ModuleNotFoundError) - -/* PyNameError_Check.proto */ -#define __Pyx_PyExc_NameError_Check(obj) __Pyx_TypeCheck(obj, PyExc_NameError) - -/* PyObjectCompare.proto */ -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolGe_object_str(PyObject *op1, PyObject *op2, int pyop); - -/* GetNameInClass.proto */ -#define __Pyx_GetNameInClass(var, nmspace, name) (var) = __Pyx__GetNameInClass(nmspace, name) -static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name); - -/* CLineInTraceback.proto (used by AddTraceback) */ -#if CYTHON_CLINE_IN_TRACEBACK && CYTHON_CLINE_IN_TRACEBACK_RUNTIME -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); -#else -#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) -#endif - -/* CodeObjectCache.proto (used by AddTraceback) */ -#if CYTHON_COMPILING_IN_LIMITED_API -typedef PyObject __Pyx_CachedCodeObjectType; -#else -typedef PyCodeObject __Pyx_CachedCodeObjectType; -#endif -typedef struct { - __Pyx_CachedCodeObjectType* code_object; - int code_line; -} __Pyx_CodeObjectCacheEntry; -struct __Pyx_CodeObjectCache { - int count; - int max_count; - __Pyx_CodeObjectCacheEntry* entries; - #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - __pyx_atomic_int_type accessor_count; - #endif -}; -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -static __Pyx_CachedCodeObjectType *__pyx_find_code_object(int code_line); -static void __pyx_insert_code_object(int code_line, __Pyx_CachedCodeObjectType* code_object); - -/* AddTraceback.proto */ -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename); - -/* CheckUnpickleChecksumError.export */ -static void __Pyx_RaiseUnpickleChecksumError(long checksum, long checksum1, long checksum2, long checksum3, const char *members); - -/* RealImag.proto */ -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - #define __Pyx_CREAL(z) ((z).real()) - #define __Pyx_CIMAG(z) ((z).imag()) - #else - #define __Pyx_CREAL(z) (__real__(z)) - #define __Pyx_CIMAG(z) (__imag__(z)) - #endif -#else - #define __Pyx_CREAL(z) ((z).real) - #define __Pyx_CIMAG(z) ((z).imag) -#endif -#if defined(__cplusplus) && CYTHON_CCOMPLEX\ - && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103) - #define __Pyx_SET_CREAL(z,x) ((z).real(x)) - #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) -#else - #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) - #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) -#endif - -/* Arithmetic.proto */ -#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus) - #define __Pyx_c_eq_float(a, b) ((a)==(b)) - #define __Pyx_c_sum_float(a, b) ((a)+(b)) - #define __Pyx_c_diff_float(a, b) ((a)-(b)) - #define __Pyx_c_prod_float(a, b) ((a)*(b)) - #define __Pyx_c_quot_float(a, b) ((a)/(b)) - #define __Pyx_c_neg_float(a) (-(a)) - #ifdef __cplusplus - #define __Pyx_c_is_zero_float(z) ((z)==(float)0) - #define __Pyx_c_conj_float(z) (::std::conj(z)) - #if 1 - #define __Pyx_c_abs_float(z) (::std::abs(z)) - #define __Pyx_c_pow_float(a, b) (::std::pow(a, b)) - #endif - #else - #define __Pyx_c_is_zero_float(z) ((z)==0) - #define __Pyx_c_conj_float(z) (conjf(z)) - #if 1 - #define __Pyx_c_abs_float(z) (cabsf(z)) - #define __Pyx_c_pow_float(a, b) (cpowf(a, b)) - #endif - #endif -#else - static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex); - static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex); - #if 1 - static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex); - #endif -#endif - -/* Arithmetic.proto */ -#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus) - #define __Pyx_c_eq_double(a, b) ((a)==(b)) - #define __Pyx_c_sum_double(a, b) ((a)+(b)) - #define __Pyx_c_diff_double(a, b) ((a)-(b)) - #define __Pyx_c_prod_double(a, b) ((a)*(b)) - #define __Pyx_c_quot_double(a, b) ((a)/(b)) - #define __Pyx_c_neg_double(a) (-(a)) - #ifdef __cplusplus - #define __Pyx_c_is_zero_double(z) ((z)==(double)0) - #define __Pyx_c_conj_double(z) (::std::conj(z)) - #if 1 - #define __Pyx_c_abs_double(z) (::std::abs(z)) - #define __Pyx_c_pow_double(a, b) (::std::pow(a, b)) - #endif - #else - #define __Pyx_c_is_zero_double(z) ((z)==0) - #define __Pyx_c_conj_double(z) (conj(z)) - #if 1 - #define __Pyx_c_abs_double(z) (cabs(z)) - #define __Pyx_c_pow_double(a, b) (cpow(a, b)) - #endif - #endif -#else - static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex); - static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex); - #if 1 - static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex); - #endif -#endif - -/* Arithmetic.proto */ -#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus) - #define __Pyx_c_eq_long__double(a, b) ((a)==(b)) - #define __Pyx_c_sum_long__double(a, b) ((a)+(b)) - #define __Pyx_c_diff_long__double(a, b) ((a)-(b)) - #define __Pyx_c_prod_long__double(a, b) ((a)*(b)) - #define __Pyx_c_quot_long__double(a, b) ((a)/(b)) - #define __Pyx_c_neg_long__double(a) (-(a)) - #ifdef __cplusplus - #define __Pyx_c_is_zero_long__double(z) ((z)==(long double)0) - #define __Pyx_c_conj_long__double(z) (::std::conj(z)) - #if 1 - #define __Pyx_c_abs_long__double(z) (::std::abs(z)) - #define __Pyx_c_pow_long__double(a, b) (::std::pow(a, b)) - #endif - #else - #define __Pyx_c_is_zero_long__double(z) ((z)==0) - #define __Pyx_c_conj_long__double(z) (conjl(z)) - #if 1 - #define __Pyx_c_abs_long__double(z) (cabsl(z)) - #define __Pyx_c_pow_long__double(a, b) (cpowl(a, b)) - #endif - #endif -#else - static CYTHON_INLINE int __Pyx_c_eq_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex); - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_sum_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex); - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_diff_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex); - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_prod_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex); - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_quot_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex); - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_neg_long__double(__pyx_t_long_double_complex); - static CYTHON_INLINE int __Pyx_c_is_zero_long__double(__pyx_t_long_double_complex); - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_conj_long__double(__pyx_t_long_double_complex); - #if 1 - static CYTHON_INLINE long double __Pyx_c_abs_long__double(__pyx_t_long_double_complex); - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_pow_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex); - #endif -#endif - -/* UpdateUnpickledDict.export */ -static int __Pyx_UpdateUnpickledDict(PyObject *obj, PyObject *state, Py_ssize_t index); - -/* CheckUnpickleChecksum.proto */ -static CYTHON_INLINE int __Pyx_CheckUnpickleChecksum(long checksum, long checksum1, long checksum2, long checksum3, const char *members); - -/* CIntFromPy.proto */ -static CYTHON_INLINE TA_RetCode __Pyx_PyLong_As_TA_RetCode(PyObject *); - -/* PyObjectVectorcallMethodKwds.proto (used by CIntToPy) */ -#if CYTHON_VECTORCALL -#define __Pyx_Object_VectorcallMethodKwds PyObject_VectorcallMethod -#else -static PyObject *__Pyx_Object_VectorcallMethodKwds(PyObject *name, PyObject *const *args, size_t nargsf, PyObject *kwnames); -#endif - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_TA_FuncUnstId(TA_FuncUnstId value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int __Pyx_PyLong_As_int(PyObject *); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_int(int value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE long __Pyx_PyLong_As_long(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE TA_FuncUnstId __Pyx_PyLong_As_TA_FuncUnstId(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE unsigned int __Pyx_PyLong_As_unsigned_int(PyObject *); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_unsigned_int(unsigned int value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_long(long value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_TA_OptInputParameterType(TA_OptInputParameterType value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_TA_FuncFlags(TA_FuncFlags value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_TA_InputFlags(TA_InputFlags value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_TA_OutputFlags(TA_OutputFlags value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_npy_intp(npy_intp value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE npy_intp __Pyx_PyLong_As_npy_intp(PyObject *); - -/* GetRuntimeVersion.proto */ -#if __PYX_LIMITED_VERSION_HEX < 0x030b0000 -static unsigned long __Pyx_cached_runtime_version = 0; -static void __Pyx_init_runtime_version(void); -#else -#define __Pyx_init_runtime_version() -#endif -static unsigned long __Pyx_get_runtime_version(void); - -/* CheckBinaryVersion.proto */ -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer); - -/* DecompressString.proto */ -static PyObject *__Pyx_DecompressString(const char *s, Py_ssize_t length, int algo); - -/* DecompressString_LZSS.proto */ -static PyObject *__Pyx_DecompressString_LZSS(const char *s, size_t compressed_length, size_t uncompressed_length); - -/* MultiPhaseInitModuleState.proto */ -#if CYTHON_PEP489_MULTI_PHASE_INIT && CYTHON_USE_MODULE_STATE -#include -static PyObject *__Pyx_State_FindModule(void*); -static int __Pyx_State_AddModule(PyObject* module, void*); -static int __Pyx_State_RemoveModule(void*); -#elif CYTHON_USE_MODULE_STATE -#define __Pyx_State_FindModule PyState_FindModule -#define __Pyx_State_AddModule PyState_AddModule -#define __Pyx_State_RemoveModule PyState_RemoveModule -#endif - -/* #### Code section: module_declarations ### */ -/* CythonABIVersion.proto */ -#if CYTHON_COMPILING_IN_LIMITED_API - #if CYTHON_VECTORCALL - #define __PYX_VECTORCALL_ABI_SUFFIX "_vectorcall" - #else - #define __PYX_VECTORCALL_ABI_SUFFIX - #endif - #define __PYX_LIMITED_ABI_SUFFIX "limited" __PYX_VECTORCALL_ABI_SUFFIX __PYX_AM_SEND_ABI_SUFFIX -#else - #define __PYX_LIMITED_ABI_SUFFIX -#endif -#if __PYX_HAS_PY_AM_SEND == 1 - #define __PYX_AM_SEND_ABI_SUFFIX -#elif __PYX_HAS_PY_AM_SEND == 2 - #define __PYX_AM_SEND_ABI_SUFFIX "amsendbackport" -#else - #define __PYX_AM_SEND_ABI_SUFFIX "noamsend" -#endif -#ifndef __PYX_MONITORING_ABI_SUFFIX - #define __PYX_MONITORING_ABI_SUFFIX -#endif -#if CYTHON_USE_TP_FINALIZE - #define __PYX_TP_FINALIZE_ABI_SUFFIX -#else - #define __PYX_TP_FINALIZE_ABI_SUFFIX "nofinalize" -#endif -#if CYTHON_USE_FREELISTS || !defined(__Pyx_AsyncGen_USED) - #define __PYX_FREELISTS_ABI_SUFFIX -#else - #define __PYX_FREELISTS_ABI_SUFFIX "nofreelists" -#endif -#if CYTHON_OPAQUE_OBJECTS && CYTHON_COMPILING_IN_LIMITED_API - #define __PYX_OPAQUE_OBJECTS_ABI_SUFFIX "opaque" -#else - #define __PYX_OPAQUE_OBJECTS_ABI_SUFFIX -#endif -#define CYTHON_ABI __PYX_ABI_VERSION __PYX_LIMITED_ABI_SUFFIX __PYX_MONITORING_ABI_SUFFIX __PYX_TP_FINALIZE_ABI_SUFFIX __PYX_FREELISTS_ABI_SUFFIX __PYX_AM_SEND_ABI_SUFFIX __PYX_OPAQUE_OBJECTS_ABI_SUFFIX -#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI -#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "." - -static CYTHON_INLINE PyTypeObject *__pyx_f_5numpy_5dtype_7typeobj___get__(PyArray_Descr *__pyx_v_self); /* proto*/ -static CYTHON_INLINE char __pyx_f_5numpy_5dtype_4kind___get__(PyArray_Descr *__pyx_v_self); /* proto*/ -static CYTHON_INLINE char __pyx_f_5numpy_5dtype_4type___get__(PyArray_Descr *__pyx_v_self); /* proto*/ -static CYTHON_INLINE char __pyx_f_5numpy_5dtype_9byteorder___get__(PyArray_Descr *__pyx_v_self); /* proto*/ -static CYTHON_INLINE int __pyx_f_5numpy_5dtype_8type_num___get__(PyArray_Descr *__pyx_v_self); /* proto*/ -static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize___get__(PyArray_Descr *__pyx_v_self); /* proto*/ -static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment___get__(PyArray_Descr *__pyx_v_self); /* proto*/ -static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields___get__(PyArray_Descr *__pyx_v_self); /* proto*/ -static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names___get__(PyArray_Descr *__pyx_v_self); /* proto*/ -static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray___get__(PyArray_Descr *__pyx_v_self); /* proto*/ -static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags___get__(PyArray_Descr *__pyx_v_self); /* proto*/ -static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter___get__(PyArrayMultiIterObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size___get__(PyArrayMultiIterObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index___get__(PyArrayMultiIterObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd___get__(PyArrayMultiIterObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions___get__(PyArrayMultiIterObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters___get__(PyArrayMultiIterObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base___get__(PyArrayObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr___get__(PyArrayObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim___get__(PyArrayObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape___get__(PyArrayObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides___get__(PyArrayObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size___get__(PyArrayObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data___get__(PyArrayObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE int __pyx_f_5numpy_5ufunc_3nin___get__(PyUFuncObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE int __pyx_f_5numpy_5ufunc_4nout___get__(PyUFuncObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE int __pyx_f_5numpy_5ufunc_5nargs___get__(PyUFuncObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE PyUFuncGenericFunction *__pyx_f_5numpy_5ufunc_9functions___get__(PyUFuncObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE void **__pyx_f_5numpy_5ufunc_4data___get__(PyUFuncObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE int __pyx_f_5numpy_5ufunc_6ntypes___get__(PyUFuncObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE char const *__pyx_f_5numpy_5ufunc_4name___get__(PyUFuncObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE char const *__pyx_f_5numpy_5ufunc_3doc___get__(PyUFuncObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE void *__pyx_f_5numpy_5ufunc_3ptr___get__(PyUFuncObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE PyObject *__pyx_f_5numpy_5ufunc_3obj___get__(PyUFuncObject *__pyx_v_self); /* proto*/ -static CYTHON_INLINE PyObject *__pyx_f_5numpy_5ufunc_9userloops___get__(PyUFuncObject *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_6Stream__out_range(CYTHON_UNUSED struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self, CYTHON_UNUSED int *__pyx_v_outbegidx, CYTHON_UNUSED int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_6Stream__advance(CYTHON_UNUSED struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9AC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9AC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15ACCBANDS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15ACCBANDS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ACOS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ACOS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9AD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9AD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ADD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ADD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12ADOSC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12ADOSC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ADR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ADR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ADX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ADX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ADXR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ADXR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9AO_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9AO_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10APO_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10APO_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12AROON_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12AROON_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15AROONOSC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15AROONOSC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ASIN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ASIN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ATAN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ATAN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ATR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ATR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13AVGDEV_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13AVGDEV_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15AVGPRICE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15AVGPRICE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13BBANDS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13BBANDS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11BETA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11BETA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10BOP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10BOP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CCI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CCI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDL2CROWS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDL2CROWS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDL3INSIDE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDL3INSIDE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDL3OUTSIDE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDL3OUTSIDE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLBELTHOLD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLBELTHOLD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLBREAKAWAY_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLBREAKAWAY_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14CDLDOJI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14CDLDOJI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLDOJISTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLDOJISTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLENGULFING_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLENGULFING_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLHAMMER_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLHAMMER_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_20CDLHANGINGMAN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_20CDLHANGINGMAN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLHARAMI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLHARAMI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLHARAMICROSS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLHARAMICROSS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLHIGHWAVE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLHIGHWAVE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLHIKKAKE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLHIKKAKE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLINNECK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLINNECK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLKICKING_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLKICKING_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLLONGLINE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLLONGLINE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLMARUBOZU_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLMARUBOZU_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLMATHOLD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLMATHOLD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLONNECK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLONNECK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLPIERCING_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLPIERCING_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLSHORTLINE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLSHORTLINE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLTAKURI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLTAKURI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLTASUKIGAP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLTASUKIGAP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLTHRUSTING_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLTHRUSTING_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLTRISTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLTRISTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11CEIL_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11CEIL_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CMF_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CMF_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CMO_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CMO_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11CMOU_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11CMOU_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14COPPOCK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14COPPOCK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13CORREL_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13CORREL_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10COS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10COS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11COSH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11COSH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13CUMSUM_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13CUMSUM_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CVI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CVI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11DEMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11DEMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10DIV_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10DIV_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15DONCHIAN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15DONCHIAN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10DPO_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10DPO_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9DX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9DX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10EFI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10EFI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10EMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10EMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9ER_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9ER_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ERI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ERI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10EXP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10EXP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12FLOOR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12FLOOR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11FOSC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11FOSC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14FRACTAL_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14FRACTAL_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9HA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9HA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10HMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10HMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18HT_DCPERIOD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18HT_DCPERIOD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17HT_DCPHASE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17HT_DCPHASE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16HT_PHASOR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16HT_PHASOR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14HT_SINE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14HT_SINE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19HT_TRENDLINE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19HT_TRENDLINE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19HT_TRENDMODE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_19HT_TRENDMODE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10IMI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10IMI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11KAMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11KAMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9KC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9KC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10KDJ_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10KDJ_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16LINEARREG_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_16LINEARREG_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9LN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9LN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12LOG10_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12LOG10_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9MA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9MA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MACD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MACD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14MACDEXT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14MACDEXT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14MACDFIX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14MACDFIX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MAMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MAMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MARKETFI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MARKETFI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12MASSI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12MASSI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MAVP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MAVP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MAX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MAX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MAXINDEX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MAXINDEX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MEDPRICE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MEDPRICE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MFI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MFI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MIDPOINT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MIDPOINT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MIDPRICE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MIDPRICE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MIN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MIN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MININDEX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MININDEX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13MINMAX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13MINMAX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18MINMAXINDEX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18MINMAXINDEX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MINUS_DI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MINUS_DI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MINUS_DM_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MINUS_DM_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MOM_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MOM_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MULT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MULT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11NATR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11NATR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10NVI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10NVI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10OBV_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10OBV_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17PERCENTILE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17PERCENTILE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18PERCENTRANK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_18PERCENTRANK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14PLUS_DI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14PLUS_DI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14PLUS_DM_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14PLUS_DM_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PPO_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PPO_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PVI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PVI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PVO_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PVO_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PVT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PVT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13QSTICK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13QSTICK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10RMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10RMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ROC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ROC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ROCP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ROCP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ROCR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ROCR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14ROCR100_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_14ROCR100_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10RSI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10RSI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10RVI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10RVI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11RVOL_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11RVOL_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13SAREXT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13SAREXT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SIN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SIN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11SINH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11SINH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SMI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SMI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11SQRT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11SQRT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13STDDEV_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13STDDEV_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12STOCH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12STOCH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13STOCHF_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13STOCHF_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15STOCHRSI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15STOCHRSI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SUB_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SUB_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SUM_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SUM_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17SUPERTREND_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_17SUPERTREND_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9T3_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_9T3_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10TAN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10TAN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11TANH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11TANH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11TEMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11TEMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13TRANGE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13TRANGE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12TRIMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12TRIMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11TRIX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11TRIX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10TSF_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10TSF_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10TSI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10TSI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15TYPPRICE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15TYPPRICE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13ULTOSC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13ULTOSC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10VAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10VAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10VHF_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10VHF_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13VORTEX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_13VORTEX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11VWAP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11VWAP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11VWMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_11VWMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10WAD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10WAD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15WCLPRICE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_15WCLPRICE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12WILLR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12WILLR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10WMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_10WMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12ZLEMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement); /* proto*/ -static TA_RetCode __pyx_f_5talib_7_ta_lib_12ZLEMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self); /* proto*/ - -/* Module declarations from "cython" */ - -/* Module declarations from "libc.string" */ - -/* Module declarations from "libc.stdio" */ - -/* Module declarations from "__builtin__" */ - -/* Module declarations from "cpython.type" */ - -/* Module declarations from "cpython" */ - -/* Module declarations from "cpython.object" */ - -/* Module declarations from "cpython.ref" */ - -/* Module declarations from "numpy" */ - -/* Module declarations from "numpy" */ -static CYTHON_INLINE int __pyx_f_5numpy_import_array(void); /*proto*/ - -/* Module declarations from "talib._ta_lib" */ -static __Pyx_Locks_PyMutex __pyx_v_5talib_7_ta_lib__ta_gate = __Pyx_Locks_PyMutex_DECL; -static unsigned long __pyx_v_5talib_7_ta_lib__ta_readers; -static unsigned long __pyx_v_5talib_7_ta_lib__ta_live_streams; -static int __pyx_v_5talib_7_ta_lib__ta_writing; -static int __pyx_v_5talib_7_ta_lib__ta_initialized; -static double __pyx_v_5talib_7_ta_lib_NaN; -static int __pyx_f_5talib_7_ta_lib__ta_begin_read(void); /*proto*/ -static void __pyx_f_5talib_7_ta_lib__ta_end_read(void); /*proto*/ -static int __pyx_f_5talib_7_ta_lib__ta_begin_write(void); /*proto*/ -static void __pyx_f_5talib_7_ta_lib__ta_end_write(void); /*proto*/ -static void __pyx_f_5talib_7_ta_lib__ta_stream_registered(void); /*proto*/ -static void __pyx_f_5talib_7_ta_lib__ta_stream_closed(void); /*proto*/ -static void __pyx_f_5talib_7_ta_lib__ta_acquire_read(void); /*proto*/ -static PyObject *__pyx_f_5talib_7_ta_lib__ta_check_success(PyObject *, TA_RetCode, int __pyx_skip_dispatch); /*proto*/ -static PyArrayObject *__pyx_f_5talib_7_ta_lib_check_array(PyArrayObject *); /*proto*/ -static npy_intp __pyx_f_5talib_7_ta_lib_check_length2(PyArrayObject *, PyArrayObject *); /*proto*/ -static npy_intp __pyx_f_5talib_7_ta_lib_check_length3(PyArrayObject *, PyArrayObject *, PyArrayObject *); /*proto*/ -static npy_intp __pyx_f_5talib_7_ta_lib_check_length4(PyArrayObject *, PyArrayObject *, PyArrayObject *, PyArrayObject *); /*proto*/ -static npy_int __pyx_f_5talib_7_ta_lib_check_begidx1(npy_intp, double *); /*proto*/ -static npy_int __pyx_f_5talib_7_ta_lib_check_begidx2(npy_intp, double *, double *); /*proto*/ -static npy_int __pyx_f_5talib_7_ta_lib_check_begidx3(npy_intp, double *, double *, double *); /*proto*/ -static npy_int __pyx_f_5talib_7_ta_lib_check_begidx4(npy_intp, double *, double *, double *, double *); /*proto*/ -static PyArrayObject *__pyx_f_5talib_7_ta_lib_make_double_array(npy_intp, int); /*proto*/ -static PyArrayObject *__pyx_f_5talib_7_ta_lib_make_int_array(npy_intp, int); /*proto*/ -static TA_FuncHandle const *__pyx_f_5talib_7_ta_lib___ta_getFuncHandle(char *); /*proto*/ -static TA_ParamHolder *__pyx_f_5talib_7_ta_lib___ta_paramHolderAlloc(char *); /*proto*/ -static int __pyx_f_5talib_7_ta_lib___ta_paramHolderFree(TA_ParamHolder *); /*proto*/ -static int __pyx_f_5talib_7_ta_lib___ta_setOptInputParamInteger(TA_ParamHolder *, int, int); /*proto*/ -static int __pyx_f_5talib_7_ta_lib___ta_setOptInputParamReal(TA_ParamHolder *, int, double); /*proto*/ -static int __pyx_f_5talib_7_ta_lib___ta_getLookback(TA_ParamHolder *); /*proto*/ -static npy_intp __pyx_f_5talib_7_ta_lib_check_length(PyObject *); /*proto*/ -static int __pyx_f_5talib_7_ta_lib_check_begidx(npy_intp, PyObject *); /*proto*/ -static PyArrayObject *__pyx_f_5talib_7_ta_lib__stream_input(PyObject *); /*proto*/ -static int __pyx_f_5talib_7_ta_lib__stream_history(npy_intp, int); /*proto*/ -static PyObject *__pyx_f_5talib_7_ta_lib__stream_open_failed(PyObject *, TA_RetCode, int, int); /*proto*/ -static PyObject *__pyx_f_5talib_7_ta_lib__stream_like(PyObject *, PyObject *); /*proto*/ -static PyObject *__pyx_f_5talib_7_ta_lib___pyx_unpickle__TA_ReadLease__set_state(struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *, PyObject *); /*proto*/ -static PyObject *__pyx_f_5talib_7_ta_lib___pyx_unpickle__TA_WriteLease__set_state(struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *, PyObject *); /*proto*/ -/* #### Code section: typeinfo ### */ -/* #### Code section: before_global_var ### */ -#define __Pyx_MODULE_NAME "talib._ta_lib" -extern int __pyx_module_is_main_talib___ta_lib; -int __pyx_module_is_main_talib___ta_lib = 0; - -/* Implementation of "talib._ta_lib" */ -/* #### Code section: global_var ### */ -static PyObject *__pyx_builtin_object; -static PyObject *__pyx_builtin_property; -static PyObject *__pyx_builtin_staticmethod; -static PyObject *__pyx_builtin_enumerate; -/* #### Code section: string_decls ### */ -static const char __pyx_k__3[] = ""; -/* #### Code section: decls ### */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13_TA_ReadLease___enter__(CYTHON_UNUSED struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13_TA_ReadLease_2__exit__(CYTHON_UNUSED struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13_TA_ReadLease_4__reduce_cython__(struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13_TA_ReadLease_6__setstate_cython__(struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14_TA_WriteLease___enter__(CYTHON_UNUSED struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14_TA_WriteLease_2__exit__(CYTHON_UNUSED struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14_TA_WriteLease_4__reduce_cython__(struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14_TA_WriteLease_6__setstate_cython__(struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib__ta_check_success(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_function_name, TA_RetCode __pyx_v_ret_code); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_2_ta_initialize(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_4_ta_shutdown(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_at_exit); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_7MA_Type___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_7MA_Type_2__getitem__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type_); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_6_ta_func_unst_id(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8_ta_set_unstable_period(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name, PyObject *__pyx_v_period); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10_ta_get_unstable_period(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12_ta_set_compatibility(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14_ta_get_compatibility(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16_ta_set_candle_settings(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_settingtype, int __pyx_v_rangetype, int __pyx_v_avgperiod, double __pyx_v_factor); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18_ta_restore_candle_default_settings(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_settingtype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_20AC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22ACCBANDS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24ACOS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26AD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_28ADD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real0, PyArrayObject *__pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_30ADOSC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume, int __pyx_v_fastperiod, int __pyx_v_slowperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_32ADR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_34ADX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_36ADXR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_38AO(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_40APO(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_42AROON(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_44AROONOSC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_46ASIN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_48ATAN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_50ATR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_52AVGDEV(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_54AVGPRICE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_56BBANDS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdevup, double __pyx_v_nbdevdn, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_58BETA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real0, PyArrayObject *__pyx_v_real1, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_60BOP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_62CCI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_64CDL2CROWS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_66CDL3BLACKCROWS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_68CDL3INSIDE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_70CDL3LINESTRIKE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_72CDL3OUTSIDE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_74CDL3STARSINSOUTH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_76CDL3WHITESOLDIERS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_78CDLABANDONEDBABY(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_80CDLADVANCEBLOCK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_82CDLBELTHOLD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_84CDLBREAKAWAY(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_86CDLCLOSINGMARUBOZU(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_88CDLCONCEALBABYSWALL(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_90CDLCOUNTERATTACK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_92CDLDARKCLOUDCOVER(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_94CDLDOJI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_96CDLDOJISTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_98CDLDRAGONFLYDOJI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_100CDLENGULFING(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_102CDLEVENINGDOJISTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_104CDLEVENINGSTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_106CDLGAPSIDESIDEWHITE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_108CDLGRAVESTONEDOJI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_110CDLHAMMER(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_112CDLHANGINGMAN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_114CDLHARAMI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_116CDLHARAMICROSS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_118CDLHIGHWAVE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_120CDLHIKKAKE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_122CDLHIKKAKEMOD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_124CDLHOMINGPIGEON(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_126CDLIDENTICAL3CROWS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_128CDLINNECK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_130CDLINVERTEDHAMMER(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_132CDLKICKING(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_134CDLKICKINGBYLENGTH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_136CDLLADDERBOTTOM(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_138CDLLONGLEGGEDDOJI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_140CDLLONGLINE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_142CDLMARUBOZU(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_144CDLMATCHINGLOW(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_146CDLMATHOLD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_148CDLMORNINGDOJISTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_150CDLMORNINGSTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_152CDLONNECK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_154CDLPIERCING(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_156CDLRICKSHAWMAN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_158CDLRISEFALL3METHODS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_160CDLSEPARATINGLINES(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_162CDLSHOOTINGSTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_164CDLSHORTLINE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_166CDLSPINNINGTOP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_168CDLSTALLEDPATTERN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_170CDLSTICKSANDWICH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_172CDLTAKURI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_174CDLTASUKIGAP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_176CDLTHRUSTING(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_178CDLTRISTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_180CDLUNIQUE3RIVER(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_182CDLUPSIDEGAP2CROWS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_184CDLXSIDEGAP3METHODS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_186CEIL(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_188CMF(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_190CMO(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_192CMOU(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_194COPPOCK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_wmaperiod, int __pyx_v_roc1period, int __pyx_v_roc2period); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_196CORREL(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real0, PyArrayObject *__pyx_v_real1, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_198COS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_200COSH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_202CUMSUM(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_204CVI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod, int __pyx_v_rocperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_206DEMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_208DIV(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real0, PyArrayObject *__pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_210DONCHIAN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_212DPO(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_214DX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_216EFI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_218EMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_220ER(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_222ERI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_224EXP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_226FLOOR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_228FOSC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_230FRACTAL(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_leftbars, int __pyx_v_rightbars); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_232HA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_234HMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_236HT_DCPERIOD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_238HT_DCPHASE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_240HT_PHASOR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_242HT_SINE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_244HT_TRENDLINE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_246HT_TRENDMODE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_248IMI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_250KAMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_252KC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod, int __pyx_v_atrperiod, double __pyx_v_nbdev); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_254KDJ(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_slowk_period, int __pyx_v_slowk_matype, int __pyx_v_slowd_period, int __pyx_v_slowd_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_256LINEARREG(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_258LINEARREG_ANGLE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_260LINEARREG_INTERCEPT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_262LINEARREG_SLOPE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_264LN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_266LOG10(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_268MA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_270MACD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_272MACDEXT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_fastmatype, int __pyx_v_slowperiod, int __pyx_v_slowmatype, int __pyx_v_signalperiod, int __pyx_v_signalmatype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_274MACDFIX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_signalperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_276MAMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, double __pyx_v_fastlimit, double __pyx_v_slowlimit); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_278MARKETFI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_280MASSI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_282MAVP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, PyArrayObject *__pyx_v_periods, int __pyx_v_minperiod, int __pyx_v_maxperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_284MAX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_286MAXINDEX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_288MEDPRICE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_290MFI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_292MIDPOINT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_294MIDPRICE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_296MIN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_298MININDEX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_300MINMAX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_302MINMAXINDEX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_304MINUS_DI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_306MINUS_DM(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_308MOM(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_310MULT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real0, PyArrayObject *__pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_312NATR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_314NVI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_316OBV(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, PyArrayObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_318PERCENTILE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_percentile); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_320PERCENTRANK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_322PLUS_DI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_324PLUS_DM(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_326PPO(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_328PVI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_330PVO(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_volume, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_332PVT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_334QSTICK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_336RMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_338ROC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_340ROCP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_342ROCR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_344ROCR100(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_346RSI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_348RVI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_stddevperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_350RVOL(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_352SAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, double __pyx_v_acceleration, double __pyx_v_maximum); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_354SAREXT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, double __pyx_v_startvalue, double __pyx_v_offsetonreverse, double __pyx_v_accelerationinitlong, double __pyx_v_accelerationlong, double __pyx_v_accelerationmaxlong, double __pyx_v_accelerationinitshort, double __pyx_v_accelerationshort, double __pyx_v_accelerationmaxshort); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_356SIN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_358SINH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_360SMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_362SMI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_364SQRT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_366STDDEV(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdev); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_368STOCH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_slowk_period, int __pyx_v_slowk_matype, int __pyx_v_slowd_period, int __pyx_v_slowd_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_370STOCHF(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_fastd_period, int __pyx_v_fastd_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_372STOCHRSI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_fastk_period, int __pyx_v_fastd_period, int __pyx_v_fastd_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_374SUB(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real0, PyArrayObject *__pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_376SUM(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_378SUPERTREND(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod, double __pyx_v_multiplier); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_380T3(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_vfactor); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_382TAN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_384TANH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_386TEMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_388TRANGE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_390TRIMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_392TRIX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_394TSF(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_396TSI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_firstperiod, int __pyx_v_secondperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_398TYPPRICE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_400ULTOSC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod1, int __pyx_v_timeperiod2, int __pyx_v_timeperiod3); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_402VAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdev); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_404VHF(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_406VORTEX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_408VWAP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_410VWMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, PyArrayObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_412WAD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_414WCLPRICE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_416WILLR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_418WMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_420ZLEMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_422str2bytes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_s); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_424bytes2str(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_426str2bytes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_s); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_428bytes2str(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_function_name, PyObject *__pyx_v_func_object, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_2__local(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_4info(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_6function_flags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_8output_flags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_10get_input_names(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_12set_input_names(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_input_names); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_14get_input_arrays(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_16set_input_arrays(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_input_arrays); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_18get_parameters(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_20set_parameters(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_parameters, PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_22set_function_args(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_24lookback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_26output_names(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_28outputs(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_30run(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_input_arrays); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_32__call__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_34__input_price_series_names(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_36__call_function(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_38__check_opt_input_value(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_input_name, PyObject *__pyx_v_value); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_40__get_opt_input_value(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_input_name); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_42__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_44__unicode__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_46__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_430_ta_getGroupTable(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_432_ta_getFuncTable(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_group); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_434__get_flags(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_flag, PyObject *__pyx_v_flags_lookup_dict); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_436_ta_getFuncInfo(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_function_name); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_438_ta_getInputParameterInfo(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_function_name, int __pyx_v_idx); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_440_ta_getOptInputParameterInfo(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_function_name, int __pyx_v_idx); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_442_ta_getOutputParameterInfo(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_function_name, int __pyx_v_idx); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_444_get_defaults_and_docs(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func_info); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_6Stream___cinit__(struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_6Stream_9out_range___get__(struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_6Stream_2advance(struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_6Stream_4__copy__(struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_6Stream_6__deepcopy__(struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_memo); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_6Stream_8__reduce__(struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_9AC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_9AC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AC_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11ACOS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11ACOS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ACOS_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ACOS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ACOS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ACOS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ACOS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_9AD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_9AD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AD_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10ADD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10ADD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self, PyObject *__pyx_v_real0, PyObject *__pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADD_Stream_4open_and_fill(PyObject *__pyx_v_real0, PyObject *__pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_12ADOSC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_fastperiod, int __pyx_v_slowperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_fastperiod, int __pyx_v_slowperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10ADR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10ADR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADR_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10ADX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10ADX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADX_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11ADXR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11ADXR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ADXR_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ADXR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ADXR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ADXR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ADXR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_9AO_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_9AO_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AO_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AO_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AO_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AO_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9AO_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10APO_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10APO_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10APO_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10APO_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10APO_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10APO_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10APO_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_12AROON_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_12AROON_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12AROON_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12AROON_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12AROON_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12AROON_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12AROON_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11ASIN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11ASIN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ASIN_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ASIN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ASIN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ASIN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ASIN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11ATAN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11ATAN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ATAN_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ATAN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ATAN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ATAN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ATAN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10ATR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10ATR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ATR_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ATR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ATR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ATR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ATR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_13BBANDS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdevup, double __pyx_v_nbdevdn, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdevup, double __pyx_v_nbdevdn, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11BETA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11BETA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self, PyObject *__pyx_v_real0, PyObject *__pyx_v_real1, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11BETA_Stream_4open_and_fill(PyObject *__pyx_v_real0, PyObject *__pyx_v_real1, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11BETA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11BETA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11BETA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11BETA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10BOP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10BOP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10BOP_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10BOP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10BOP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10BOP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10BOP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10CCI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10CCI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CCI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CCI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CCI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CCI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CCI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11CEIL_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11CEIL_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11CEIL_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11CEIL_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11CEIL_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11CEIL_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11CEIL_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10CMF_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10CMF_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMF_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMF_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMF_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMF_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMF_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10CMO_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10CMO_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMO_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMO_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMO_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMO_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMO_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11CMOU_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11CMOU_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11CMOU_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11CMOU_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11CMOU_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11CMOU_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11CMOU_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_wmaperiod, int __pyx_v_roc1period, int __pyx_v_roc2period); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_wmaperiod, int __pyx_v_roc1period, int __pyx_v_roc2period); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_13CORREL_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_13CORREL_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self, PyObject *__pyx_v_real0, PyObject *__pyx_v_real1, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13CORREL_Stream_4open_and_fill(PyObject *__pyx_v_real0, PyObject *__pyx_v_real1, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13CORREL_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13CORREL_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13CORREL_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13CORREL_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10COS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10COS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10COS_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10COS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10COS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10COS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10COS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11COSH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11COSH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11COSH_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11COSH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11COSH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11COSH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11COSH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10CVI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10CVI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod, int __pyx_v_rocperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CVI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod, int __pyx_v_rocperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CVI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CVI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CVI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10CVI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11DEMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11DEMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11DEMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11DEMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11DEMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11DEMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11DEMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10DIV_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10DIV_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self, PyObject *__pyx_v_real0, PyObject *__pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10DIV_Stream_4open_and_fill(PyObject *__pyx_v_real0, PyObject *__pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10DIV_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10DIV_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10DIV_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10DIV_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10DPO_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10DPO_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10DPO_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10DPO_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10DPO_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10DPO_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10DPO_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_9DX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_9DX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9DX_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9DX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9DX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9DX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9DX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10EFI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10EFI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EFI_Stream_4open_and_fill(PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EFI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EFI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EFI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EFI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10EMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10EMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_9ER_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_9ER_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9ER_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9ER_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9ER_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9ER_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9ER_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10ERI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10ERI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ERI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ERI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ERI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ERI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ERI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10EXP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10EXP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EXP_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EXP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EXP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EXP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10EXP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_12FLOOR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11FOSC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11FOSC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11FOSC_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11FOSC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11FOSC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11FOSC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11FOSC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_leftbars, int __pyx_v_rightbars); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_leftbars, int __pyx_v_rightbars); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_9HA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_9HA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9HA_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9HA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9HA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9HA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9HA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10HMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10HMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10HMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10HMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10HMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10HMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10HMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10IMI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10IMI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10IMI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10IMI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10IMI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10IMI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10IMI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11KAMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11KAMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11KAMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11KAMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11KAMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11KAMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11KAMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_9KC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_9KC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod, int __pyx_v_atrperiod, double __pyx_v_nbdev); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9KC_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod, int __pyx_v_atrperiod, double __pyx_v_nbdev); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9KC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9KC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9KC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9KC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10KDJ_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10KDJ_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_slowk_period, int __pyx_v_slowk_matype, int __pyx_v_slowd_period, int __pyx_v_slowd_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10KDJ_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_slowk_period, int __pyx_v_slowk_matype, int __pyx_v_slowd_period, int __pyx_v_slowd_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10KDJ_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10KDJ_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10KDJ_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10KDJ_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_9LN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_9LN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9LN_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9LN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9LN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9LN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9LN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_12LOG10_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_12LOG10_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12LOG10_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12LOG10_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12LOG10_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12LOG10_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12LOG10_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_9MA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_9MA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9MA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9MA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9MA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9MA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9MA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11MACD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11MACD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MACD_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MACD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MACD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MACD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MACD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_fastmatype, int __pyx_v_slowperiod, int __pyx_v_slowmatype, int __pyx_v_signalperiod, int __pyx_v_signalmatype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_fastmatype, int __pyx_v_slowperiod, int __pyx_v_slowmatype, int __pyx_v_signalperiod, int __pyx_v_signalmatype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_signalperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_signalperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11MAMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11MAMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, double __pyx_v_fastlimit, double __pyx_v_slowlimit); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAMA_Stream_4open_and_fill(PyObject *__pyx_v_real, double __pyx_v_fastlimit, double __pyx_v_slowlimit); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_12MASSI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_12MASSI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12MASSI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12MASSI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12MASSI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12MASSI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12MASSI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11MAVP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11MAVP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self, PyObject *__pyx_v_real, PyObject *__pyx_v_periods, int __pyx_v_minperiod, int __pyx_v_maxperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAVP_Stream_4open_and_fill(PyObject *__pyx_v_real, PyObject *__pyx_v_periods, int __pyx_v_minperiod, int __pyx_v_maxperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAVP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self, double __pyx_v_real, double __pyx_v_periods); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAVP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self, double __pyx_v_real, double __pyx_v_periods); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAVP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAVP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10MAX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10MAX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MAX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MAX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MAX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MAX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MAX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10MFI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10MFI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MFI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MFI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MFI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MFI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MFI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10MIN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10MIN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MIN_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MIN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MIN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MIN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MIN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15MININDEX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_13MINMAX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10MOM_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10MOM_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MOM_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MOM_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MOM_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MOM_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10MOM_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11MULT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11MULT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self, PyObject *__pyx_v_real0, PyObject *__pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MULT_Stream_4open_and_fill(PyObject *__pyx_v_real0, PyObject *__pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MULT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MULT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MULT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11MULT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11NATR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11NATR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11NATR_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11NATR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11NATR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11NATR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11NATR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10NVI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10NVI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self, PyObject *__pyx_v_close, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10NVI_Stream_4open_and_fill(PyObject *__pyx_v_close, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10NVI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10NVI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10NVI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10NVI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10OBV_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10OBV_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self, PyObject *__pyx_v_real, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10OBV_Stream_4open_and_fill(PyObject *__pyx_v_real, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10OBV_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self, double __pyx_v_real, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10OBV_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self, double __pyx_v_real, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10OBV_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10OBV_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_percentile); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_percentile); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10PPO_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10PPO_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PPO_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PPO_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PPO_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PPO_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PPO_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10PVI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10PVI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self, PyObject *__pyx_v_close, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVI_Stream_4open_and_fill(PyObject *__pyx_v_close, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10PVO_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10PVO_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self, PyObject *__pyx_v_volume, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVO_Stream_4open_and_fill(PyObject *__pyx_v_volume, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVO_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVO_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVO_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVO_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10PVT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10PVT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self, PyObject *__pyx_v_close, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVT_Stream_4open_and_fill(PyObject *__pyx_v_close, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_13QSTICK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10RMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10RMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10ROC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10ROC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ROC_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ROC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ROC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ROC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10ROC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11ROCP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11ROCP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCP_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11ROCR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11ROCR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCR_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_14ROCR100_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10RSI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10RSI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RSI_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RSI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RSI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RSI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RSI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10RVI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10RVI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_stddevperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RVI_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_stddevperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RVI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RVI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RVI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10RVI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11RVOL_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11RVOL_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self, PyObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11RVOL_Stream_4open_and_fill(PyObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11RVOL_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11RVOL_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11RVOL_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11RVOL_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10SAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10SAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, double __pyx_v_acceleration, double __pyx_v_maximum); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SAR_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, double __pyx_v_acceleration, double __pyx_v_maximum); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_13SAREXT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, double __pyx_v_startvalue, double __pyx_v_offsetonreverse, double __pyx_v_accelerationinitlong, double __pyx_v_accelerationlong, double __pyx_v_accelerationmaxlong, double __pyx_v_accelerationinitshort, double __pyx_v_accelerationshort, double __pyx_v_accelerationmaxshort); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, double __pyx_v_startvalue, double __pyx_v_offsetonreverse, double __pyx_v_accelerationinitlong, double __pyx_v_accelerationlong, double __pyx_v_accelerationmaxlong, double __pyx_v_accelerationinitshort, double __pyx_v_accelerationshort, double __pyx_v_accelerationmaxshort); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10SIN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10SIN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SIN_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SIN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SIN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SIN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SIN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11SINH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11SINH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11SINH_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11SINH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11SINH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11SINH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11SINH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10SMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10SMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10SMI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10SMI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11SQRT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11SQRT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11SQRT_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11SQRT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11SQRT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11SQRT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11SQRT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_13STDDEV_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdev); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdev); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_12STOCH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_12STOCH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_slowk_period, int __pyx_v_slowk_matype, int __pyx_v_slowd_period, int __pyx_v_slowd_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12STOCH_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_slowk_period, int __pyx_v_slowk_matype, int __pyx_v_slowd_period, int __pyx_v_slowd_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12STOCH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12STOCH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12STOCH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12STOCH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_13STOCHF_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_fastd_period, int __pyx_v_fastd_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_fastd_period, int __pyx_v_fastd_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_fastk_period, int __pyx_v_fastd_period, int __pyx_v_fastd_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_fastk_period, int __pyx_v_fastd_period, int __pyx_v_fastd_matype); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10SUB_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10SUB_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self, PyObject *__pyx_v_real0, PyObject *__pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUB_Stream_4open_and_fill(PyObject *__pyx_v_real0, PyObject *__pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUB_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUB_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUB_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUB_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10SUM_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10SUM_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUM_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUM_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUM_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUM_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUM_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod, double __pyx_v_multiplier); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod, double __pyx_v_multiplier); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_9T3_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_9T3_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_vfactor); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9T3_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_vfactor); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9T3_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9T3_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9T3_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_9T3_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10TAN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10TAN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TAN_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TAN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TAN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TAN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TAN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11TANH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11TANH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self, PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TANH_Stream_4open_and_fill(PyObject *__pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TANH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TANH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TANH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TANH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11TEMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11TEMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TEMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TEMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TEMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TEMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TEMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_13TRANGE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_12TRIMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11TRIX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11TRIX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TRIX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TRIX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TRIX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TRIX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11TRIX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10TSF_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10TSF_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSF_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSF_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSF_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSF_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSF_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10TSI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10TSI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_firstperiod, int __pyx_v_secondperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSI_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_firstperiod, int __pyx_v_secondperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod1, int __pyx_v_timeperiod2, int __pyx_v_timeperiod3); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod1, int __pyx_v_timeperiod2, int __pyx_v_timeperiod3); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10VAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10VAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdev); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10VAR_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdev); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10VAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10VAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10VAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10VAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10VHF_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10VHF_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10VHF_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10VHF_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10VHF_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10VHF_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10VHF_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_13VORTEX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11VWAP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11VWAP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWAP_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWAP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWAP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWAP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWAP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_11VWMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_11VWMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, PyObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWMA_Stream_4open_and_fill(PyObject *__pyx_v_real, PyObject *__pyx_v_volume, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self, double __pyx_v_real, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self, double __pyx_v_real, double __pyx_v_volume); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10WAD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10WAD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10WAD_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10WAD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10WAD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10WAD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10WAD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_12WILLR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_12WILLR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12WILLR_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12WILLR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12WILLR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12WILLR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12WILLR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_10WMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_10WMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10WMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10WMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10WMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10WMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_10WMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self); /* proto */ -static void __pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self); /* proto */ -static int __pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self, double __pyx_v_real); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_446__pyx_unpickle__TA_ReadLease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_5talib_7_ta_lib_448__pyx_unpickle__TA_WriteLease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib__TA_ReadLease(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib__TA_ReadLease(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib__TA_ReadLease(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib__TA_ReadLease __pyx_tp_new_vectorcall_5talib_7_ta_lib__TA_ReadLease -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib__TA_ReadLease(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib__TA_WriteLease(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib__TA_WriteLease(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib__TA_WriteLease(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib__TA_WriteLease __pyx_tp_new_vectorcall_5talib_7_ta_lib__TA_WriteLease -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib__TA_WriteLease(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AC_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_AC_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_AC_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AC_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_AC_Stream __pyx_pw_5talib_7_ta_lib_9AC_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ACCBANDS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ACCBANDS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ACCBANDS_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ACCBANDS_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ACCBANDS_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ACCBANDS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ACCBANDS_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ACCBANDS_Stream __pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ACOS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ACOS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ACOS_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ACOS_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ACOS_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ACOS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ACOS_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ACOS_Stream __pyx_pw_5talib_7_ta_lib_11ACOS_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AD_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_AD_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_AD_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AD_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_AD_Stream __pyx_pw_5talib_7_ta_lib_9AD_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ADD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ADD_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ADD_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ADD_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ADD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ADD_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ADD_Stream __pyx_pw_5talib_7_ta_lib_10ADD_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ADOSC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADOSC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ADOSC_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ADOSC_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ADOSC_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ADOSC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ADOSC_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ADOSC_Stream __pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ADR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ADR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ADR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ADR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ADR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ADR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ADR_Stream __pyx_pw_5talib_7_ta_lib_10ADR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ADX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ADX_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ADX_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ADX_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ADX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ADX_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ADX_Stream __pyx_pw_5talib_7_ta_lib_10ADX_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ADXR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADXR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ADXR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ADXR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ADXR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ADXR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ADXR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ADXR_Stream __pyx_pw_5talib_7_ta_lib_11ADXR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AO_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AO_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AO_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_AO_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_AO_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AO_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AO_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_AO_Stream __pyx_pw_5talib_7_ta_lib_9AO_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_APO_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_APO_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_APO_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_APO_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_APO_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_APO_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_APO_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_APO_Stream __pyx_pw_5talib_7_ta_lib_10APO_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AROON_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AROON_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AROON_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_AROON_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_AROON_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AROON_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AROON_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_AROON_Stream __pyx_pw_5talib_7_ta_lib_12AROON_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AROONOSC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AROONOSC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AROONOSC_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_AROONOSC_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_AROONOSC_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AROONOSC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AROONOSC_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_AROONOSC_Stream __pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ASIN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ASIN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ASIN_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ASIN_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ASIN_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ASIN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ASIN_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ASIN_Stream __pyx_pw_5talib_7_ta_lib_11ASIN_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ATAN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ATAN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ATAN_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ATAN_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ATAN_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ATAN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ATAN_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ATAN_Stream __pyx_pw_5talib_7_ta_lib_11ATAN_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ATR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ATR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ATR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ATR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ATR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ATR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ATR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ATR_Stream __pyx_pw_5talib_7_ta_lib_10ATR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AVGDEV_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AVGDEV_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AVGDEV_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_AVGDEV_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_AVGDEV_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AVGDEV_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AVGDEV_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_AVGDEV_Stream __pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AVGPRICE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AVGPRICE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AVGPRICE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_AVGPRICE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_AVGPRICE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AVGPRICE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AVGPRICE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_AVGPRICE_Stream __pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_BBANDS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_BBANDS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_BBANDS_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_BBANDS_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_BBANDS_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_BBANDS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_BBANDS_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_BBANDS_Stream __pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_BETA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_BETA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_BETA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_BETA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_BETA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_BETA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_BETA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_BETA_Stream __pyx_pw_5talib_7_ta_lib_11BETA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_BOP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_BOP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_BOP_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_BOP_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_BOP_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_BOP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_BOP_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_BOP_Stream __pyx_pw_5talib_7_ta_lib_10BOP_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CCI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CCI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CCI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CCI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CCI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CCI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CCI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CCI_Stream __pyx_pw_5talib_7_ta_lib_10CCI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL2CROWS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL2CROWS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL2CROWS_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDL2CROWS_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL2CROWS_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL2CROWS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL2CROWS_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDL2CROWS_Stream __pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDL3BLACKCROWS_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3BLACKCROWS_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDL3BLACKCROWS_Stream __pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3INSIDE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3INSIDE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL3INSIDE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDL3INSIDE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3INSIDE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3INSIDE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL3INSIDE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDL3INSIDE_Stream __pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDL3LINESTRIKE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3LINESTRIKE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDL3LINESTRIKE_Stream __pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3OUTSIDE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3OUTSIDE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL3OUTSIDE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDL3OUTSIDE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3OUTSIDE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3OUTSIDE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL3OUTSIDE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDL3OUTSIDE_Stream __pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream __pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream __pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLABANDONEDBABY_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLABANDONEDBABY_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLABANDONEDBABY_Stream __pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream __pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLBELTHOLD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLBELTHOLD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLBELTHOLD_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLBELTHOLD_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLBELTHOLD_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLBELTHOLD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLBELTHOLD_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLBELTHOLD_Stream __pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLBREAKAWAY_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLBREAKAWAY_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLBREAKAWAY_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLBREAKAWAY_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLBREAKAWAY_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLBREAKAWAY_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLBREAKAWAY_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLBREAKAWAY_Stream __pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream __pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream __pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream __pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream __pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLDOJI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDOJI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLDOJI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLDOJI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDOJI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLDOJI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLDOJI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLDOJI_Stream __pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLDOJISTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDOJISTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLDOJISTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLDOJISTAR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDOJISTAR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLDOJISTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLDOJISTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLDOJISTAR_Stream __pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream __pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLENGULFING_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLENGULFING_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLENGULFING_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLENGULFING_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLENGULFING_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLENGULFING_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLENGULFING_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLENGULFING_Stream __pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream __pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLEVENINGSTAR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLEVENINGSTAR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLEVENINGSTAR_Stream __pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream __pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream __pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHAMMER_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHAMMER_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHAMMER_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLHAMMER_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHAMMER_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHAMMER_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHAMMER_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLHAMMER_Stream __pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHANGINGMAN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHANGINGMAN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHANGINGMAN_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLHANGINGMAN_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHANGINGMAN_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHANGINGMAN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHANGINGMAN_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLHANGINGMAN_Stream __pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHARAMI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHARAMI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHARAMI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLHARAMI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHARAMI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHARAMI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHARAMI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLHARAMI_Stream __pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHARAMICROSS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHARAMICROSS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHARAMICROSS_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLHARAMICROSS_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHARAMICROSS_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHARAMICROSS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHARAMICROSS_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLHARAMICROSS_Stream __pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHIGHWAVE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIGHWAVE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHIGHWAVE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLHIGHWAVE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIGHWAVE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHIGHWAVE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHIGHWAVE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLHIGHWAVE_Stream __pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHIKKAKE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIKKAKE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHIKKAKE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLHIKKAKE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIKKAKE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHIKKAKE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHIKKAKE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLHIKKAKE_Stream __pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream __pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream __pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream __pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLINNECK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLINNECK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLINNECK_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLINNECK_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLINNECK_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLINNECK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLINNECK_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLINNECK_Stream __pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream __pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLKICKING_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLKICKING_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLKICKING_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLKICKING_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLKICKING_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLKICKING_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLKICKING_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLKICKING_Stream __pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream __pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream __pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream __pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLLONGLINE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLONGLINE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLLONGLINE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLLONGLINE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLONGLINE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLLONGLINE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLLONGLINE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLLONGLINE_Stream __pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMARUBOZU_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMARUBOZU_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLMARUBOZU_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLMARUBOZU_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMARUBOZU_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMARUBOZU_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLMARUBOZU_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLMARUBOZU_Stream __pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLMATCHINGLOW_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMATCHINGLOW_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLMATCHINGLOW_Stream __pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMATHOLD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMATHOLD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLMATHOLD_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLMATHOLD_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMATHOLD_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMATHOLD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLMATHOLD_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLMATHOLD_Stream __pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream __pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLMORNINGSTAR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMORNINGSTAR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLMORNINGSTAR_Stream __pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLONNECK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLONNECK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLONNECK_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLONNECK_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLONNECK_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLONNECK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLONNECK_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLONNECK_Stream __pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLPIERCING_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLPIERCING_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLPIERCING_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLPIERCING_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLPIERCING_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLPIERCING_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLPIERCING_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLPIERCING_Stream __pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream __pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream __pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream __pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream __pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSHORTLINE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSHORTLINE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLSHORTLINE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLSHORTLINE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSHORTLINE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSHORTLINE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLSHORTLINE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLSHORTLINE_Stream __pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLSPINNINGTOP_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSPINNINGTOP_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLSPINNINGTOP_Stream __pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream __pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream __pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLTAKURI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTAKURI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLTAKURI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLTAKURI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTAKURI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLTAKURI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLTAKURI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLTAKURI_Stream __pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLTASUKIGAP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTASUKIGAP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLTASUKIGAP_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLTASUKIGAP_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTASUKIGAP_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLTASUKIGAP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLTASUKIGAP_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLTASUKIGAP_Stream __pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLTHRUSTING_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTHRUSTING_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLTHRUSTING_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLTHRUSTING_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTHRUSTING_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLTHRUSTING_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLTHRUSTING_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLTHRUSTING_Stream __pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLTRISTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTRISTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLTRISTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLTRISTAR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTRISTAR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLTRISTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLTRISTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLTRISTAR_Stream __pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream __pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream __pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream __pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CEIL_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CEIL_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CEIL_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CEIL_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CEIL_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CEIL_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CEIL_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CEIL_Stream __pyx_pw_5talib_7_ta_lib_11CEIL_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CMF_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CMF_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CMF_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CMF_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CMF_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CMF_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CMF_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CMF_Stream __pyx_pw_5talib_7_ta_lib_10CMF_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CMO_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CMO_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CMO_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CMO_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CMO_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CMO_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CMO_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CMO_Stream __pyx_pw_5talib_7_ta_lib_10CMO_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CMOU_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CMOU_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CMOU_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CMOU_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CMOU_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CMOU_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CMOU_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CMOU_Stream __pyx_pw_5talib_7_ta_lib_11CMOU_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_COPPOCK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_COPPOCK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_COPPOCK_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_COPPOCK_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_COPPOCK_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_COPPOCK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_COPPOCK_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_COPPOCK_Stream __pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CORREL_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CORREL_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CORREL_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CORREL_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CORREL_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CORREL_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CORREL_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CORREL_Stream __pyx_pw_5talib_7_ta_lib_13CORREL_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_COS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_COS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_COS_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_COS_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_COS_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_COS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_COS_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_COS_Stream __pyx_pw_5talib_7_ta_lib_10COS_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_COSH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_COSH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_COSH_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_COSH_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_COSH_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_COSH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_COSH_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_COSH_Stream __pyx_pw_5talib_7_ta_lib_11COSH_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CUMSUM_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CUMSUM_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CUMSUM_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CUMSUM_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CUMSUM_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CUMSUM_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CUMSUM_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CUMSUM_Stream __pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CVI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CVI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CVI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_CVI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_CVI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CVI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CVI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_CVI_Stream __pyx_pw_5talib_7_ta_lib_10CVI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_DEMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_DEMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_DEMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_DEMA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_DEMA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_DEMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_DEMA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_DEMA_Stream __pyx_pw_5talib_7_ta_lib_11DEMA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_DIV_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_DIV_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_DIV_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_DIV_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_DIV_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_DIV_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_DIV_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_DIV_Stream __pyx_pw_5talib_7_ta_lib_10DIV_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_DONCHIAN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_DONCHIAN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_DONCHIAN_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_DONCHIAN_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_DONCHIAN_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_DONCHIAN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_DONCHIAN_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_DONCHIAN_Stream __pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_DPO_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_DPO_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_DPO_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_DPO_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_DPO_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_DPO_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_DPO_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_DPO_Stream __pyx_pw_5talib_7_ta_lib_10DPO_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_DX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_DX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_DX_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_DX_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_DX_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_DX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_DX_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_DX_Stream __pyx_pw_5talib_7_ta_lib_9DX_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_EFI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_EFI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_EFI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_EFI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_EFI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_EFI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_EFI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_EFI_Stream __pyx_pw_5talib_7_ta_lib_10EFI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_EMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_EMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_EMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_EMA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_EMA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_EMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_EMA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_EMA_Stream __pyx_pw_5talib_7_ta_lib_10EMA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ER_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ER_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ER_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ER_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ER_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ER_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ER_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ER_Stream __pyx_pw_5talib_7_ta_lib_9ER_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ERI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ERI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ERI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ERI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ERI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ERI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ERI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ERI_Stream __pyx_pw_5talib_7_ta_lib_10ERI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_EXP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_EXP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_EXP_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_EXP_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_EXP_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_EXP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_EXP_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_EXP_Stream __pyx_pw_5talib_7_ta_lib_10EXP_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_FLOOR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_FLOOR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_FLOOR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_FLOOR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_FLOOR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_FLOOR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_FLOOR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_FLOOR_Stream __pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_FOSC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_FOSC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_FOSC_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_FOSC_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_FOSC_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_FOSC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_FOSC_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_FOSC_Stream __pyx_pw_5talib_7_ta_lib_11FOSC_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_FRACTAL_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_FRACTAL_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_FRACTAL_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_FRACTAL_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_FRACTAL_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_FRACTAL_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_FRACTAL_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_FRACTAL_Stream __pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_HA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_HA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_HA_Stream __pyx_pw_5talib_7_ta_lib_9HA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_HMA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_HMA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HMA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_HMA_Stream __pyx_pw_5talib_7_ta_lib_10HMA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HT_DCPERIOD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_DCPERIOD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HT_DCPERIOD_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_HT_DCPERIOD_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_DCPERIOD_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HT_DCPERIOD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HT_DCPERIOD_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_HT_DCPERIOD_Stream __pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HT_DCPHASE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_DCPHASE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HT_DCPHASE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_HT_DCPHASE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_DCPHASE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HT_DCPHASE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HT_DCPHASE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_HT_DCPHASE_Stream __pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HT_PHASOR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_PHASOR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HT_PHASOR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_HT_PHASOR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_PHASOR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HT_PHASOR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HT_PHASOR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_HT_PHASOR_Stream __pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HT_SINE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_SINE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HT_SINE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_HT_SINE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_SINE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HT_SINE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HT_SINE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_HT_SINE_Stream __pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HT_TRENDLINE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_TRENDLINE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HT_TRENDLINE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_HT_TRENDLINE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_TRENDLINE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HT_TRENDLINE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HT_TRENDLINE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_HT_TRENDLINE_Stream __pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HT_TRENDMODE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_TRENDMODE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HT_TRENDMODE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_HT_TRENDMODE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_TRENDMODE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HT_TRENDMODE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HT_TRENDMODE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_HT_TRENDMODE_Stream __pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_IMI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_IMI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_IMI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_IMI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_IMI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_IMI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_IMI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_IMI_Stream __pyx_pw_5talib_7_ta_lib_10IMI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_KAMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_KAMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_KAMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_KAMA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_KAMA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_KAMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_KAMA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_KAMA_Stream __pyx_pw_5talib_7_ta_lib_11KAMA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_KC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_KC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_KC_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_KC_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_KC_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_KC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_KC_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_KC_Stream __pyx_pw_5talib_7_ta_lib_9KC_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_KDJ_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_KDJ_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_KDJ_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_KDJ_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_KDJ_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_KDJ_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_KDJ_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_KDJ_Stream __pyx_pw_5talib_7_ta_lib_10KDJ_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_LINEARREG_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_LINEARREG_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_LINEARREG_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_LINEARREG_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_LINEARREG_Stream __pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_LINEARREG_ANGLE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_ANGLE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_LINEARREG_ANGLE_Stream __pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream __pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_LINEARREG_SLOPE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_SLOPE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_LINEARREG_SLOPE_Stream __pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_LN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_LN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_LN_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_LN_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_LN_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_LN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_LN_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_LN_Stream __pyx_pw_5talib_7_ta_lib_9LN_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_LOG10_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_LOG10_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_LOG10_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_LOG10_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_LOG10_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_LOG10_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_LOG10_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_LOG10_Stream __pyx_pw_5talib_7_ta_lib_12LOG10_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MA_Stream __pyx_pw_5talib_7_ta_lib_9MA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MACD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MACD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MACD_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MACD_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MACD_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MACD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MACD_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MACD_Stream __pyx_pw_5talib_7_ta_lib_11MACD_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MACDEXT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MACDEXT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MACDEXT_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MACDEXT_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MACDEXT_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MACDEXT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MACDEXT_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MACDEXT_Stream __pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MACDFIX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MACDFIX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MACDFIX_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MACDFIX_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MACDFIX_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MACDFIX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MACDFIX_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MACDFIX_Stream __pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MAMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MAMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MAMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MAMA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MAMA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MAMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MAMA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MAMA_Stream __pyx_pw_5talib_7_ta_lib_11MAMA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MARKETFI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MARKETFI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MARKETFI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MARKETFI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MARKETFI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MARKETFI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MARKETFI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MARKETFI_Stream __pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MASSI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MASSI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MASSI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MASSI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MASSI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MASSI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MASSI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MASSI_Stream __pyx_pw_5talib_7_ta_lib_12MASSI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MAVP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MAVP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MAVP_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MAVP_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MAVP_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MAVP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MAVP_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MAVP_Stream __pyx_pw_5talib_7_ta_lib_11MAVP_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MAX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MAX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MAX_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MAX_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MAX_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MAX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MAX_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MAX_Stream __pyx_pw_5talib_7_ta_lib_10MAX_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MAXINDEX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MAXINDEX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MAXINDEX_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MAXINDEX_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MAXINDEX_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MAXINDEX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MAXINDEX_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MAXINDEX_Stream __pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MEDPRICE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MEDPRICE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MEDPRICE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MEDPRICE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MEDPRICE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MEDPRICE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MEDPRICE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MEDPRICE_Stream __pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MFI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MFI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MFI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MFI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MFI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MFI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MFI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MFI_Stream __pyx_pw_5talib_7_ta_lib_10MFI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MIDPOINT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MIDPOINT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MIDPOINT_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MIDPOINT_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MIDPOINT_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MIDPOINT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MIDPOINT_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MIDPOINT_Stream __pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MIDPRICE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MIDPRICE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MIDPRICE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MIDPRICE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MIDPRICE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MIDPRICE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MIDPRICE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MIDPRICE_Stream __pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MIN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MIN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MIN_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MIN_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MIN_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MIN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MIN_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MIN_Stream __pyx_pw_5talib_7_ta_lib_10MIN_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MININDEX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MININDEX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MININDEX_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MININDEX_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MININDEX_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MININDEX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MININDEX_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MININDEX_Stream __pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MINMAX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MINMAX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MINMAX_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MINMAX_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MINMAX_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MINMAX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MINMAX_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MINMAX_Stream __pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MINMAXINDEX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MINMAXINDEX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MINMAXINDEX_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MINMAXINDEX_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MINMAXINDEX_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MINMAXINDEX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MINMAXINDEX_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MINMAXINDEX_Stream __pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MINUS_DI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MINUS_DI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MINUS_DI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MINUS_DI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MINUS_DI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MINUS_DI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MINUS_DI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MINUS_DI_Stream __pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MINUS_DM_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MINUS_DM_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MINUS_DM_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MINUS_DM_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MINUS_DM_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MINUS_DM_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MINUS_DM_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MINUS_DM_Stream __pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MOM_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MOM_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MOM_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MOM_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MOM_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MOM_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MOM_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MOM_Stream __pyx_pw_5talib_7_ta_lib_10MOM_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MULT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MULT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MULT_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_MULT_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_MULT_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MULT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MULT_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_MULT_Stream __pyx_pw_5talib_7_ta_lib_11MULT_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_NATR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_NATR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_NATR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_NATR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_NATR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_NATR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_NATR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_NATR_Stream __pyx_pw_5talib_7_ta_lib_11NATR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_NVI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_NVI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_NVI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_NVI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_NVI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_NVI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_NVI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_NVI_Stream __pyx_pw_5talib_7_ta_lib_10NVI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_OBV_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_OBV_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_OBV_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_OBV_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_OBV_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_OBV_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_OBV_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_OBV_Stream __pyx_pw_5talib_7_ta_lib_10OBV_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PERCENTILE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PERCENTILE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PERCENTILE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_PERCENTILE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_PERCENTILE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PERCENTILE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PERCENTILE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_PERCENTILE_Stream __pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PERCENTRANK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PERCENTRANK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PERCENTRANK_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_PERCENTRANK_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_PERCENTRANK_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PERCENTRANK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PERCENTRANK_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_PERCENTRANK_Stream __pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PLUS_DI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PLUS_DI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PLUS_DI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_PLUS_DI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_PLUS_DI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PLUS_DI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PLUS_DI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_PLUS_DI_Stream __pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PLUS_DM_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PLUS_DM_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PLUS_DM_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_PLUS_DM_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_PLUS_DM_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PLUS_DM_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PLUS_DM_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_PLUS_DM_Stream __pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PPO_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PPO_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PPO_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_PPO_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_PPO_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PPO_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PPO_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_PPO_Stream __pyx_pw_5talib_7_ta_lib_10PPO_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PVI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PVI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PVI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_PVI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_PVI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PVI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PVI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_PVI_Stream __pyx_pw_5talib_7_ta_lib_10PVI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PVO_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PVO_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PVO_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_PVO_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_PVO_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PVO_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PVO_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_PVO_Stream __pyx_pw_5talib_7_ta_lib_10PVO_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PVT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PVT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PVT_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_PVT_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_PVT_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PVT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PVT_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_PVT_Stream __pyx_pw_5talib_7_ta_lib_10PVT_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_QSTICK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_QSTICK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_QSTICK_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_QSTICK_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_QSTICK_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_QSTICK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_QSTICK_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_QSTICK_Stream __pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_RMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_RMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_RMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_RMA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_RMA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_RMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_RMA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_RMA_Stream __pyx_pw_5talib_7_ta_lib_10RMA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ROC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ROC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ROC_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ROC_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ROC_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ROC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ROC_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ROC_Stream __pyx_pw_5talib_7_ta_lib_10ROC_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ROCP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ROCP_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ROCP_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCP_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ROCP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ROCP_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ROCP_Stream __pyx_pw_5talib_7_ta_lib_11ROCP_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ROCR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ROCR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ROCR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ROCR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ROCR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ROCR_Stream __pyx_pw_5talib_7_ta_lib_11ROCR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ROCR100_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCR100_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ROCR100_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ROCR100_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCR100_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ROCR100_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ROCR100_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ROCR100_Stream __pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_RSI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_RSI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_RSI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_RSI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_RSI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_RSI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_RSI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_RSI_Stream __pyx_pw_5talib_7_ta_lib_10RSI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_RVI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_RVI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_RVI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_RVI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_RVI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_RVI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_RVI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_RVI_Stream __pyx_pw_5talib_7_ta_lib_10RVI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_RVOL_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_RVOL_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_RVOL_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_RVOL_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_RVOL_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_RVOL_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_RVOL_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_RVOL_Stream __pyx_pw_5talib_7_ta_lib_11RVOL_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_SAR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_SAR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SAR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_SAR_Stream __pyx_pw_5talib_7_ta_lib_10SAR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SAREXT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SAREXT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SAREXT_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_SAREXT_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_SAREXT_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SAREXT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SAREXT_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_SAREXT_Stream __pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SIN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SIN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SIN_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_SIN_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_SIN_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SIN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SIN_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_SIN_Stream __pyx_pw_5talib_7_ta_lib_10SIN_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SINH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SINH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SINH_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_SINH_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_SINH_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SINH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SINH_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_SINH_Stream __pyx_pw_5talib_7_ta_lib_11SINH_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_SMA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_SMA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SMA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_SMA_Stream __pyx_pw_5talib_7_ta_lib_10SMA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SMI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SMI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SMI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_SMI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_SMI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SMI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SMI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_SMI_Stream __pyx_pw_5talib_7_ta_lib_10SMI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SQRT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SQRT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SQRT_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_SQRT_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_SQRT_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SQRT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SQRT_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_SQRT_Stream __pyx_pw_5talib_7_ta_lib_11SQRT_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_STDDEV_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_STDDEV_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_STDDEV_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_STDDEV_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_STDDEV_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_STDDEV_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_STDDEV_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_STDDEV_Stream __pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_STOCH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_STOCH_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_STOCH_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCH_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_STOCH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_STOCH_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_STOCH_Stream __pyx_pw_5talib_7_ta_lib_12STOCH_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_STOCHF_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCHF_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_STOCHF_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_STOCHF_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCHF_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_STOCHF_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_STOCHF_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_STOCHF_Stream __pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_STOCHRSI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCHRSI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_STOCHRSI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_STOCHRSI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCHRSI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_STOCHRSI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_STOCHRSI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_STOCHRSI_Stream __pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SUB_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SUB_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SUB_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_SUB_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_SUB_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SUB_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SUB_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_SUB_Stream __pyx_pw_5talib_7_ta_lib_10SUB_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SUM_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SUM_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SUM_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_SUM_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_SUM_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SUM_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SUM_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_SUM_Stream __pyx_pw_5talib_7_ta_lib_10SUM_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SUPERTREND_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SUPERTREND_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SUPERTREND_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_SUPERTREND_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_SUPERTREND_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SUPERTREND_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SUPERTREND_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_SUPERTREND_Stream __pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_T3_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_T3_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_T3_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_T3_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_T3_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_T3_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_T3_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_T3_Stream __pyx_pw_5talib_7_ta_lib_9T3_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TAN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TAN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TAN_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_TAN_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_TAN_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TAN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TAN_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_TAN_Stream __pyx_pw_5talib_7_ta_lib_10TAN_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TANH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TANH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TANH_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_TANH_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_TANH_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TANH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TANH_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_TANH_Stream __pyx_pw_5talib_7_ta_lib_11TANH_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TEMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TEMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TEMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_TEMA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_TEMA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TEMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TEMA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_TEMA_Stream __pyx_pw_5talib_7_ta_lib_11TEMA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TRANGE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TRANGE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TRANGE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_TRANGE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_TRANGE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TRANGE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TRANGE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_TRANGE_Stream __pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TRIMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TRIMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TRIMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_TRIMA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_TRIMA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TRIMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TRIMA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_TRIMA_Stream __pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TRIX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TRIX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TRIX_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_TRIX_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_TRIX_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TRIX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TRIX_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_TRIX_Stream __pyx_pw_5talib_7_ta_lib_11TRIX_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TSF_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TSF_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TSF_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_TSF_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_TSF_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TSF_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TSF_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_TSF_Stream __pyx_pw_5talib_7_ta_lib_10TSF_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TSI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TSI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TSI_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_TSI_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_TSI_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TSI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TSI_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_TSI_Stream __pyx_pw_5talib_7_ta_lib_10TSI_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TYPPRICE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TYPPRICE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TYPPRICE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_TYPPRICE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_TYPPRICE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TYPPRICE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TYPPRICE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_TYPPRICE_Stream __pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ULTOSC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ULTOSC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ULTOSC_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ULTOSC_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ULTOSC_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ULTOSC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ULTOSC_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ULTOSC_Stream __pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_VAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_VAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_VAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_VAR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_VAR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_VAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_VAR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_VAR_Stream __pyx_pw_5talib_7_ta_lib_10VAR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_VHF_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_VHF_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_VHF_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_VHF_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_VHF_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_VHF_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_VHF_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_VHF_Stream __pyx_pw_5talib_7_ta_lib_10VHF_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_VORTEX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_VORTEX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_VORTEX_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_VORTEX_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_VORTEX_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_VORTEX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_VORTEX_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_VORTEX_Stream __pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_VWAP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_VWAP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_VWAP_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_VWAP_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_VWAP_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_VWAP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_VWAP_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_VWAP_Stream __pyx_pw_5talib_7_ta_lib_11VWAP_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_VWMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_VWMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_VWMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_VWMA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_VWMA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_VWMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_VWMA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_VWMA_Stream __pyx_pw_5talib_7_ta_lib_11VWMA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_WAD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_WAD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_WAD_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_WAD_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_WAD_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_WAD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_WAD_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_WAD_Stream __pyx_pw_5talib_7_ta_lib_10WAD_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_WCLPRICE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_WCLPRICE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_WCLPRICE_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_WCLPRICE_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_WCLPRICE_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_WCLPRICE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_WCLPRICE_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_WCLPRICE_Stream __pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_WILLR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_WILLR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_WILLR_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_WILLR_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_WILLR_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_WILLR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_WILLR_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_WILLR_Stream __pyx_pw_5talib_7_ta_lib_12WILLR_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_WMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_WMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_WMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_WMA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_WMA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_WMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_WMA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_WMA_Stream __pyx_pw_5talib_7_ta_lib_10WMA_Stream_3__init__ -#endif -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ZLEMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ZLEMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -); /*proto*/ -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ZLEMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_new_5talib_7_ta_lib_ZLEMA_Stream __pyx_tp_new_vectorcall_5talib_7_ta_lib_ZLEMA_Stream -#endif -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ZLEMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames); /*proto*/ -#endif -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ZLEMA_Stream(PyObject *o, PyObject *args, PyObject *kwds); /*proto*/ -#endif -#if !CYTHON_VECTORCALL_TPNEW -#define __pyx_tp_init_5talib_7_ta_lib_ZLEMA_Stream __pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_3__init__ -#endif -/* #### Code section: late_includes ### */ -/* #### Code section: module_state ### */ -/* SmallCodeConfig */ -#ifndef CYTHON_SMALL_CODE -#if defined(__clang__) - #define CYTHON_SMALL_CODE -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) - #define CYTHON_SMALL_CODE __attribute__((cold)) -#else - #define CYTHON_SMALL_CODE -#endif -#endif - -#ifdef __cplusplus -namespace { - #endif - typedef struct { - PyObject *__pyx_d; - PyObject *__pyx_b; - PyObject *__pyx_cython_runtime; - PyObject *__pyx_empty_tuple; - PyObject *__pyx_empty_bytes; - PyObject *__pyx_empty_unicode; - PyTypeObject *__pyx_ptype_7cpython_4type_type; - PyTypeObject *__pyx_ptype_5numpy_dtype; - PyTypeObject *__pyx_ptype_5numpy_flatiter; - PyTypeObject *__pyx_ptype_5numpy_broadcast; - PyTypeObject *__pyx_ptype_5numpy_ndarray; - PyTypeObject *__pyx_ptype_5numpy_generic; - PyTypeObject *__pyx_ptype_5numpy_number; - PyTypeObject *__pyx_ptype_5numpy_integer; - PyTypeObject *__pyx_ptype_5numpy_signedinteger; - PyTypeObject *__pyx_ptype_5numpy_unsignedinteger; - PyTypeObject *__pyx_ptype_5numpy_inexact; - PyTypeObject *__pyx_ptype_5numpy_floating; - PyTypeObject *__pyx_ptype_5numpy_complexfloating; - PyTypeObject *__pyx_ptype_5numpy_flexible; - PyTypeObject *__pyx_ptype_5numpy_character; - PyTypeObject *__pyx_ptype_5numpy_ufunc; - PyObject *__pyx_type_5talib_7_ta_lib__TA_ReadLease; - PyObject *__pyx_type_5talib_7_ta_lib__TA_WriteLease; - PyObject *__pyx_type_5talib_7_ta_lib_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_AC_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ACCBANDS_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ACOS_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_AD_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ADD_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ADOSC_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ADR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ADX_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ADXR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_AO_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_APO_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_AROON_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_AROONOSC_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ASIN_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ATAN_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ATR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_AVGDEV_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_AVGPRICE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_BBANDS_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_BETA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_BOP_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CCI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDL2CROWS_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDL3BLACKCROWS_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDL3INSIDE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDL3LINESTRIKE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDL3OUTSIDE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLABANDONEDBABY_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLBELTHOLD_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLBREAKAWAY_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLDOJI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLDOJISTAR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLENGULFING_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLEVENINGSTAR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLHAMMER_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLHANGINGMAN_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLHARAMI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLHARAMICROSS_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLHIGHWAVE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLHIKKAKE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLINNECK_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLKICKING_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLLONGLINE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLMARUBOZU_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLMATCHINGLOW_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLMATHOLD_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLMORNINGSTAR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLONNECK_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLPIERCING_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLSHORTLINE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLSPINNINGTOP_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLTAKURI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLTASUKIGAP_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLTHRUSTING_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLTRISTAR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CEIL_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CMF_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CMO_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CMOU_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_COPPOCK_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CORREL_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_COS_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_COSH_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CUMSUM_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_CVI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_DEMA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_DIV_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_DONCHIAN_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_DPO_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_DX_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_EFI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_EMA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ER_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ERI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_EXP_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_FLOOR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_FOSC_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_FRACTAL_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_HA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_HMA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_HT_DCPERIOD_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_HT_DCPHASE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_HT_PHASOR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_HT_SINE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_HT_TRENDLINE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_HT_TRENDMODE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_IMI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_KAMA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_KC_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_KDJ_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_LINEARREG_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_LINEARREG_ANGLE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_LINEARREG_SLOPE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_LN_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_LOG10_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MACD_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MACDEXT_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MACDFIX_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MAMA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MARKETFI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MASSI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MAVP_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MAX_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MAXINDEX_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MEDPRICE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MFI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MIDPOINT_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MIDPRICE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MIN_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MININDEX_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MINMAX_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MINMAXINDEX_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MINUS_DI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MINUS_DM_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MOM_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_MULT_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_NATR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_NVI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_OBV_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_PERCENTILE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_PERCENTRANK_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_PLUS_DI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_PLUS_DM_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_PPO_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_PVI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_PVO_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_PVT_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_QSTICK_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_RMA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ROC_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ROCP_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ROCR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ROCR100_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_RSI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_RVI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_RVOL_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_SAR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_SAREXT_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_SIN_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_SINH_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_SMA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_SMI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_SQRT_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_STDDEV_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_STOCH_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_STOCHF_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_STOCHRSI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_SUB_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_SUM_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_SUPERTREND_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_T3_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_TAN_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_TANH_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_TEMA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_TRANGE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_TRIMA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_TRIX_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_TSF_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_TSI_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_TYPPRICE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ULTOSC_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_VAR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_VHF_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_VORTEX_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_VWAP_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_VWMA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_WAD_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_WCLPRICE_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_WILLR_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_WMA_Stream; - PyObject *__pyx_type_5talib_7_ta_lib_ZLEMA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib__TA_ReadLease; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib__TA_WriteLease; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_AC_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ACOS_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_AD_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ADD_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ADR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ADX_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ADXR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_AO_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_APO_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_AROON_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ASIN_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ATAN_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ATR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_BETA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_BOP_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CCI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CEIL_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CMF_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CMO_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CMOU_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CORREL_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_COS_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_COSH_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_CVI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_DEMA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_DIV_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_DPO_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_DX_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_EFI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_EMA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ER_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ERI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_EXP_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_FOSC_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_HA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_HMA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_IMI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_KAMA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_KC_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_KDJ_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_LN_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_LOG10_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MACD_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MAMA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MASSI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MAVP_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MAX_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MFI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MIN_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MOM_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_MULT_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_NATR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_NVI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_OBV_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_PPO_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_PVI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_PVO_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_PVT_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_RMA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ROC_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ROCP_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ROCR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_RSI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_RVI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_RVOL_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_SAR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_SIN_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_SINH_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_SMA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_SMI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_SQRT_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_STOCH_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_SUB_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_SUM_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_T3_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_TAN_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_TANH_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_TEMA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_TRIX_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_TSF_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_TSI_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_VAR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_VHF_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_VWAP_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_VWMA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_WAD_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_WILLR_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_WMA_Stream; - PyTypeObject *__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream; - __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_items; - __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_pop; - __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_values; - PyObject *__pyx_tuple[37]; - PyObject *__pyx_codeobj_tab[463]; - PyObject *__pyx_string_tab[2876]; - PyObject *__pyx_number_tab[36]; -/* #### Code section: module_state_contents ### */ -/* PyFrozenDict.module_state_decls */ -#if CYTHON_COMPILING_IN_LIMITED_API -PyObject *__Pyx_PyFrozenDictType; -#endif - -/* CommonTypesMetaclass.module_state_decls */ -PyTypeObject *__pyx_CommonTypesMetaclassType; - -/* CachedMethodType.module_state_decls */ -#if CYTHON_COMPILING_IN_LIMITED_API -PyObject *__Pyx_CachedMethodType; -#endif - -/* CythonFunctionPerModule.module_state_decls */ -PyTypeObject *__pyx_CyFunctionType; - -/* CodeObjectCache.module_state_decls */ -struct __Pyx_CodeObjectCache __pyx_code_cache; - -/* #### Code section: module_state_end ### */ -} __pyx_mstatetype; -#ifdef __cplusplus -} /* anonymous namespace */ -#endif - -#if CYTHON_USE_MODULE_STATE -#ifdef __cplusplus -namespace { -extern struct PyModuleDef __pyx_moduledef; -} /* anonymous namespace */ -#else -static struct PyModuleDef __pyx_moduledef; -#endif - -#define __pyx_mstate_global (__Pyx_PyModule_GetState(__Pyx_State_FindModule(&__pyx_moduledef))) - -#define __pyx_m (__Pyx_State_FindModule(&__pyx_moduledef)) -#else -static __pyx_mstatetype __pyx_mstate_global_static = -#ifdef __cplusplus - {}; -#else - {0}; -#endif -static __pyx_mstatetype * const __pyx_mstate_global = &__pyx_mstate_global_static; -#endif -/* #### Code section: constant_name_defines ### */ -#define __pyx_kp_u__3 __pyx_string_tab[0] -#define __pyx_kp_u__14 __pyx_string_tab[1] -#define __pyx_kp_u_This_is_a_pythonic_wrapper_arou __pyx_string_tab[2] -#define __pyx_kp_u__12 __pyx_string_tab[3] -#define __pyx_kp_u__8 __pyx_string_tab[4] -#define __pyx_kp_u_s_4 __pyx_string_tab[5] -#define __pyx_kp_u__5 __pyx_string_tab[6] -#define __pyx_kp_u_expected __pyx_string_tab[7] -#define __pyx_kp_u_bars_of_history_at_least __pyx_string_tab[8] -#define __pyx_kp_u_function_failed_with_error_code __pyx_string_tab[9] -#define __pyx_kp_u_needed_a_leading_bar_that_is_Na __pyx_string_tab[10] -#define __pyx_kp_u_display_name_s_group_s __pyx_string_tab[11] -#define __pyx_kp_u_s_2 __pyx_string_tab[12] -#define __pyx_kp_u_s_advance __pyx_string_tab[13] -#define __pyx_kp_u_s_out_range __pyx_string_tab[14] -#define __pyx_kp_u_is_deprecated_and_has_no_effect __pyx_string_tab[15] -#define __pyx_kp_u__7 __pyx_string_tab[16] -#define __pyx_kp_u_s_3 __pyx_string_tab[17] -#define __pyx_kp_u_any_ndarray __pyx_string_tab[18] -#define __pyx_kp_u_tree_fragment __pyx_string_tab[19] -#define __pyx_kp_u__6 __pyx_string_tab[20] -#define __pyx_kp_u__13 __pyx_string_tab[21] -#define __pyx_kp_u__4 __pyx_string_tab[22] -#define __pyx_kp_u_got __pyx_string_tab[23] -#define __pyx_kp_u__15 __pyx_string_tab[24] -#define __pyx_kp_u_3 __pyx_string_tab[25] -#define __pyx_kp_u__2 __pyx_string_tab[26] -#define __pyx_kp_u__10 __pyx_string_tab[27] -#define __pyx_kp_u_ __pyx_string_tab[28] -#define __pyx_kp_u_A_period_of_1_performs_no_smooth __pyx_string_tab[29] -#define __pyx_kp_u_ADXR_has_no_unstable_period_of_i __pyx_string_tab[30] -#define __pyx_kp_u_Allocation_Error_TA_ALLOC_ERR __pyx_string_tab[31] -#define __pyx_kp_u_Bad_Object_TA_BAD_OBJECT __pyx_string_tab[32] -#define __pyx_kp_u_Bad_Parameter_TA_BAD_PARAM __pyx_string_tab[33] -#define __pyx_kp_u_Bull_Bear_Pattern_Bearish_0_Neut __pyx_string_tab[34] -#define __pyx_kp_u_Cannot_mix_polars_and_pandas __pyx_string_tab[35] -#define __pyx_kp_u_Dashed_Line __pyx_string_tab[36] -#define __pyx_kp_u_Dotted_Line __pyx_string_tab[37] -#define __pyx_kp_u_Double_Exponential_Moving_Averag __pyx_string_tab[38] -#define __pyx_kp_u_Exponential_Moving_Average __pyx_string_tab[39] -#define __pyx_kp_u_Function_Not_Found_TA_FUNC_NOT_F __pyx_string_tab[40] -#define __pyx_kp_u_Function_has_a_streaming_API __pyx_string_tab[41] -#define __pyx_kp_u_Function_has_an_unstable_period __pyx_string_tab[42] -#define __pyx_kp_u_Group_Not_Found_TA_GROUP_NOT_FOU __pyx_string_tab[43] -#define __pyx_kp_u_Hull_Moving_Average __pyx_string_tab[44] -#define __pyx_kp_u_Input_Not_All_Initialized_TA_INP __pyx_string_tab[45] -#define __pyx_kp_u_Inputs __pyx_string_tab[46] -#define __pyx_kp_u_Insufficient_History_TA_INSUFFIC __pyx_string_tab[47] -#define __pyx_kp_u_Internal_Error_TA_INTERNAL_ERROR __pyx_string_tab[48] -#define __pyx_kp_u_Invalid_Handle_TA_INVALID_HANDLE __pyx_string_tab[49] -#define __pyx_kp_u_Invalid_List_Type_TA_INVALID_LIS __pyx_string_tab[50] -#define __pyx_kp_u_Invalid_Parameter_Function_TA_IN __pyx_string_tab[51] -#define __pyx_kp_u_Invalid_Parameter_Holder_TA_INVA __pyx_string_tab[52] -#define __pyx_kp_u_Invalid_Parameter_Holder_Type_TA __pyx_string_tab[53] -#define __pyx_kp_u_Invalid_parameter_value_for __pyx_string_tab[54] -#define __pyx_kp_u_Kaufman_Adaptive_Moving_Average __pyx_string_tab[55] -#define __pyx_kp_u_Library_Not_Initialized_TA_LIB_N __pyx_string_tab[56] -#define __pyx_kp_u_MESA_Adaptive_Moving_Average __pyx_string_tab[57] -#define __pyx_kp_u_MFI_s_unstable_period_was_retire __pyx_string_tab[58] -#define __pyx_kp_u_No_Moving_Average_identity __pyx_string_tab[59] -#define __pyx_kp_u_None __pyx_string_tab[60] -#define __pyx_kp_u_Not_Supported_TA_NOT_SUPPORTED __pyx_string_tab[61] -#define __pyx_kp_u_Not_enough_history_to_open_a_str __pyx_string_tab[62] -#define __pyx_kp_u_Not_enough_price_arguments_expec __pyx_string_tab[63] -#define __pyx_kp_u_Note_that_Cython_is_deliberately __pyx_string_tab[64] -#define __pyx_kp_u_Out_of_Range_End_Index_TA_OUT_OF __pyx_string_tab[65] -#define __pyx_kp_u_Out_of_Range_Start_Index_TA_OUT __pyx_string_tab[66] -#define __pyx_kp_u_Output_Not_All_Initialized_TA_OU __pyx_string_tab[67] -#define __pyx_kp_u_Output_can_be_NaN_or_infinite __pyx_string_tab[68] -#define __pyx_kp_u_Output_can_be_negative __pyx_string_tab[69] -#define __pyx_kp_u_Output_can_be_positive __pyx_string_tab[70] -#define __pyx_kp_u_Output_can_be_zero __pyx_string_tab[71] -#define __pyx_kp_u_Output_is_a_candlestick __pyx_string_tab[72] -#define __pyx_kp_u_Output_is_optional_nullable __pyx_string_tab[73] -#define __pyx_kp_u_Output_is_over_volume __pyx_string_tab[74] -#define __pyx_kp_u_Output_is_path_dependent __pyx_string_tab[75] -#define __pyx_kp_u_Output_scale_same_as_input __pyx_string_tab[76] -#define __pyx_kp_u_Outputs __pyx_string_tab[77] -#define __pyx_kp_u_Parameters __pyx_string_tab[78] -#define __pyx_kp_u_Pattern_Bool __pyx_string_tab[79] -#define __pyx_kp_u_STOCHRSI_has_no_unstable_period __pyx_string_tab[80] -#define __pyx_kp_u_Simple_Moving_Average __pyx_string_tab[81] -#define __pyx_kp_u_Strength_Pattern_200_100_Bearish __pyx_string_tab[82] -#define __pyx_kp_u_TA_Lib_is_not_initialized_or_a_s __pyx_string_tab[83] -#define __pyx_kp_u_The_Function_s_Own_Default_Movin __pyx_string_tab[84] -#define __pyx_kp_u_Too_many_price_arguments_expecte __pyx_string_tab[85] -#define __pyx_kp_u_Triangular_Moving_Average __pyx_string_tab[86] -#define __pyx_kp_u_Triple_Exponential_Moving_Averag __pyx_string_tab[87] -#define __pyx_kp_u_Triple_Generalized_Double_Expone __pyx_string_tab[88] -#define __pyx_kp_u_Unknown_Error __pyx_string_tab[89] -#define __pyx_kp_u_Unknown_Error_TA_UNKNOWN_ERR __pyx_string_tab[90] -#define __pyx_kp_u_Values_represent_a_lower_limit __pyx_string_tab[91] -#define __pyx_kp_u_Values_represent_an_upper_limit __pyx_string_tab[92] -#define __pyx_kp_u_Weighted_Moving_Average __pyx_string_tab[93] -#define __pyx_kp_u_Wilder_s_Smoothed_Moving_Average __pyx_string_tab[94] -#define __pyx_kp_u_Zero_Lag_Exponential_Moving_Aver __pyx_string_tab[95] -#define __pyx_kp_u__9 __pyx_string_tab[96] -#define __pyx_kp_u_input_arrays_2 __pyx_string_tab[97] -#define __pyx_kp_u__11 __pyx_string_tab[98] -#define __pyx_kp_u_add_note __pyx_string_tab[99] -#define __pyx_kp_u_begidx_nbelement __pyx_string_tab[100] -#define __pyx_kp_u_cannot_change_TA_Lib_settings_or __pyx_string_tab[101] -#define __pyx_kp_u_cannot_pickle_s_a_stream_handle __pyx_string_tab[102] -#define __pyx_kp_u_cannot_shut_down_TA_Lib_while_ca __pyx_string_tab[103] -#define __pyx_kp_u_disable __pyx_string_tab[104] -#define __pyx_kp_u_enable __pyx_string_tab[105] -#define __pyx_kp_u_gc __pyx_string_tab[106] -#define __pyx_kp_u_input_array_has_wrong_dimensions __pyx_string_tab[107] -#define __pyx_kp_u_input_array_lengths_are_differen __pyx_string_tab[108] -#define __pyx_kp_u_input_array_type_is_not_double __pyx_string_tab[109] -#define __pyx_kp_u_input_must_be_a_numpy_array_or_a __pyx_string_tab[110] -#define __pyx_kp_u_input_arrays_parameter_missing_r __pyx_string_tab[111] -#define __pyx_kp_u_integer_values_are_100_0_or_100 __pyx_string_tab[112] -#define __pyx_kp_u_isenabled __pyx_string_tab[113] -#define __pyx_kp_u_no_history_the_input_array_is_em __pyx_string_tab[114] -#define __pyx_kp_u_numpy__core_multiarray_failed_to __pyx_string_tab[115] -#define __pyx_kp_u_numpy__core_umath_failed_to_impo __pyx_string_tab[116] -#define __pyx_kp_u_talib_collections __pyx_string_tab[117] -#define __pyx_kp_u_talib_numpy __pyx_string_tab[118] -#define __pyx_kp_u_talib_ordereddict __pyx_string_tab[119] -#define __pyx_kp_u_talib_pandas __pyx_string_tab[120] -#define __pyx_kp_u_talib_polars __pyx_string_tab[121] -#define __pyx_kp_u_talib_sys __pyx_string_tab[122] -#define __pyx_kp_u_talib_threading __pyx_string_tab[123] -#define __pyx_kp_u_talib_warnings __pyx_string_tab[124] -#define __pyx_kp_u_talib__abstract_pxi __pyx_string_tab[125] -#define __pyx_kp_u_talib__common_pxi __pyx_string_tab[126] -#define __pyx_kp_u_talib__func_pxi __pyx_string_tab[127] -#define __pyx_kp_u_talib__stream_pxi __pyx_string_tab[128] -#define __pyx_kp_u_too_many_input_arrays __pyx_string_tab[129] -#define __pyx_kp_u_unstable_period __pyx_string_tab[130] -#define __pyx_n_u_AC __pyx_string_tab[131] -#define __pyx_n_u_ACCBANDS __pyx_string_tab[132] -#define __pyx_n_u_ACCBANDS_Stream __pyx_string_tab[133] -#define __pyx_n_u_ACCBANDS_Stream_open_and_fill __pyx_string_tab[134] -#define __pyx_n_u_ACOS __pyx_string_tab[135] -#define __pyx_n_u_ACOS_Stream __pyx_string_tab[136] -#define __pyx_n_u_ACOS_Stream_open_and_fill __pyx_string_tab[137] -#define __pyx_n_u_AC_Stream __pyx_string_tab[138] -#define __pyx_n_u_AC_Stream_open_and_fill __pyx_string_tab[139] -#define __pyx_n_u_AD __pyx_string_tab[140] -#define __pyx_n_u_ADD __pyx_string_tab[141] -#define __pyx_n_u_ADD_Stream __pyx_string_tab[142] -#define __pyx_n_u_ADD_Stream_open_and_fill __pyx_string_tab[143] -#define __pyx_n_u_ADOSC __pyx_string_tab[144] -#define __pyx_n_u_ADOSC_Stream __pyx_string_tab[145] -#define __pyx_n_u_ADOSC_Stream_open_and_fill __pyx_string_tab[146] -#define __pyx_n_u_ADR __pyx_string_tab[147] -#define __pyx_n_u_ADR_Stream __pyx_string_tab[148] -#define __pyx_n_u_ADR_Stream_open_and_fill __pyx_string_tab[149] -#define __pyx_n_u_ADX __pyx_string_tab[150] -#define __pyx_n_u_ADXR __pyx_string_tab[151] -#define __pyx_n_u_ADXR_Stream __pyx_string_tab[152] -#define __pyx_n_u_ADXR_Stream_open_and_fill __pyx_string_tab[153] -#define __pyx_n_u_ADX_Stream __pyx_string_tab[154] -#define __pyx_n_u_ADX_Stream_open_and_fill __pyx_string_tab[155] -#define __pyx_n_u_AD_Stream __pyx_string_tab[156] -#define __pyx_n_u_AD_Stream_open_and_fill __pyx_string_tab[157] -#define __pyx_n_u_ALL __pyx_string_tab[158] -#define __pyx_n_u_AO __pyx_string_tab[159] -#define __pyx_n_u_AO_Stream __pyx_string_tab[160] -#define __pyx_n_u_AO_Stream_open_and_fill __pyx_string_tab[161] -#define __pyx_n_u_APO __pyx_string_tab[162] -#define __pyx_n_u_APO_Stream __pyx_string_tab[163] -#define __pyx_n_u_APO_Stream_open_and_fill __pyx_string_tab[164] -#define __pyx_n_u_AROON __pyx_string_tab[165] -#define __pyx_n_u_AROONOSC __pyx_string_tab[166] -#define __pyx_n_u_AROONOSC_Stream __pyx_string_tab[167] -#define __pyx_n_u_AROONOSC_Stream_open_and_fill __pyx_string_tab[168] -#define __pyx_n_u_AROON_Stream __pyx_string_tab[169] -#define __pyx_n_u_AROON_Stream_open_and_fill __pyx_string_tab[170] -#define __pyx_n_u_ASIN __pyx_string_tab[171] -#define __pyx_n_u_ASIN_Stream __pyx_string_tab[172] -#define __pyx_n_u_ASIN_Stream_open_and_fill __pyx_string_tab[173] -#define __pyx_n_u_ATAN __pyx_string_tab[174] -#define __pyx_n_u_ATAN_Stream __pyx_string_tab[175] -#define __pyx_n_u_ATAN_Stream_open_and_fill __pyx_string_tab[176] -#define __pyx_n_u_ATR __pyx_string_tab[177] -#define __pyx_n_u_ATR_Stream __pyx_string_tab[178] -#define __pyx_n_u_ATR_Stream_open_and_fill __pyx_string_tab[179] -#define __pyx_n_u_AVGDEV __pyx_string_tab[180] -#define __pyx_n_u_AVGDEV_Stream __pyx_string_tab[181] -#define __pyx_n_u_AVGDEV_Stream_open_and_fill __pyx_string_tab[182] -#define __pyx_n_u_AVGPRICE __pyx_string_tab[183] -#define __pyx_n_u_AVGPRICE_Stream __pyx_string_tab[184] -#define __pyx_n_u_AVGPRICE_Stream_open_and_fill __pyx_string_tab[185] -#define __pyx_n_u_AllCandleSettings __pyx_string_tab[186] -#define __pyx_n_u_BBANDS __pyx_string_tab[187] -#define __pyx_n_u_BBANDS_Stream __pyx_string_tab[188] -#define __pyx_n_u_BBANDS_Stream_open_and_fill __pyx_string_tab[189] -#define __pyx_n_u_BETA __pyx_string_tab[190] -#define __pyx_n_u_BETA_Stream __pyx_string_tab[191] -#define __pyx_n_u_BETA_Stream_open_and_fill __pyx_string_tab[192] -#define __pyx_n_u_BOP __pyx_string_tab[193] -#define __pyx_n_u_BOP_Stream __pyx_string_tab[194] -#define __pyx_n_u_BOP_Stream_open_and_fill __pyx_string_tab[195] -#define __pyx_n_u_BodyDoji __pyx_string_tab[196] -#define __pyx_n_u_BodyLong __pyx_string_tab[197] -#define __pyx_n_u_BodyShort __pyx_string_tab[198] -#define __pyx_n_u_BodyVeryLong __pyx_string_tab[199] -#define __pyx_n_u_CCI __pyx_string_tab[200] -#define __pyx_n_u_CCI_Stream __pyx_string_tab[201] -#define __pyx_n_u_CCI_Stream_open_and_fill __pyx_string_tab[202] -#define __pyx_n_u_CDL2CROWS __pyx_string_tab[203] -#define __pyx_n_u_CDL2CROWS_Stream __pyx_string_tab[204] -#define __pyx_n_u_CDL2CROWS_Stream_open_and_fill __pyx_string_tab[205] -#define __pyx_n_u_CDL3BLACKCROWS __pyx_string_tab[206] -#define __pyx_n_u_CDL3BLACKCROWS_Stream __pyx_string_tab[207] -#define __pyx_n_u_CDL3BLACKCROWS_Stream_open_and_f __pyx_string_tab[208] -#define __pyx_n_u_CDL3INSIDE __pyx_string_tab[209] -#define __pyx_n_u_CDL3INSIDE_Stream __pyx_string_tab[210] -#define __pyx_n_u_CDL3INSIDE_Stream_open_and_fill __pyx_string_tab[211] -#define __pyx_n_u_CDL3LINESTRIKE __pyx_string_tab[212] -#define __pyx_n_u_CDL3LINESTRIKE_Stream __pyx_string_tab[213] -#define __pyx_n_u_CDL3LINESTRIKE_Stream_open_and_f __pyx_string_tab[214] -#define __pyx_n_u_CDL3OUTSIDE __pyx_string_tab[215] -#define __pyx_n_u_CDL3OUTSIDE_Stream __pyx_string_tab[216] -#define __pyx_n_u_CDL3OUTSIDE_Stream_open_and_fill __pyx_string_tab[217] -#define __pyx_n_u_CDL3STARSINSOUTH __pyx_string_tab[218] -#define __pyx_n_u_CDL3STARSINSOUTH_Stream __pyx_string_tab[219] -#define __pyx_n_u_CDL3STARSINSOUTH_Stream_open_and __pyx_string_tab[220] -#define __pyx_n_u_CDL3WHITESOLDIERS __pyx_string_tab[221] -#define __pyx_n_u_CDL3WHITESOLDIERS_Stream __pyx_string_tab[222] -#define __pyx_n_u_CDL3WHITESOLDIERS_Stream_open_an __pyx_string_tab[223] -#define __pyx_n_u_CDLABANDONEDBABY __pyx_string_tab[224] -#define __pyx_n_u_CDLABANDONEDBABY_Stream __pyx_string_tab[225] -#define __pyx_n_u_CDLABANDONEDBABY_Stream_open_and __pyx_string_tab[226] -#define __pyx_n_u_CDLADVANCEBLOCK __pyx_string_tab[227] -#define __pyx_n_u_CDLADVANCEBLOCK_Stream __pyx_string_tab[228] -#define __pyx_n_u_CDLADVANCEBLOCK_Stream_open_and __pyx_string_tab[229] -#define __pyx_n_u_CDLBELTHOLD __pyx_string_tab[230] -#define __pyx_n_u_CDLBELTHOLD_Stream __pyx_string_tab[231] -#define __pyx_n_u_CDLBELTHOLD_Stream_open_and_fill __pyx_string_tab[232] -#define __pyx_n_u_CDLBREAKAWAY __pyx_string_tab[233] -#define __pyx_n_u_CDLBREAKAWAY_Stream __pyx_string_tab[234] -#define __pyx_n_u_CDLBREAKAWAY_Stream_open_and_fil __pyx_string_tab[235] -#define __pyx_n_u_CDLCLOSINGMARUBOZU __pyx_string_tab[236] -#define __pyx_n_u_CDLCLOSINGMARUBOZU_Stream __pyx_string_tab[237] -#define __pyx_n_u_CDLCLOSINGMARUBOZU_Stream_open_a __pyx_string_tab[238] -#define __pyx_n_u_CDLCONCEALBABYSWALL __pyx_string_tab[239] -#define __pyx_n_u_CDLCONCEALBABYSWALL_Stream __pyx_string_tab[240] -#define __pyx_n_u_CDLCONCEALBABYSWALL_Stream_open __pyx_string_tab[241] -#define __pyx_n_u_CDLCOUNTERATTACK __pyx_string_tab[242] -#define __pyx_n_u_CDLCOUNTERATTACK_Stream __pyx_string_tab[243] -#define __pyx_n_u_CDLCOUNTERATTACK_Stream_open_and __pyx_string_tab[244] -#define __pyx_n_u_CDLDARKCLOUDCOVER __pyx_string_tab[245] -#define __pyx_n_u_CDLDARKCLOUDCOVER_Stream __pyx_string_tab[246] -#define __pyx_n_u_CDLDARKCLOUDCOVER_Stream_open_an __pyx_string_tab[247] -#define __pyx_n_u_CDLDOJI __pyx_string_tab[248] -#define __pyx_n_u_CDLDOJISTAR __pyx_string_tab[249] -#define __pyx_n_u_CDLDOJISTAR_Stream __pyx_string_tab[250] -#define __pyx_n_u_CDLDOJISTAR_Stream_open_and_fill __pyx_string_tab[251] -#define __pyx_n_u_CDLDOJI_Stream __pyx_string_tab[252] -#define __pyx_n_u_CDLDOJI_Stream_open_and_fill __pyx_string_tab[253] -#define __pyx_n_u_CDLDRAGONFLYDOJI __pyx_string_tab[254] -#define __pyx_n_u_CDLDRAGONFLYDOJI_Stream __pyx_string_tab[255] -#define __pyx_n_u_CDLDRAGONFLYDOJI_Stream_open_and __pyx_string_tab[256] -#define __pyx_n_u_CDLENGULFING __pyx_string_tab[257] -#define __pyx_n_u_CDLENGULFING_Stream __pyx_string_tab[258] -#define __pyx_n_u_CDLENGULFING_Stream_open_and_fil __pyx_string_tab[259] -#define __pyx_n_u_CDLEVENINGDOJISTAR __pyx_string_tab[260] -#define __pyx_n_u_CDLEVENINGDOJISTAR_Stream __pyx_string_tab[261] -#define __pyx_n_u_CDLEVENINGDOJISTAR_Stream_open_a __pyx_string_tab[262] -#define __pyx_n_u_CDLEVENINGSTAR __pyx_string_tab[263] -#define __pyx_n_u_CDLEVENINGSTAR_Stream __pyx_string_tab[264] -#define __pyx_n_u_CDLEVENINGSTAR_Stream_open_and_f __pyx_string_tab[265] -#define __pyx_n_u_CDLGAPSIDESIDEWHITE __pyx_string_tab[266] -#define __pyx_n_u_CDLGAPSIDESIDEWHITE_Stream __pyx_string_tab[267] -#define __pyx_n_u_CDLGAPSIDESIDEWHITE_Stream_open __pyx_string_tab[268] -#define __pyx_n_u_CDLGRAVESTONEDOJI __pyx_string_tab[269] -#define __pyx_n_u_CDLGRAVESTONEDOJI_Stream __pyx_string_tab[270] -#define __pyx_n_u_CDLGRAVESTONEDOJI_Stream_open_an __pyx_string_tab[271] -#define __pyx_n_u_CDLHAMMER __pyx_string_tab[272] -#define __pyx_n_u_CDLHAMMER_Stream __pyx_string_tab[273] -#define __pyx_n_u_CDLHAMMER_Stream_open_and_fill __pyx_string_tab[274] -#define __pyx_n_u_CDLHANGINGMAN __pyx_string_tab[275] -#define __pyx_n_u_CDLHANGINGMAN_Stream __pyx_string_tab[276] -#define __pyx_n_u_CDLHANGINGMAN_Stream_open_and_fi __pyx_string_tab[277] -#define __pyx_n_u_CDLHARAMI __pyx_string_tab[278] -#define __pyx_n_u_CDLHARAMICROSS __pyx_string_tab[279] -#define __pyx_n_u_CDLHARAMICROSS_Stream __pyx_string_tab[280] -#define __pyx_n_u_CDLHARAMICROSS_Stream_open_and_f __pyx_string_tab[281] -#define __pyx_n_u_CDLHARAMI_Stream __pyx_string_tab[282] -#define __pyx_n_u_CDLHARAMI_Stream_open_and_fill __pyx_string_tab[283] -#define __pyx_n_u_CDLHIGHWAVE __pyx_string_tab[284] -#define __pyx_n_u_CDLHIGHWAVE_Stream __pyx_string_tab[285] -#define __pyx_n_u_CDLHIGHWAVE_Stream_open_and_fill __pyx_string_tab[286] -#define __pyx_n_u_CDLHIKKAKE __pyx_string_tab[287] -#define __pyx_n_u_CDLHIKKAKEMOD __pyx_string_tab[288] -#define __pyx_n_u_CDLHIKKAKEMOD_Stream __pyx_string_tab[289] -#define __pyx_n_u_CDLHIKKAKEMOD_Stream_open_and_fi __pyx_string_tab[290] -#define __pyx_n_u_CDLHIKKAKE_Stream __pyx_string_tab[291] -#define __pyx_n_u_CDLHIKKAKE_Stream_open_and_fill __pyx_string_tab[292] -#define __pyx_n_u_CDLHOMINGPIGEON __pyx_string_tab[293] -#define __pyx_n_u_CDLHOMINGPIGEON_Stream __pyx_string_tab[294] -#define __pyx_n_u_CDLHOMINGPIGEON_Stream_open_and __pyx_string_tab[295] -#define __pyx_n_u_CDLIDENTICAL3CROWS __pyx_string_tab[296] -#define __pyx_n_u_CDLIDENTICAL3CROWS_Stream __pyx_string_tab[297] -#define __pyx_n_u_CDLIDENTICAL3CROWS_Stream_open_a __pyx_string_tab[298] -#define __pyx_n_u_CDLINNECK __pyx_string_tab[299] -#define __pyx_n_u_CDLINNECK_Stream __pyx_string_tab[300] -#define __pyx_n_u_CDLINNECK_Stream_open_and_fill __pyx_string_tab[301] -#define __pyx_n_u_CDLINVERTEDHAMMER __pyx_string_tab[302] -#define __pyx_n_u_CDLINVERTEDHAMMER_Stream __pyx_string_tab[303] -#define __pyx_n_u_CDLINVERTEDHAMMER_Stream_open_an __pyx_string_tab[304] -#define __pyx_n_u_CDLKICKING __pyx_string_tab[305] -#define __pyx_n_u_CDLKICKINGBYLENGTH __pyx_string_tab[306] -#define __pyx_n_u_CDLKICKINGBYLENGTH_Stream __pyx_string_tab[307] -#define __pyx_n_u_CDLKICKINGBYLENGTH_Stream_open_a __pyx_string_tab[308] -#define __pyx_n_u_CDLKICKING_Stream __pyx_string_tab[309] -#define __pyx_n_u_CDLKICKING_Stream_open_and_fill __pyx_string_tab[310] -#define __pyx_n_u_CDLLADDERBOTTOM __pyx_string_tab[311] -#define __pyx_n_u_CDLLADDERBOTTOM_Stream __pyx_string_tab[312] -#define __pyx_n_u_CDLLADDERBOTTOM_Stream_open_and __pyx_string_tab[313] -#define __pyx_n_u_CDLLONGLEGGEDDOJI __pyx_string_tab[314] -#define __pyx_n_u_CDLLONGLEGGEDDOJI_Stream __pyx_string_tab[315] -#define __pyx_n_u_CDLLONGLEGGEDDOJI_Stream_open_an __pyx_string_tab[316] -#define __pyx_n_u_CDLLONGLINE __pyx_string_tab[317] -#define __pyx_n_u_CDLLONGLINE_Stream __pyx_string_tab[318] -#define __pyx_n_u_CDLLONGLINE_Stream_open_and_fill __pyx_string_tab[319] -#define __pyx_n_u_CDLMARUBOZU __pyx_string_tab[320] -#define __pyx_n_u_CDLMARUBOZU_Stream __pyx_string_tab[321] -#define __pyx_n_u_CDLMARUBOZU_Stream_open_and_fill __pyx_string_tab[322] -#define __pyx_n_u_CDLMATCHINGLOW __pyx_string_tab[323] -#define __pyx_n_u_CDLMATCHINGLOW_Stream __pyx_string_tab[324] -#define __pyx_n_u_CDLMATCHINGLOW_Stream_open_and_f __pyx_string_tab[325] -#define __pyx_n_u_CDLMATHOLD __pyx_string_tab[326] -#define __pyx_n_u_CDLMATHOLD_Stream __pyx_string_tab[327] -#define __pyx_n_u_CDLMATHOLD_Stream_open_and_fill __pyx_string_tab[328] -#define __pyx_n_u_CDLMORNINGDOJISTAR __pyx_string_tab[329] -#define __pyx_n_u_CDLMORNINGDOJISTAR_Stream __pyx_string_tab[330] -#define __pyx_n_u_CDLMORNINGDOJISTAR_Stream_open_a __pyx_string_tab[331] -#define __pyx_n_u_CDLMORNINGSTAR __pyx_string_tab[332] -#define __pyx_n_u_CDLMORNINGSTAR_Stream __pyx_string_tab[333] -#define __pyx_n_u_CDLMORNINGSTAR_Stream_open_and_f __pyx_string_tab[334] -#define __pyx_n_u_CDLONNECK __pyx_string_tab[335] -#define __pyx_n_u_CDLONNECK_Stream __pyx_string_tab[336] -#define __pyx_n_u_CDLONNECK_Stream_open_and_fill __pyx_string_tab[337] -#define __pyx_n_u_CDLPIERCING __pyx_string_tab[338] -#define __pyx_n_u_CDLPIERCING_Stream __pyx_string_tab[339] -#define __pyx_n_u_CDLPIERCING_Stream_open_and_fill __pyx_string_tab[340] -#define __pyx_n_u_CDLRICKSHAWMAN __pyx_string_tab[341] -#define __pyx_n_u_CDLRICKSHAWMAN_Stream __pyx_string_tab[342] -#define __pyx_n_u_CDLRICKSHAWMAN_Stream_open_and_f __pyx_string_tab[343] -#define __pyx_n_u_CDLRISEFALL3METHODS __pyx_string_tab[344] -#define __pyx_n_u_CDLRISEFALL3METHODS_Stream __pyx_string_tab[345] -#define __pyx_n_u_CDLRISEFALL3METHODS_Stream_open __pyx_string_tab[346] -#define __pyx_n_u_CDLSEPARATINGLINES __pyx_string_tab[347] -#define __pyx_n_u_CDLSEPARATINGLINES_Stream __pyx_string_tab[348] -#define __pyx_n_u_CDLSEPARATINGLINES_Stream_open_a __pyx_string_tab[349] -#define __pyx_n_u_CDLSHOOTINGSTAR __pyx_string_tab[350] -#define __pyx_n_u_CDLSHOOTINGSTAR_Stream __pyx_string_tab[351] -#define __pyx_n_u_CDLSHOOTINGSTAR_Stream_open_and __pyx_string_tab[352] -#define __pyx_n_u_CDLSHORTLINE __pyx_string_tab[353] -#define __pyx_n_u_CDLSHORTLINE_Stream __pyx_string_tab[354] -#define __pyx_n_u_CDLSHORTLINE_Stream_open_and_fil __pyx_string_tab[355] -#define __pyx_n_u_CDLSPINNINGTOP __pyx_string_tab[356] -#define __pyx_n_u_CDLSPINNINGTOP_Stream __pyx_string_tab[357] -#define __pyx_n_u_CDLSPINNINGTOP_Stream_open_and_f __pyx_string_tab[358] -#define __pyx_n_u_CDLSTALLEDPATTERN __pyx_string_tab[359] -#define __pyx_n_u_CDLSTALLEDPATTERN_Stream __pyx_string_tab[360] -#define __pyx_n_u_CDLSTALLEDPATTERN_Stream_open_an __pyx_string_tab[361] -#define __pyx_n_u_CDLSTICKSANDWICH __pyx_string_tab[362] -#define __pyx_n_u_CDLSTICKSANDWICH_Stream __pyx_string_tab[363] -#define __pyx_n_u_CDLSTICKSANDWICH_Stream_open_and __pyx_string_tab[364] -#define __pyx_n_u_CDLTAKURI __pyx_string_tab[365] -#define __pyx_n_u_CDLTAKURI_Stream __pyx_string_tab[366] -#define __pyx_n_u_CDLTAKURI_Stream_open_and_fill __pyx_string_tab[367] -#define __pyx_n_u_CDLTASUKIGAP __pyx_string_tab[368] -#define __pyx_n_u_CDLTASUKIGAP_Stream __pyx_string_tab[369] -#define __pyx_n_u_CDLTASUKIGAP_Stream_open_and_fil __pyx_string_tab[370] -#define __pyx_n_u_CDLTHRUSTING __pyx_string_tab[371] -#define __pyx_n_u_CDLTHRUSTING_Stream __pyx_string_tab[372] -#define __pyx_n_u_CDLTHRUSTING_Stream_open_and_fil __pyx_string_tab[373] -#define __pyx_n_u_CDLTRISTAR __pyx_string_tab[374] -#define __pyx_n_u_CDLTRISTAR_Stream __pyx_string_tab[375] -#define __pyx_n_u_CDLTRISTAR_Stream_open_and_fill __pyx_string_tab[376] -#define __pyx_n_u_CDLUNIQUE3RIVER __pyx_string_tab[377] -#define __pyx_n_u_CDLUNIQUE3RIVER_Stream __pyx_string_tab[378] -#define __pyx_n_u_CDLUNIQUE3RIVER_Stream_open_and __pyx_string_tab[379] -#define __pyx_n_u_CDLUPSIDEGAP2CROWS __pyx_string_tab[380] -#define __pyx_n_u_CDLUPSIDEGAP2CROWS_Stream __pyx_string_tab[381] -#define __pyx_n_u_CDLUPSIDEGAP2CROWS_Stream_open_a __pyx_string_tab[382] -#define __pyx_n_u_CDLXSIDEGAP3METHODS __pyx_string_tab[383] -#define __pyx_n_u_CDLXSIDEGAP3METHODS_Stream __pyx_string_tab[384] -#define __pyx_n_u_CDLXSIDEGAP3METHODS_Stream_open __pyx_string_tab[385] -#define __pyx_n_u_CEIL __pyx_string_tab[386] -#define __pyx_n_u_CEIL_Stream __pyx_string_tab[387] -#define __pyx_n_u_CEIL_Stream_open_and_fill __pyx_string_tab[388] -#define __pyx_n_u_CMF __pyx_string_tab[389] -#define __pyx_n_u_CMF_Stream __pyx_string_tab[390] -#define __pyx_n_u_CMF_Stream_open_and_fill __pyx_string_tab[391] -#define __pyx_n_u_CMO __pyx_string_tab[392] -#define __pyx_n_u_CMOU __pyx_string_tab[393] -#define __pyx_n_u_CMOU_Stream __pyx_string_tab[394] -#define __pyx_n_u_CMOU_Stream_open_and_fill __pyx_string_tab[395] -#define __pyx_n_u_CMO_Stream __pyx_string_tab[396] -#define __pyx_n_u_CMO_Stream_open_and_fill __pyx_string_tab[397] -#define __pyx_n_u_COPPOCK __pyx_string_tab[398] -#define __pyx_n_u_COPPOCK_Stream __pyx_string_tab[399] -#define __pyx_n_u_COPPOCK_Stream_open_and_fill __pyx_string_tab[400] -#define __pyx_n_u_CORREL __pyx_string_tab[401] -#define __pyx_n_u_CORREL_Stream __pyx_string_tab[402] -#define __pyx_n_u_CORREL_Stream_open_and_fill __pyx_string_tab[403] -#define __pyx_n_u_COS __pyx_string_tab[404] -#define __pyx_n_u_COSH __pyx_string_tab[405] -#define __pyx_n_u_COSH_Stream __pyx_string_tab[406] -#define __pyx_n_u_COSH_Stream_open_and_fill __pyx_string_tab[407] -#define __pyx_n_u_COS_Stream __pyx_string_tab[408] -#define __pyx_n_u_COS_Stream_open_and_fill __pyx_string_tab[409] -#define __pyx_n_u_CUMSUM __pyx_string_tab[410] -#define __pyx_n_u_CUMSUM_Stream __pyx_string_tab[411] -#define __pyx_n_u_CUMSUM_Stream_open_and_fill __pyx_string_tab[412] -#define __pyx_n_u_CVI __pyx_string_tab[413] -#define __pyx_n_u_CVI_Stream __pyx_string_tab[414] -#define __pyx_n_u_CVI_Stream_open_and_fill __pyx_string_tab[415] -#define __pyx_n_u_CandleSettingType __pyx_string_tab[416] -#define __pyx_n_u_DEFAULT __pyx_string_tab[417] -#define __pyx_n_u_DEMA __pyx_string_tab[418] -#define __pyx_n_u_DEMA_Stream __pyx_string_tab[419] -#define __pyx_n_u_DEMA_Stream_open_and_fill __pyx_string_tab[420] -#define __pyx_n_u_DISABLED __pyx_string_tab[421] -#define __pyx_n_u_DIV __pyx_string_tab[422] -#define __pyx_n_u_DIV_Stream __pyx_string_tab[423] -#define __pyx_n_u_DIV_Stream_open_and_fill __pyx_string_tab[424] -#define __pyx_n_u_DONCHIAN __pyx_string_tab[425] -#define __pyx_n_u_DONCHIAN_Stream __pyx_string_tab[426] -#define __pyx_n_u_DONCHIAN_Stream_open_and_fill __pyx_string_tab[427] -#define __pyx_n_u_DPO __pyx_string_tab[428] -#define __pyx_n_u_DPO_Stream __pyx_string_tab[429] -#define __pyx_n_u_DPO_Stream_open_and_fill __pyx_string_tab[430] -#define __pyx_n_u_DX __pyx_string_tab[431] -#define __pyx_n_u_DX_Stream __pyx_string_tab[432] -#define __pyx_n_u_DX_Stream_open_and_fill __pyx_string_tab[433] -#define __pyx_n_u_DataFrame __pyx_string_tab[434] -#define __pyx_n_u_Dot __pyx_string_tab[435] -#define __pyx_n_u_EFI __pyx_string_tab[436] -#define __pyx_n_u_EFI_Stream __pyx_string_tab[437] -#define __pyx_n_u_EFI_Stream_open_and_fill __pyx_string_tab[438] -#define __pyx_n_u_EMA __pyx_string_tab[439] -#define __pyx_n_u_EMA_Stream __pyx_string_tab[440] -#define __pyx_n_u_EMA_Stream_open_and_fill __pyx_string_tab[441] -#define __pyx_n_u_ER __pyx_string_tab[442] -#define __pyx_n_u_ERI __pyx_string_tab[443] -#define __pyx_n_u_ERI_Stream __pyx_string_tab[444] -#define __pyx_n_u_ERI_Stream_open_and_fill __pyx_string_tab[445] -#define __pyx_n_u_ER_Stream __pyx_string_tab[446] -#define __pyx_n_u_ER_Stream_open_and_fill __pyx_string_tab[447] -#define __pyx_n_u_EXP __pyx_string_tab[448] -#define __pyx_n_u_EXP_Stream __pyx_string_tab[449] -#define __pyx_n_u_EXP_Stream_open_and_fill __pyx_string_tab[450] -#define __pyx_n_u_Equal __pyx_string_tab[451] -#define __pyx_n_u_FLOOR __pyx_string_tab[452] -#define __pyx_n_u_FLOOR_Stream __pyx_string_tab[453] -#define __pyx_n_u_FLOOR_Stream_open_and_fill __pyx_string_tab[454] -#define __pyx_n_u_FOSC __pyx_string_tab[455] -#define __pyx_n_u_FOSC_Stream __pyx_string_tab[456] -#define __pyx_n_u_FOSC_Stream_open_and_fill __pyx_string_tab[457] -#define __pyx_n_u_FRACTAL __pyx_string_tab[458] -#define __pyx_n_u_FRACTAL_Stream __pyx_string_tab[459] -#define __pyx_n_u_FRACTAL_Stream_open_and_fill __pyx_string_tab[460] -#define __pyx_n_u_Far __pyx_string_tab[461] -#define __pyx_n_u_Function __pyx_string_tab[462] -#define __pyx_n_u_Function___call __pyx_string_tab[463] -#define __pyx_n_u_Function___call_function __pyx_string_tab[464] -#define __pyx_n_u_Function___check_opt_input_value __pyx_string_tab[465] -#define __pyx_n_u_Function___get_opt_input_value __pyx_string_tab[466] -#define __pyx_n_u_Function___init __pyx_string_tab[467] -#define __pyx_n_u_Function___input_price_series_na __pyx_string_tab[468] -#define __pyx_n_u_Function___local __pyx_string_tab[469] -#define __pyx_n_u_Function___repr __pyx_string_tab[470] -#define __pyx_n_u_Function___str __pyx_string_tab[471] -#define __pyx_n_u_Function___unicode __pyx_string_tab[472] -#define __pyx_n_u_Function_function_flags __pyx_string_tab[473] -#define __pyx_n_u_Function_get_input_arrays __pyx_string_tab[474] -#define __pyx_n_u_Function_get_input_names __pyx_string_tab[475] -#define __pyx_n_u_Function_get_parameters __pyx_string_tab[476] -#define __pyx_n_u_Function_info __pyx_string_tab[477] -#define __pyx_n_u_Function_lookback __pyx_string_tab[478] -#define __pyx_n_u_Function_output_flags __pyx_string_tab[479] -#define __pyx_n_u_Function_output_names __pyx_string_tab[480] -#define __pyx_n_u_Function_outputs __pyx_string_tab[481] -#define __pyx_n_u_Function_run __pyx_string_tab[482] -#define __pyx_n_u_Function_set_function_args __pyx_string_tab[483] -#define __pyx_n_u_Function_set_input_arrays __pyx_string_tab[484] -#define __pyx_n_u_Function_set_input_names __pyx_string_tab[485] -#define __pyx_n_u_Function_set_parameters __pyx_string_tab[486] -#define __pyx_n_u_HA __pyx_string_tab[487] -#define __pyx_n_u_HA_Stream __pyx_string_tab[488] -#define __pyx_n_u_HA_Stream_open_and_fill __pyx_string_tab[489] -#define __pyx_n_u_HMA __pyx_string_tab[490] -#define __pyx_n_u_HMA_Stream __pyx_string_tab[491] -#define __pyx_n_u_HMA_Stream_open_and_fill __pyx_string_tab[492] -#define __pyx_n_u_HT_DCPERIOD __pyx_string_tab[493] -#define __pyx_n_u_HT_DCPERIOD_Stream __pyx_string_tab[494] -#define __pyx_n_u_HT_DCPERIOD_Stream_open_and_fill __pyx_string_tab[495] -#define __pyx_n_u_HT_DCPHASE __pyx_string_tab[496] -#define __pyx_n_u_HT_DCPHASE_Stream __pyx_string_tab[497] -#define __pyx_n_u_HT_DCPHASE_Stream_open_and_fill __pyx_string_tab[498] -#define __pyx_n_u_HT_PHASOR __pyx_string_tab[499] -#define __pyx_n_u_HT_PHASOR_Stream __pyx_string_tab[500] -#define __pyx_n_u_HT_PHASOR_Stream_open_and_fill __pyx_string_tab[501] -#define __pyx_n_u_HT_SINE __pyx_string_tab[502] -#define __pyx_n_u_HT_SINE_Stream __pyx_string_tab[503] -#define __pyx_n_u_HT_SINE_Stream_open_and_fill __pyx_string_tab[504] -#define __pyx_n_u_HT_TRENDLINE __pyx_string_tab[505] -#define __pyx_n_u_HT_TRENDLINE_Stream __pyx_string_tab[506] -#define __pyx_n_u_HT_TRENDLINE_Stream_open_and_fil __pyx_string_tab[507] -#define __pyx_n_u_HT_TRENDMODE __pyx_string_tab[508] -#define __pyx_n_u_HT_TRENDMODE_Stream __pyx_string_tab[509] -#define __pyx_n_u_HT_TRENDMODE_Stream_open_and_fil __pyx_string_tab[510] -#define __pyx_n_u_HighLow __pyx_string_tab[511] -#define __pyx_n_u_Histogram __pyx_string_tab[512] -#define __pyx_n_u_IMI __pyx_string_tab[513] -#define __pyx_n_u_IMI_Stream __pyx_string_tab[514] -#define __pyx_n_u_IMI_Stream_open_and_fill __pyx_string_tab[515] -#define __pyx_n_u_InsufficientHistory __pyx_string_tab[516] -#define __pyx_n_u_KAMA __pyx_string_tab[517] -#define __pyx_n_u_KAMA_Stream __pyx_string_tab[518] -#define __pyx_n_u_KAMA_Stream_open_and_fill __pyx_string_tab[519] -#define __pyx_n_u_KC __pyx_string_tab[520] -#define __pyx_n_u_KC_Stream __pyx_string_tab[521] -#define __pyx_n_u_KC_Stream_open_and_fill __pyx_string_tab[522] -#define __pyx_n_u_KDJ __pyx_string_tab[523] -#define __pyx_n_u_KDJ_Stream __pyx_string_tab[524] -#define __pyx_n_u_KDJ_Stream_open_and_fill __pyx_string_tab[525] -#define __pyx_n_u_LINEARREG __pyx_string_tab[526] -#define __pyx_n_u_LINEARREG_ANGLE __pyx_string_tab[527] -#define __pyx_n_u_LINEARREG_ANGLE_Stream __pyx_string_tab[528] -#define __pyx_n_u_LINEARREG_ANGLE_Stream_open_and __pyx_string_tab[529] -#define __pyx_n_u_LINEARREG_INTERCEPT __pyx_string_tab[530] -#define __pyx_n_u_LINEARREG_INTERCEPT_Stream __pyx_string_tab[531] -#define __pyx_n_u_LINEARREG_INTERCEPT_Stream_open __pyx_string_tab[532] -#define __pyx_n_u_LINEARREG_SLOPE __pyx_string_tab[533] -#define __pyx_n_u_LINEARREG_SLOPE_Stream __pyx_string_tab[534] -#define __pyx_n_u_LINEARREG_SLOPE_Stream_open_and __pyx_string_tab[535] -#define __pyx_n_u_LINEARREG_Stream __pyx_string_tab[536] -#define __pyx_n_u_LINEARREG_Stream_open_and_fill __pyx_string_tab[537] -#define __pyx_n_u_LN __pyx_string_tab[538] -#define __pyx_n_u_LN_Stream __pyx_string_tab[539] -#define __pyx_n_u_LN_Stream_open_and_fill __pyx_string_tab[540] -#define __pyx_n_u_LOG10 __pyx_string_tab[541] -#define __pyx_n_u_LOG10_Stream __pyx_string_tab[542] -#define __pyx_n_u_LOG10_Stream_open_and_fill __pyx_string_tab[543] -#define __pyx_n_u_Line __pyx_string_tab[544] -#define __pyx_n_u_MA __pyx_string_tab[545] -#define __pyx_n_u_MACD __pyx_string_tab[546] -#define __pyx_n_u_MACDEXT __pyx_string_tab[547] -#define __pyx_n_u_MACDEXT_Stream __pyx_string_tab[548] -#define __pyx_n_u_MACDEXT_Stream_open_and_fill __pyx_string_tab[549] -#define __pyx_n_u_MACDFIX __pyx_string_tab[550] -#define __pyx_n_u_MACDFIX_Stream __pyx_string_tab[551] -#define __pyx_n_u_MACDFIX_Stream_open_and_fill __pyx_string_tab[552] -#define __pyx_n_u_MACD_Stream __pyx_string_tab[553] -#define __pyx_n_u_MACD_Stream_open_and_fill __pyx_string_tab[554] -#define __pyx_n_u_MAMA __pyx_string_tab[555] -#define __pyx_n_u_MAMA_Stream __pyx_string_tab[556] -#define __pyx_n_u_MAMA_Stream_open_and_fill __pyx_string_tab[557] -#define __pyx_n_u_MARKETFI __pyx_string_tab[558] -#define __pyx_n_u_MARKETFI_Stream __pyx_string_tab[559] -#define __pyx_n_u_MARKETFI_Stream_open_and_fill __pyx_string_tab[560] -#define __pyx_n_u_MASSI __pyx_string_tab[561] -#define __pyx_n_u_MASSI_Stream __pyx_string_tab[562] -#define __pyx_n_u_MASSI_Stream_open_and_fill __pyx_string_tab[563] -#define __pyx_n_u_MAVP __pyx_string_tab[564] -#define __pyx_n_u_MAVP_Stream __pyx_string_tab[565] -#define __pyx_n_u_MAVP_Stream_open_and_fill __pyx_string_tab[566] -#define __pyx_n_u_MAX __pyx_string_tab[567] -#define __pyx_n_u_MAXINDEX __pyx_string_tab[568] -#define __pyx_n_u_MAXINDEX_Stream __pyx_string_tab[569] -#define __pyx_n_u_MAXINDEX_Stream_open_and_fill __pyx_string_tab[570] -#define __pyx_n_u_MAX_Stream __pyx_string_tab[571] -#define __pyx_n_u_MAX_Stream_open_and_fill __pyx_string_tab[572] -#define __pyx_n_u_MA_Stream __pyx_string_tab[573] -#define __pyx_n_u_MA_Stream_open_and_fill __pyx_string_tab[574] -#define __pyx_n_u_MA_Type __pyx_string_tab[575] -#define __pyx_n_u_MA_Type___getitem __pyx_string_tab[576] -#define __pyx_n_u_MA_Type___init __pyx_string_tab[577] -#define __pyx_n_u_MEDPRICE __pyx_string_tab[578] -#define __pyx_n_u_MEDPRICE_Stream __pyx_string_tab[579] -#define __pyx_n_u_MEDPRICE_Stream_open_and_fill __pyx_string_tab[580] -#define __pyx_n_u_MFI __pyx_string_tab[581] -#define __pyx_n_u_MFI_Stream __pyx_string_tab[582] -#define __pyx_n_u_MFI_Stream_open_and_fill __pyx_string_tab[583] -#define __pyx_n_u_MIDPOINT __pyx_string_tab[584] -#define __pyx_n_u_MIDPOINT_Stream __pyx_string_tab[585] -#define __pyx_n_u_MIDPOINT_Stream_open_and_fill __pyx_string_tab[586] -#define __pyx_n_u_MIDPRICE __pyx_string_tab[587] -#define __pyx_n_u_MIDPRICE_Stream __pyx_string_tab[588] -#define __pyx_n_u_MIDPRICE_Stream_open_and_fill __pyx_string_tab[589] -#define __pyx_n_u_MIN __pyx_string_tab[590] -#define __pyx_n_u_MININDEX __pyx_string_tab[591] -#define __pyx_n_u_MININDEX_Stream __pyx_string_tab[592] -#define __pyx_n_u_MININDEX_Stream_open_and_fill __pyx_string_tab[593] -#define __pyx_n_u_MINMAX __pyx_string_tab[594] -#define __pyx_n_u_MINMAXINDEX __pyx_string_tab[595] -#define __pyx_n_u_MINMAXINDEX_Stream __pyx_string_tab[596] -#define __pyx_n_u_MINMAXINDEX_Stream_open_and_fill __pyx_string_tab[597] -#define __pyx_n_u_MINMAX_Stream __pyx_string_tab[598] -#define __pyx_n_u_MINMAX_Stream_open_and_fill __pyx_string_tab[599] -#define __pyx_n_u_MINUS_DI __pyx_string_tab[600] -#define __pyx_n_u_MINUS_DI_Stream __pyx_string_tab[601] -#define __pyx_n_u_MINUS_DI_Stream_open_and_fill __pyx_string_tab[602] -#define __pyx_n_u_MINUS_DM __pyx_string_tab[603] -#define __pyx_n_u_MINUS_DM_Stream __pyx_string_tab[604] -#define __pyx_n_u_MINUS_DM_Stream_open_and_fill __pyx_string_tab[605] -#define __pyx_n_u_MIN_Stream __pyx_string_tab[606] -#define __pyx_n_u_MIN_Stream_open_and_fill __pyx_string_tab[607] -#define __pyx_n_u_MOM __pyx_string_tab[608] -#define __pyx_n_u_MOM_Stream __pyx_string_tab[609] -#define __pyx_n_u_MOM_Stream_open_and_fill __pyx_string_tab[610] -#define __pyx_n_u_MULT __pyx_string_tab[611] -#define __pyx_n_u_MULT_Stream __pyx_string_tab[612] -#define __pyx_n_u_MULT_Stream_open_and_fill __pyx_string_tab[613] -#define __pyx_n_u_NATR __pyx_string_tab[614] -#define __pyx_n_u_NATR_Stream __pyx_string_tab[615] -#define __pyx_n_u_NATR_Stream_open_and_fill __pyx_string_tab[616] -#define __pyx_n_u_NONE __pyx_string_tab[617] -#define __pyx_n_u_NVI __pyx_string_tab[618] -#define __pyx_n_u_NVI_Stream __pyx_string_tab[619] -#define __pyx_n_u_NVI_Stream_open_and_fill __pyx_string_tab[620] -#define __pyx_n_u_Near __pyx_string_tab[621] -#define __pyx_n_u_OBV __pyx_string_tab[622] -#define __pyx_n_u_OBV_Stream __pyx_string_tab[623] -#define __pyx_n_u_OBV_Stream_open_and_fill __pyx_string_tab[624] -#define __pyx_n_u_OrderedDict __pyx_string_tab[625] -#define __pyx_n_u_OutRange __pyx_string_tab[626] -#define __pyx_n_u_PERCENTILE __pyx_string_tab[627] -#define __pyx_n_u_PERCENTILE_Stream __pyx_string_tab[628] -#define __pyx_n_u_PERCENTILE_Stream_open_and_fill __pyx_string_tab[629] -#define __pyx_n_u_PERCENTRANK __pyx_string_tab[630] -#define __pyx_n_u_PERCENTRANK_Stream __pyx_string_tab[631] -#define __pyx_n_u_PERCENTRANK_Stream_open_and_fill __pyx_string_tab[632] -#define __pyx_n_u_PLUS_DI __pyx_string_tab[633] -#define __pyx_n_u_PLUS_DI_Stream __pyx_string_tab[634] -#define __pyx_n_u_PLUS_DI_Stream_open_and_fill __pyx_string_tab[635] -#define __pyx_n_u_PLUS_DM __pyx_string_tab[636] -#define __pyx_n_u_PLUS_DM_Stream __pyx_string_tab[637] -#define __pyx_n_u_PLUS_DM_Stream_open_and_fill __pyx_string_tab[638] -#define __pyx_n_u_PPO __pyx_string_tab[639] -#define __pyx_n_u_PPO_Stream __pyx_string_tab[640] -#define __pyx_n_u_PPO_Stream_open_and_fill __pyx_string_tab[641] -#define __pyx_n_u_PVI __pyx_string_tab[642] -#define __pyx_n_u_PVI_Stream __pyx_string_tab[643] -#define __pyx_n_u_PVI_Stream_open_and_fill __pyx_string_tab[644] -#define __pyx_n_u_PVO __pyx_string_tab[645] -#define __pyx_n_u_PVO_Stream __pyx_string_tab[646] -#define __pyx_n_u_PVO_Stream_open_and_fill __pyx_string_tab[647] -#define __pyx_n_u_PVT __pyx_string_tab[648] -#define __pyx_n_u_PVT_Stream __pyx_string_tab[649] -#define __pyx_n_u_PVT_Stream_open_and_fill __pyx_string_tab[650] -#define __pyx_n_u_QSTICK __pyx_string_tab[651] -#define __pyx_n_u_QSTICK_Stream __pyx_string_tab[652] -#define __pyx_n_u_QSTICK_Stream_open_and_fill __pyx_string_tab[653] -#define __pyx_n_u_RMA __pyx_string_tab[654] -#define __pyx_n_u_RMA_Stream __pyx_string_tab[655] -#define __pyx_n_u_RMA_Stream_open_and_fill __pyx_string_tab[656] -#define __pyx_n_u_ROC __pyx_string_tab[657] -#define __pyx_n_u_ROCP __pyx_string_tab[658] -#define __pyx_n_u_ROCP_Stream __pyx_string_tab[659] -#define __pyx_n_u_ROCP_Stream_open_and_fill __pyx_string_tab[660] -#define __pyx_n_u_ROCR __pyx_string_tab[661] -#define __pyx_n_u_ROCR100 __pyx_string_tab[662] -#define __pyx_n_u_ROCR100_Stream __pyx_string_tab[663] -#define __pyx_n_u_ROCR100_Stream_open_and_fill __pyx_string_tab[664] -#define __pyx_n_u_ROCR_Stream __pyx_string_tab[665] -#define __pyx_n_u_ROCR_Stream_open_and_fill __pyx_string_tab[666] -#define __pyx_n_u_ROC_Stream __pyx_string_tab[667] -#define __pyx_n_u_ROC_Stream_open_and_fill __pyx_string_tab[668] -#define __pyx_n_u_RSI __pyx_string_tab[669] -#define __pyx_n_u_RSI_Stream __pyx_string_tab[670] -#define __pyx_n_u_RSI_Stream_open_and_fill __pyx_string_tab[671] -#define __pyx_n_u_RVI __pyx_string_tab[672] -#define __pyx_n_u_RVI_Stream __pyx_string_tab[673] -#define __pyx_n_u_RVI_Stream_open_and_fill __pyx_string_tab[674] -#define __pyx_n_u_RVOL __pyx_string_tab[675] -#define __pyx_n_u_RVOL_Stream __pyx_string_tab[676] -#define __pyx_n_u_RVOL_Stream_open_and_fill __pyx_string_tab[677] -#define __pyx_n_u_RangeType __pyx_string_tab[678] -#define __pyx_n_u_RealBody __pyx_string_tab[679] -#define __pyx_n_u_SAR __pyx_string_tab[680] -#define __pyx_n_u_SAREXT __pyx_string_tab[681] -#define __pyx_n_u_SAREXT_Stream __pyx_string_tab[682] -#define __pyx_n_u_SAREXT_Stream_open_and_fill __pyx_string_tab[683] -#define __pyx_n_u_SAR_Stream __pyx_string_tab[684] -#define __pyx_n_u_SAR_Stream_open_and_fill __pyx_string_tab[685] -#define __pyx_n_u_SIN __pyx_string_tab[686] -#define __pyx_n_u_SINH __pyx_string_tab[687] -#define __pyx_n_u_SINH_Stream __pyx_string_tab[688] -#define __pyx_n_u_SINH_Stream_open_and_fill __pyx_string_tab[689] -#define __pyx_n_u_SIN_Stream __pyx_string_tab[690] -#define __pyx_n_u_SIN_Stream_open_and_fill __pyx_string_tab[691] -#define __pyx_n_u_SMA __pyx_string_tab[692] -#define __pyx_n_u_SMA_Stream __pyx_string_tab[693] -#define __pyx_n_u_SMA_Stream_open_and_fill __pyx_string_tab[694] -#define __pyx_n_u_SMI __pyx_string_tab[695] -#define __pyx_n_u_SMI_Stream __pyx_string_tab[696] -#define __pyx_n_u_SMI_Stream_open_and_fill __pyx_string_tab[697] -#define __pyx_n_u_SQRT __pyx_string_tab[698] -#define __pyx_n_u_SQRT_Stream __pyx_string_tab[699] -#define __pyx_n_u_SQRT_Stream_open_and_fill __pyx_string_tab[700] -#define __pyx_n_u_STDDEV __pyx_string_tab[701] -#define __pyx_n_u_STDDEV_Stream __pyx_string_tab[702] -#define __pyx_n_u_STDDEV_Stream_open_and_fill __pyx_string_tab[703] -#define __pyx_n_u_STOCH __pyx_string_tab[704] -#define __pyx_n_u_STOCHF __pyx_string_tab[705] -#define __pyx_n_u_STOCHF_Stream __pyx_string_tab[706] -#define __pyx_n_u_STOCHF_Stream_open_and_fill __pyx_string_tab[707] -#define __pyx_n_u_STOCHRSI __pyx_string_tab[708] -#define __pyx_n_u_STOCHRSI_Stream __pyx_string_tab[709] -#define __pyx_n_u_STOCHRSI_Stream_open_and_fill __pyx_string_tab[710] -#define __pyx_n_u_STOCH_Stream __pyx_string_tab[711] -#define __pyx_n_u_STOCH_Stream_open_and_fill __pyx_string_tab[712] -#define __pyx_n_u_SUB __pyx_string_tab[713] -#define __pyx_n_u_SUB_Stream __pyx_string_tab[714] -#define __pyx_n_u_SUB_Stream_open_and_fill __pyx_string_tab[715] -#define __pyx_n_u_SUM __pyx_string_tab[716] -#define __pyx_n_u_SUM_Stream __pyx_string_tab[717] -#define __pyx_n_u_SUM_Stream_open_and_fill __pyx_string_tab[718] -#define __pyx_n_u_SUPERTREND __pyx_string_tab[719] -#define __pyx_n_u_SUPERTREND_Stream __pyx_string_tab[720] -#define __pyx_n_u_SUPERTREND_Stream_open_and_fill __pyx_string_tab[721] -#define __pyx_n_u_Series __pyx_string_tab[722] -#define __pyx_n_u_ShadowLong __pyx_string_tab[723] -#define __pyx_n_u_ShadowShort __pyx_string_tab[724] -#define __pyx_n_u_ShadowVeryLong __pyx_string_tab[725] -#define __pyx_n_u_ShadowVeryShort __pyx_string_tab[726] -#define __pyx_n_u_Shadows __pyx_string_tab[727] -#define __pyx_n_u_Stream __pyx_string_tab[728] -#define __pyx_n_u_Stream___copy __pyx_string_tab[729] -#define __pyx_n_u_Stream___deepcopy __pyx_string_tab[730] -#define __pyx_n_u_Stream___reduce __pyx_string_tab[731] -#define __pyx_n_u_T3 __pyx_string_tab[732] -#define __pyx_n_u_T3_Stream __pyx_string_tab[733] -#define __pyx_n_u_T3_Stream_open_and_fill __pyx_string_tab[734] -#define __pyx_n_u_TAN __pyx_string_tab[735] -#define __pyx_n_u_TANH __pyx_string_tab[736] -#define __pyx_n_u_TANH_Stream __pyx_string_tab[737] -#define __pyx_n_u_TANH_Stream_open_and_fill __pyx_string_tab[738] -#define __pyx_n_u_TAN_Stream __pyx_string_tab[739] -#define __pyx_n_u_TAN_Stream_open_and_fill __pyx_string_tab[740] -#define __pyx_n_u_TA_AC __pyx_string_tab[741] -#define __pyx_n_u_TA_ACCBANDS __pyx_string_tab[742] -#define __pyx_n_u_TA_ACCBANDS_Clone __pyx_string_tab[743] -#define __pyx_n_u_TA_ACCBANDS_Open __pyx_string_tab[744] -#define __pyx_n_u_TA_ACCBANDS_OpenAndFill __pyx_string_tab[745] -#define __pyx_n_u_TA_ACCBANDS_Peek __pyx_string_tab[746] -#define __pyx_n_u_TA_ACCBANDS_Update __pyx_string_tab[747] -#define __pyx_n_u_TA_ACCBANDS_Value __pyx_string_tab[748] -#define __pyx_n_u_TA_ACOS __pyx_string_tab[749] -#define __pyx_n_u_TA_ACOS_Clone __pyx_string_tab[750] -#define __pyx_n_u_TA_ACOS_Open __pyx_string_tab[751] -#define __pyx_n_u_TA_ACOS_OpenAndFill __pyx_string_tab[752] -#define __pyx_n_u_TA_ACOS_Peek __pyx_string_tab[753] -#define __pyx_n_u_TA_ACOS_Update __pyx_string_tab[754] -#define __pyx_n_u_TA_ACOS_Value __pyx_string_tab[755] -#define __pyx_n_u_TA_AC_Clone __pyx_string_tab[756] -#define __pyx_n_u_TA_AC_Open __pyx_string_tab[757] -#define __pyx_n_u_TA_AC_OpenAndFill __pyx_string_tab[758] -#define __pyx_n_u_TA_AC_Peek __pyx_string_tab[759] -#define __pyx_n_u_TA_AC_Update __pyx_string_tab[760] -#define __pyx_n_u_TA_AC_Value __pyx_string_tab[761] -#define __pyx_n_u_TA_AD __pyx_string_tab[762] -#define __pyx_n_u_TA_ADD __pyx_string_tab[763] -#define __pyx_n_u_TA_ADD_Clone __pyx_string_tab[764] -#define __pyx_n_u_TA_ADD_Open __pyx_string_tab[765] -#define __pyx_n_u_TA_ADD_OpenAndFill __pyx_string_tab[766] -#define __pyx_n_u_TA_ADD_Peek __pyx_string_tab[767] -#define __pyx_n_u_TA_ADD_Update __pyx_string_tab[768] -#define __pyx_n_u_TA_ADD_Value __pyx_string_tab[769] -#define __pyx_n_u_TA_ADOSC __pyx_string_tab[770] -#define __pyx_n_u_TA_ADOSC_Clone __pyx_string_tab[771] -#define __pyx_n_u_TA_ADOSC_Open __pyx_string_tab[772] -#define __pyx_n_u_TA_ADOSC_OpenAndFill __pyx_string_tab[773] -#define __pyx_n_u_TA_ADOSC_Peek __pyx_string_tab[774] -#define __pyx_n_u_TA_ADOSC_Update __pyx_string_tab[775] -#define __pyx_n_u_TA_ADOSC_Value __pyx_string_tab[776] -#define __pyx_n_u_TA_ADR __pyx_string_tab[777] -#define __pyx_n_u_TA_ADR_Clone __pyx_string_tab[778] -#define __pyx_n_u_TA_ADR_Open __pyx_string_tab[779] -#define __pyx_n_u_TA_ADR_OpenAndFill __pyx_string_tab[780] -#define __pyx_n_u_TA_ADR_Peek __pyx_string_tab[781] -#define __pyx_n_u_TA_ADR_Update __pyx_string_tab[782] -#define __pyx_n_u_TA_ADR_Value __pyx_string_tab[783] -#define __pyx_n_u_TA_ADX __pyx_string_tab[784] -#define __pyx_n_u_TA_ADXR __pyx_string_tab[785] -#define __pyx_n_u_TA_ADXR_Clone __pyx_string_tab[786] -#define __pyx_n_u_TA_ADXR_Open __pyx_string_tab[787] -#define __pyx_n_u_TA_ADXR_OpenAndFill __pyx_string_tab[788] -#define __pyx_n_u_TA_ADXR_Peek __pyx_string_tab[789] -#define __pyx_n_u_TA_ADXR_Update __pyx_string_tab[790] -#define __pyx_n_u_TA_ADXR_Value __pyx_string_tab[791] -#define __pyx_n_u_TA_ADX_Clone __pyx_string_tab[792] -#define __pyx_n_u_TA_ADX_Open __pyx_string_tab[793] -#define __pyx_n_u_TA_ADX_OpenAndFill __pyx_string_tab[794] -#define __pyx_n_u_TA_ADX_Peek __pyx_string_tab[795] -#define __pyx_n_u_TA_ADX_Update __pyx_string_tab[796] -#define __pyx_n_u_TA_ADX_Value __pyx_string_tab[797] -#define __pyx_n_u_TA_AD_Clone __pyx_string_tab[798] -#define __pyx_n_u_TA_AD_Open __pyx_string_tab[799] -#define __pyx_n_u_TA_AD_OpenAndFill __pyx_string_tab[800] -#define __pyx_n_u_TA_AD_Peek __pyx_string_tab[801] -#define __pyx_n_u_TA_AD_Update __pyx_string_tab[802] -#define __pyx_n_u_TA_AD_Value __pyx_string_tab[803] -#define __pyx_n_u_TA_AO __pyx_string_tab[804] -#define __pyx_n_u_TA_AO_Clone __pyx_string_tab[805] -#define __pyx_n_u_TA_AO_Open __pyx_string_tab[806] -#define __pyx_n_u_TA_AO_OpenAndFill __pyx_string_tab[807] -#define __pyx_n_u_TA_AO_Peek __pyx_string_tab[808] -#define __pyx_n_u_TA_AO_Update __pyx_string_tab[809] -#define __pyx_n_u_TA_AO_Value __pyx_string_tab[810] -#define __pyx_n_u_TA_APO __pyx_string_tab[811] -#define __pyx_n_u_TA_APO_Clone __pyx_string_tab[812] -#define __pyx_n_u_TA_APO_Open __pyx_string_tab[813] -#define __pyx_n_u_TA_APO_OpenAndFill __pyx_string_tab[814] -#define __pyx_n_u_TA_APO_Peek __pyx_string_tab[815] -#define __pyx_n_u_TA_APO_Update __pyx_string_tab[816] -#define __pyx_n_u_TA_APO_Value __pyx_string_tab[817] -#define __pyx_n_u_TA_AROON __pyx_string_tab[818] -#define __pyx_n_u_TA_AROONOSC __pyx_string_tab[819] -#define __pyx_n_u_TA_AROONOSC_Clone __pyx_string_tab[820] -#define __pyx_n_u_TA_AROONOSC_Open __pyx_string_tab[821] -#define __pyx_n_u_TA_AROONOSC_OpenAndFill __pyx_string_tab[822] -#define __pyx_n_u_TA_AROONOSC_Peek __pyx_string_tab[823] -#define __pyx_n_u_TA_AROONOSC_Update __pyx_string_tab[824] -#define __pyx_n_u_TA_AROONOSC_Value __pyx_string_tab[825] -#define __pyx_n_u_TA_AROON_Clone __pyx_string_tab[826] -#define __pyx_n_u_TA_AROON_Open __pyx_string_tab[827] -#define __pyx_n_u_TA_AROON_OpenAndFill __pyx_string_tab[828] -#define __pyx_n_u_TA_AROON_Peek __pyx_string_tab[829] -#define __pyx_n_u_TA_AROON_Update __pyx_string_tab[830] -#define __pyx_n_u_TA_AROON_Value __pyx_string_tab[831] -#define __pyx_n_u_TA_ASIN __pyx_string_tab[832] -#define __pyx_n_u_TA_ASIN_Clone __pyx_string_tab[833] -#define __pyx_n_u_TA_ASIN_Open __pyx_string_tab[834] -#define __pyx_n_u_TA_ASIN_OpenAndFill __pyx_string_tab[835] -#define __pyx_n_u_TA_ASIN_Peek __pyx_string_tab[836] -#define __pyx_n_u_TA_ASIN_Update __pyx_string_tab[837] -#define __pyx_n_u_TA_ASIN_Value __pyx_string_tab[838] -#define __pyx_n_u_TA_ATAN __pyx_string_tab[839] -#define __pyx_n_u_TA_ATAN_Clone __pyx_string_tab[840] -#define __pyx_n_u_TA_ATAN_Open __pyx_string_tab[841] -#define __pyx_n_u_TA_ATAN_OpenAndFill __pyx_string_tab[842] -#define __pyx_n_u_TA_ATAN_Peek __pyx_string_tab[843] -#define __pyx_n_u_TA_ATAN_Update __pyx_string_tab[844] -#define __pyx_n_u_TA_ATAN_Value __pyx_string_tab[845] -#define __pyx_n_u_TA_ATR __pyx_string_tab[846] -#define __pyx_n_u_TA_ATR_Clone __pyx_string_tab[847] -#define __pyx_n_u_TA_ATR_Open __pyx_string_tab[848] -#define __pyx_n_u_TA_ATR_OpenAndFill __pyx_string_tab[849] -#define __pyx_n_u_TA_ATR_Peek __pyx_string_tab[850] -#define __pyx_n_u_TA_ATR_Update __pyx_string_tab[851] -#define __pyx_n_u_TA_ATR_Value __pyx_string_tab[852] -#define __pyx_n_u_TA_AVGDEV __pyx_string_tab[853] -#define __pyx_n_u_TA_AVGDEV_Clone __pyx_string_tab[854] -#define __pyx_n_u_TA_AVGDEV_Open __pyx_string_tab[855] -#define __pyx_n_u_TA_AVGDEV_OpenAndFill __pyx_string_tab[856] -#define __pyx_n_u_TA_AVGDEV_Peek __pyx_string_tab[857] -#define __pyx_n_u_TA_AVGDEV_Update __pyx_string_tab[858] -#define __pyx_n_u_TA_AVGDEV_Value __pyx_string_tab[859] -#define __pyx_n_u_TA_AVGPRICE __pyx_string_tab[860] -#define __pyx_n_u_TA_AVGPRICE_Clone __pyx_string_tab[861] -#define __pyx_n_u_TA_AVGPRICE_Open __pyx_string_tab[862] -#define __pyx_n_u_TA_AVGPRICE_OpenAndFill __pyx_string_tab[863] -#define __pyx_n_u_TA_AVGPRICE_Peek __pyx_string_tab[864] -#define __pyx_n_u_TA_AVGPRICE_Update __pyx_string_tab[865] -#define __pyx_n_u_TA_AVGPRICE_Value __pyx_string_tab[866] -#define __pyx_n_u_TA_BBANDS __pyx_string_tab[867] -#define __pyx_n_u_TA_BBANDS_Clone __pyx_string_tab[868] -#define __pyx_n_u_TA_BBANDS_Open __pyx_string_tab[869] -#define __pyx_n_u_TA_BBANDS_OpenAndFill __pyx_string_tab[870] -#define __pyx_n_u_TA_BBANDS_Peek __pyx_string_tab[871] -#define __pyx_n_u_TA_BBANDS_Update __pyx_string_tab[872] -#define __pyx_n_u_TA_BBANDS_Value __pyx_string_tab[873] -#define __pyx_n_u_TA_BETA __pyx_string_tab[874] -#define __pyx_n_u_TA_BETA_Clone __pyx_string_tab[875] -#define __pyx_n_u_TA_BETA_Open __pyx_string_tab[876] -#define __pyx_n_u_TA_BETA_OpenAndFill __pyx_string_tab[877] -#define __pyx_n_u_TA_BETA_Peek __pyx_string_tab[878] -#define __pyx_n_u_TA_BETA_Update __pyx_string_tab[879] -#define __pyx_n_u_TA_BETA_Value __pyx_string_tab[880] -#define __pyx_n_u_TA_BOP __pyx_string_tab[881] -#define __pyx_n_u_TA_BOP_Clone __pyx_string_tab[882] -#define __pyx_n_u_TA_BOP_Open __pyx_string_tab[883] -#define __pyx_n_u_TA_BOP_OpenAndFill __pyx_string_tab[884] -#define __pyx_n_u_TA_BOP_Peek __pyx_string_tab[885] -#define __pyx_n_u_TA_BOP_Update __pyx_string_tab[886] -#define __pyx_n_u_TA_BOP_Value __pyx_string_tab[887] -#define __pyx_n_u_TA_CCI __pyx_string_tab[888] -#define __pyx_n_u_TA_CCI_Clone __pyx_string_tab[889] -#define __pyx_n_u_TA_CCI_Open __pyx_string_tab[890] -#define __pyx_n_u_TA_CCI_OpenAndFill __pyx_string_tab[891] -#define __pyx_n_u_TA_CCI_Peek __pyx_string_tab[892] -#define __pyx_n_u_TA_CCI_Update __pyx_string_tab[893] -#define __pyx_n_u_TA_CCI_Value __pyx_string_tab[894] -#define __pyx_n_u_TA_CDL2CROWS __pyx_string_tab[895] -#define __pyx_n_u_TA_CDL2CROWS_Clone __pyx_string_tab[896] -#define __pyx_n_u_TA_CDL2CROWS_Open __pyx_string_tab[897] -#define __pyx_n_u_TA_CDL2CROWS_OpenAndFill __pyx_string_tab[898] -#define __pyx_n_u_TA_CDL2CROWS_Peek __pyx_string_tab[899] -#define __pyx_n_u_TA_CDL2CROWS_Update __pyx_string_tab[900] -#define __pyx_n_u_TA_CDL2CROWS_Value __pyx_string_tab[901] -#define __pyx_n_u_TA_CDL3BLACKCROWS __pyx_string_tab[902] -#define __pyx_n_u_TA_CDL3BLACKCROWS_Clone __pyx_string_tab[903] -#define __pyx_n_u_TA_CDL3BLACKCROWS_Open __pyx_string_tab[904] -#define __pyx_n_u_TA_CDL3BLACKCROWS_OpenAndFill __pyx_string_tab[905] -#define __pyx_n_u_TA_CDL3BLACKCROWS_Peek __pyx_string_tab[906] -#define __pyx_n_u_TA_CDL3BLACKCROWS_Update __pyx_string_tab[907] -#define __pyx_n_u_TA_CDL3BLACKCROWS_Value __pyx_string_tab[908] -#define __pyx_n_u_TA_CDL3INSIDE __pyx_string_tab[909] -#define __pyx_n_u_TA_CDL3INSIDE_Clone __pyx_string_tab[910] -#define __pyx_n_u_TA_CDL3INSIDE_Open __pyx_string_tab[911] -#define __pyx_n_u_TA_CDL3INSIDE_OpenAndFill __pyx_string_tab[912] -#define __pyx_n_u_TA_CDL3INSIDE_Peek __pyx_string_tab[913] -#define __pyx_n_u_TA_CDL3INSIDE_Update __pyx_string_tab[914] -#define __pyx_n_u_TA_CDL3INSIDE_Value __pyx_string_tab[915] -#define __pyx_n_u_TA_CDL3LINESTRIKE __pyx_string_tab[916] -#define __pyx_n_u_TA_CDL3LINESTRIKE_Clone __pyx_string_tab[917] -#define __pyx_n_u_TA_CDL3LINESTRIKE_Open __pyx_string_tab[918] -#define __pyx_n_u_TA_CDL3LINESTRIKE_OpenAndFill __pyx_string_tab[919] -#define __pyx_n_u_TA_CDL3LINESTRIKE_Peek __pyx_string_tab[920] -#define __pyx_n_u_TA_CDL3LINESTRIKE_Update __pyx_string_tab[921] -#define __pyx_n_u_TA_CDL3LINESTRIKE_Value __pyx_string_tab[922] -#define __pyx_n_u_TA_CDL3OUTSIDE __pyx_string_tab[923] -#define __pyx_n_u_TA_CDL3OUTSIDE_Clone __pyx_string_tab[924] -#define __pyx_n_u_TA_CDL3OUTSIDE_Open __pyx_string_tab[925] -#define __pyx_n_u_TA_CDL3OUTSIDE_OpenAndFill __pyx_string_tab[926] -#define __pyx_n_u_TA_CDL3OUTSIDE_Peek __pyx_string_tab[927] -#define __pyx_n_u_TA_CDL3OUTSIDE_Update __pyx_string_tab[928] -#define __pyx_n_u_TA_CDL3OUTSIDE_Value __pyx_string_tab[929] -#define __pyx_n_u_TA_CDL3STARSINSOUTH __pyx_string_tab[930] -#define __pyx_n_u_TA_CDL3STARSINSOUTH_Clone __pyx_string_tab[931] -#define __pyx_n_u_TA_CDL3STARSINSOUTH_Open __pyx_string_tab[932] -#define __pyx_n_u_TA_CDL3STARSINSOUTH_OpenAndFill __pyx_string_tab[933] -#define __pyx_n_u_TA_CDL3STARSINSOUTH_Peek __pyx_string_tab[934] -#define __pyx_n_u_TA_CDL3STARSINSOUTH_Update __pyx_string_tab[935] -#define __pyx_n_u_TA_CDL3STARSINSOUTH_Value __pyx_string_tab[936] -#define __pyx_n_u_TA_CDL3WHITESOLDIERS __pyx_string_tab[937] -#define __pyx_n_u_TA_CDL3WHITESOLDIERS_Clone __pyx_string_tab[938] -#define __pyx_n_u_TA_CDL3WHITESOLDIERS_Open __pyx_string_tab[939] -#define __pyx_n_u_TA_CDL3WHITESOLDIERS_OpenAndFill __pyx_string_tab[940] -#define __pyx_n_u_TA_CDL3WHITESOLDIERS_Peek __pyx_string_tab[941] -#define __pyx_n_u_TA_CDL3WHITESOLDIERS_Update __pyx_string_tab[942] -#define __pyx_n_u_TA_CDL3WHITESOLDIERS_Value __pyx_string_tab[943] -#define __pyx_n_u_TA_CDLABANDONEDBABY __pyx_string_tab[944] -#define __pyx_n_u_TA_CDLABANDONEDBABY_Clone __pyx_string_tab[945] -#define __pyx_n_u_TA_CDLABANDONEDBABY_Open __pyx_string_tab[946] -#define __pyx_n_u_TA_CDLABANDONEDBABY_OpenAndFill __pyx_string_tab[947] -#define __pyx_n_u_TA_CDLABANDONEDBABY_Peek __pyx_string_tab[948] -#define __pyx_n_u_TA_CDLABANDONEDBABY_Update __pyx_string_tab[949] -#define __pyx_n_u_TA_CDLABANDONEDBABY_Value __pyx_string_tab[950] -#define __pyx_n_u_TA_CDLADVANCEBLOCK __pyx_string_tab[951] -#define __pyx_n_u_TA_CDLADVANCEBLOCK_Clone __pyx_string_tab[952] -#define __pyx_n_u_TA_CDLADVANCEBLOCK_Open __pyx_string_tab[953] -#define __pyx_n_u_TA_CDLADVANCEBLOCK_OpenAndFill __pyx_string_tab[954] -#define __pyx_n_u_TA_CDLADVANCEBLOCK_Peek __pyx_string_tab[955] -#define __pyx_n_u_TA_CDLADVANCEBLOCK_Update __pyx_string_tab[956] -#define __pyx_n_u_TA_CDLADVANCEBLOCK_Value __pyx_string_tab[957] -#define __pyx_n_u_TA_CDLBELTHOLD __pyx_string_tab[958] -#define __pyx_n_u_TA_CDLBELTHOLD_Clone __pyx_string_tab[959] -#define __pyx_n_u_TA_CDLBELTHOLD_Open __pyx_string_tab[960] -#define __pyx_n_u_TA_CDLBELTHOLD_OpenAndFill __pyx_string_tab[961] -#define __pyx_n_u_TA_CDLBELTHOLD_Peek __pyx_string_tab[962] -#define __pyx_n_u_TA_CDLBELTHOLD_Update __pyx_string_tab[963] -#define __pyx_n_u_TA_CDLBELTHOLD_Value __pyx_string_tab[964] -#define __pyx_n_u_TA_CDLBREAKAWAY __pyx_string_tab[965] -#define __pyx_n_u_TA_CDLBREAKAWAY_Clone __pyx_string_tab[966] -#define __pyx_n_u_TA_CDLBREAKAWAY_Open __pyx_string_tab[967] -#define __pyx_n_u_TA_CDLBREAKAWAY_OpenAndFill __pyx_string_tab[968] -#define __pyx_n_u_TA_CDLBREAKAWAY_Peek __pyx_string_tab[969] -#define __pyx_n_u_TA_CDLBREAKAWAY_Update __pyx_string_tab[970] -#define __pyx_n_u_TA_CDLBREAKAWAY_Value __pyx_string_tab[971] -#define __pyx_n_u_TA_CDLCLOSINGMARUBOZU __pyx_string_tab[972] -#define __pyx_n_u_TA_CDLCLOSINGMARUBOZU_Clone __pyx_string_tab[973] -#define __pyx_n_u_TA_CDLCLOSINGMARUBOZU_Open __pyx_string_tab[974] -#define __pyx_n_u_TA_CDLCLOSINGMARUBOZU_OpenAndFil __pyx_string_tab[975] -#define __pyx_n_u_TA_CDLCLOSINGMARUBOZU_Peek __pyx_string_tab[976] -#define __pyx_n_u_TA_CDLCLOSINGMARUBOZU_Update __pyx_string_tab[977] -#define __pyx_n_u_TA_CDLCLOSINGMARUBOZU_Value __pyx_string_tab[978] -#define __pyx_n_u_TA_CDLCONCEALBABYSWALL __pyx_string_tab[979] -#define __pyx_n_u_TA_CDLCONCEALBABYSWALL_Clone __pyx_string_tab[980] -#define __pyx_n_u_TA_CDLCONCEALBABYSWALL_Open __pyx_string_tab[981] -#define __pyx_n_u_TA_CDLCONCEALBABYSWALL_OpenAndFi __pyx_string_tab[982] -#define __pyx_n_u_TA_CDLCONCEALBABYSWALL_Peek __pyx_string_tab[983] -#define __pyx_n_u_TA_CDLCONCEALBABYSWALL_Update __pyx_string_tab[984] -#define __pyx_n_u_TA_CDLCONCEALBABYSWALL_Value __pyx_string_tab[985] -#define __pyx_n_u_TA_CDLCOUNTERATTACK __pyx_string_tab[986] -#define __pyx_n_u_TA_CDLCOUNTERATTACK_Clone __pyx_string_tab[987] -#define __pyx_n_u_TA_CDLCOUNTERATTACK_Open __pyx_string_tab[988] -#define __pyx_n_u_TA_CDLCOUNTERATTACK_OpenAndFill __pyx_string_tab[989] -#define __pyx_n_u_TA_CDLCOUNTERATTACK_Peek __pyx_string_tab[990] -#define __pyx_n_u_TA_CDLCOUNTERATTACK_Update __pyx_string_tab[991] -#define __pyx_n_u_TA_CDLCOUNTERATTACK_Value __pyx_string_tab[992] -#define __pyx_n_u_TA_CDLDARKCLOUDCOVER __pyx_string_tab[993] -#define __pyx_n_u_TA_CDLDARKCLOUDCOVER_Clone __pyx_string_tab[994] -#define __pyx_n_u_TA_CDLDARKCLOUDCOVER_Open __pyx_string_tab[995] -#define __pyx_n_u_TA_CDLDARKCLOUDCOVER_OpenAndFill __pyx_string_tab[996] -#define __pyx_n_u_TA_CDLDARKCLOUDCOVER_Peek __pyx_string_tab[997] -#define __pyx_n_u_TA_CDLDARKCLOUDCOVER_Update __pyx_string_tab[998] -#define __pyx_n_u_TA_CDLDARKCLOUDCOVER_Value __pyx_string_tab[999] -#define __pyx_n_u_TA_CDLDOJI __pyx_string_tab[1000] -#define __pyx_n_u_TA_CDLDOJISTAR __pyx_string_tab[1001] -#define __pyx_n_u_TA_CDLDOJISTAR_Clone __pyx_string_tab[1002] -#define __pyx_n_u_TA_CDLDOJISTAR_Open __pyx_string_tab[1003] -#define __pyx_n_u_TA_CDLDOJISTAR_OpenAndFill __pyx_string_tab[1004] -#define __pyx_n_u_TA_CDLDOJISTAR_Peek __pyx_string_tab[1005] -#define __pyx_n_u_TA_CDLDOJISTAR_Update __pyx_string_tab[1006] -#define __pyx_n_u_TA_CDLDOJISTAR_Value __pyx_string_tab[1007] -#define __pyx_n_u_TA_CDLDOJI_Clone __pyx_string_tab[1008] -#define __pyx_n_u_TA_CDLDOJI_Open __pyx_string_tab[1009] -#define __pyx_n_u_TA_CDLDOJI_OpenAndFill __pyx_string_tab[1010] -#define __pyx_n_u_TA_CDLDOJI_Peek __pyx_string_tab[1011] -#define __pyx_n_u_TA_CDLDOJI_Update __pyx_string_tab[1012] -#define __pyx_n_u_TA_CDLDOJI_Value __pyx_string_tab[1013] -#define __pyx_n_u_TA_CDLDRAGONFLYDOJI __pyx_string_tab[1014] -#define __pyx_n_u_TA_CDLDRAGONFLYDOJI_Clone __pyx_string_tab[1015] -#define __pyx_n_u_TA_CDLDRAGONFLYDOJI_Open __pyx_string_tab[1016] -#define __pyx_n_u_TA_CDLDRAGONFLYDOJI_OpenAndFill __pyx_string_tab[1017] -#define __pyx_n_u_TA_CDLDRAGONFLYDOJI_Peek __pyx_string_tab[1018] -#define __pyx_n_u_TA_CDLDRAGONFLYDOJI_Update __pyx_string_tab[1019] -#define __pyx_n_u_TA_CDLDRAGONFLYDOJI_Value __pyx_string_tab[1020] -#define __pyx_n_u_TA_CDLENGULFING __pyx_string_tab[1021] -#define __pyx_n_u_TA_CDLENGULFING_Clone __pyx_string_tab[1022] -#define __pyx_n_u_TA_CDLENGULFING_Open __pyx_string_tab[1023] -#define __pyx_n_u_TA_CDLENGULFING_OpenAndFill __pyx_string_tab[1024] -#define __pyx_n_u_TA_CDLENGULFING_Peek __pyx_string_tab[1025] -#define __pyx_n_u_TA_CDLENGULFING_Update __pyx_string_tab[1026] -#define __pyx_n_u_TA_CDLENGULFING_Value __pyx_string_tab[1027] -#define __pyx_n_u_TA_CDLEVENINGDOJISTAR __pyx_string_tab[1028] -#define __pyx_n_u_TA_CDLEVENINGDOJISTAR_Clone __pyx_string_tab[1029] -#define __pyx_n_u_TA_CDLEVENINGDOJISTAR_Open __pyx_string_tab[1030] -#define __pyx_n_u_TA_CDLEVENINGDOJISTAR_OpenAndFil __pyx_string_tab[1031] -#define __pyx_n_u_TA_CDLEVENINGDOJISTAR_Peek __pyx_string_tab[1032] -#define __pyx_n_u_TA_CDLEVENINGDOJISTAR_Update __pyx_string_tab[1033] -#define __pyx_n_u_TA_CDLEVENINGDOJISTAR_Value __pyx_string_tab[1034] -#define __pyx_n_u_TA_CDLEVENINGSTAR __pyx_string_tab[1035] -#define __pyx_n_u_TA_CDLEVENINGSTAR_Clone __pyx_string_tab[1036] -#define __pyx_n_u_TA_CDLEVENINGSTAR_Open __pyx_string_tab[1037] -#define __pyx_n_u_TA_CDLEVENINGSTAR_OpenAndFill __pyx_string_tab[1038] -#define __pyx_n_u_TA_CDLEVENINGSTAR_Peek __pyx_string_tab[1039] -#define __pyx_n_u_TA_CDLEVENINGSTAR_Update __pyx_string_tab[1040] -#define __pyx_n_u_TA_CDLEVENINGSTAR_Value __pyx_string_tab[1041] -#define __pyx_n_u_TA_CDLGAPSIDESIDEWHITE __pyx_string_tab[1042] -#define __pyx_n_u_TA_CDLGAPSIDESIDEWHITE_Clone __pyx_string_tab[1043] -#define __pyx_n_u_TA_CDLGAPSIDESIDEWHITE_Open __pyx_string_tab[1044] -#define __pyx_n_u_TA_CDLGAPSIDESIDEWHITE_OpenAndFi __pyx_string_tab[1045] -#define __pyx_n_u_TA_CDLGAPSIDESIDEWHITE_Peek __pyx_string_tab[1046] -#define __pyx_n_u_TA_CDLGAPSIDESIDEWHITE_Update __pyx_string_tab[1047] -#define __pyx_n_u_TA_CDLGAPSIDESIDEWHITE_Value __pyx_string_tab[1048] -#define __pyx_n_u_TA_CDLGRAVESTONEDOJI __pyx_string_tab[1049] -#define __pyx_n_u_TA_CDLGRAVESTONEDOJI_Clone __pyx_string_tab[1050] -#define __pyx_n_u_TA_CDLGRAVESTONEDOJI_Open __pyx_string_tab[1051] -#define __pyx_n_u_TA_CDLGRAVESTONEDOJI_OpenAndFill __pyx_string_tab[1052] -#define __pyx_n_u_TA_CDLGRAVESTONEDOJI_Peek __pyx_string_tab[1053] -#define __pyx_n_u_TA_CDLGRAVESTONEDOJI_Update __pyx_string_tab[1054] -#define __pyx_n_u_TA_CDLGRAVESTONEDOJI_Value __pyx_string_tab[1055] -#define __pyx_n_u_TA_CDLHAMMER __pyx_string_tab[1056] -#define __pyx_n_u_TA_CDLHAMMER_Clone __pyx_string_tab[1057] -#define __pyx_n_u_TA_CDLHAMMER_Open __pyx_string_tab[1058] -#define __pyx_n_u_TA_CDLHAMMER_OpenAndFill __pyx_string_tab[1059] -#define __pyx_n_u_TA_CDLHAMMER_Peek __pyx_string_tab[1060] -#define __pyx_n_u_TA_CDLHAMMER_Update __pyx_string_tab[1061] -#define __pyx_n_u_TA_CDLHAMMER_Value __pyx_string_tab[1062] -#define __pyx_n_u_TA_CDLHANGINGMAN __pyx_string_tab[1063] -#define __pyx_n_u_TA_CDLHANGINGMAN_Clone __pyx_string_tab[1064] -#define __pyx_n_u_TA_CDLHANGINGMAN_Open __pyx_string_tab[1065] -#define __pyx_n_u_TA_CDLHANGINGMAN_OpenAndFill __pyx_string_tab[1066] -#define __pyx_n_u_TA_CDLHANGINGMAN_Peek __pyx_string_tab[1067] -#define __pyx_n_u_TA_CDLHANGINGMAN_Update __pyx_string_tab[1068] -#define __pyx_n_u_TA_CDLHANGINGMAN_Value __pyx_string_tab[1069] -#define __pyx_n_u_TA_CDLHARAMI __pyx_string_tab[1070] -#define __pyx_n_u_TA_CDLHARAMICROSS __pyx_string_tab[1071] -#define __pyx_n_u_TA_CDLHARAMICROSS_Clone __pyx_string_tab[1072] -#define __pyx_n_u_TA_CDLHARAMICROSS_Open __pyx_string_tab[1073] -#define __pyx_n_u_TA_CDLHARAMICROSS_OpenAndFill __pyx_string_tab[1074] -#define __pyx_n_u_TA_CDLHARAMICROSS_Peek __pyx_string_tab[1075] -#define __pyx_n_u_TA_CDLHARAMICROSS_Update __pyx_string_tab[1076] -#define __pyx_n_u_TA_CDLHARAMICROSS_Value __pyx_string_tab[1077] -#define __pyx_n_u_TA_CDLHARAMI_Clone __pyx_string_tab[1078] -#define __pyx_n_u_TA_CDLHARAMI_Open __pyx_string_tab[1079] -#define __pyx_n_u_TA_CDLHARAMI_OpenAndFill __pyx_string_tab[1080] -#define __pyx_n_u_TA_CDLHARAMI_Peek __pyx_string_tab[1081] -#define __pyx_n_u_TA_CDLHARAMI_Update __pyx_string_tab[1082] -#define __pyx_n_u_TA_CDLHARAMI_Value __pyx_string_tab[1083] -#define __pyx_n_u_TA_CDLHIGHWAVE __pyx_string_tab[1084] -#define __pyx_n_u_TA_CDLHIGHWAVE_Clone __pyx_string_tab[1085] -#define __pyx_n_u_TA_CDLHIGHWAVE_Open __pyx_string_tab[1086] -#define __pyx_n_u_TA_CDLHIGHWAVE_OpenAndFill __pyx_string_tab[1087] -#define __pyx_n_u_TA_CDLHIGHWAVE_Peek __pyx_string_tab[1088] -#define __pyx_n_u_TA_CDLHIGHWAVE_Update __pyx_string_tab[1089] -#define __pyx_n_u_TA_CDLHIGHWAVE_Value __pyx_string_tab[1090] -#define __pyx_n_u_TA_CDLHIKKAKE __pyx_string_tab[1091] -#define __pyx_n_u_TA_CDLHIKKAKEMOD __pyx_string_tab[1092] -#define __pyx_n_u_TA_CDLHIKKAKEMOD_Clone __pyx_string_tab[1093] -#define __pyx_n_u_TA_CDLHIKKAKEMOD_Open __pyx_string_tab[1094] -#define __pyx_n_u_TA_CDLHIKKAKEMOD_OpenAndFill __pyx_string_tab[1095] -#define __pyx_n_u_TA_CDLHIKKAKEMOD_Peek __pyx_string_tab[1096] -#define __pyx_n_u_TA_CDLHIKKAKEMOD_Update __pyx_string_tab[1097] -#define __pyx_n_u_TA_CDLHIKKAKEMOD_Value __pyx_string_tab[1098] -#define __pyx_n_u_TA_CDLHIKKAKE_Clone __pyx_string_tab[1099] -#define __pyx_n_u_TA_CDLHIKKAKE_Open __pyx_string_tab[1100] -#define __pyx_n_u_TA_CDLHIKKAKE_OpenAndFill __pyx_string_tab[1101] -#define __pyx_n_u_TA_CDLHIKKAKE_Peek __pyx_string_tab[1102] -#define __pyx_n_u_TA_CDLHIKKAKE_Update __pyx_string_tab[1103] -#define __pyx_n_u_TA_CDLHIKKAKE_Value __pyx_string_tab[1104] -#define __pyx_n_u_TA_CDLHOMINGPIGEON __pyx_string_tab[1105] -#define __pyx_n_u_TA_CDLHOMINGPIGEON_Clone __pyx_string_tab[1106] -#define __pyx_n_u_TA_CDLHOMINGPIGEON_Open __pyx_string_tab[1107] -#define __pyx_n_u_TA_CDLHOMINGPIGEON_OpenAndFill __pyx_string_tab[1108] -#define __pyx_n_u_TA_CDLHOMINGPIGEON_Peek __pyx_string_tab[1109] -#define __pyx_n_u_TA_CDLHOMINGPIGEON_Update __pyx_string_tab[1110] -#define __pyx_n_u_TA_CDLHOMINGPIGEON_Value __pyx_string_tab[1111] -#define __pyx_n_u_TA_CDLIDENTICAL3CROWS __pyx_string_tab[1112] -#define __pyx_n_u_TA_CDLIDENTICAL3CROWS_Clone __pyx_string_tab[1113] -#define __pyx_n_u_TA_CDLIDENTICAL3CROWS_Open __pyx_string_tab[1114] -#define __pyx_n_u_TA_CDLIDENTICAL3CROWS_OpenAndFil __pyx_string_tab[1115] -#define __pyx_n_u_TA_CDLIDENTICAL3CROWS_Peek __pyx_string_tab[1116] -#define __pyx_n_u_TA_CDLIDENTICAL3CROWS_Update __pyx_string_tab[1117] -#define __pyx_n_u_TA_CDLIDENTICAL3CROWS_Value __pyx_string_tab[1118] -#define __pyx_n_u_TA_CDLINNECK __pyx_string_tab[1119] -#define __pyx_n_u_TA_CDLINNECK_Clone __pyx_string_tab[1120] -#define __pyx_n_u_TA_CDLINNECK_Open __pyx_string_tab[1121] -#define __pyx_n_u_TA_CDLINNECK_OpenAndFill __pyx_string_tab[1122] -#define __pyx_n_u_TA_CDLINNECK_Peek __pyx_string_tab[1123] -#define __pyx_n_u_TA_CDLINNECK_Update __pyx_string_tab[1124] -#define __pyx_n_u_TA_CDLINNECK_Value __pyx_string_tab[1125] -#define __pyx_n_u_TA_CDLINVERTEDHAMMER __pyx_string_tab[1126] -#define __pyx_n_u_TA_CDLINVERTEDHAMMER_Clone __pyx_string_tab[1127] -#define __pyx_n_u_TA_CDLINVERTEDHAMMER_Open __pyx_string_tab[1128] -#define __pyx_n_u_TA_CDLINVERTEDHAMMER_OpenAndFill __pyx_string_tab[1129] -#define __pyx_n_u_TA_CDLINVERTEDHAMMER_Peek __pyx_string_tab[1130] -#define __pyx_n_u_TA_CDLINVERTEDHAMMER_Update __pyx_string_tab[1131] -#define __pyx_n_u_TA_CDLINVERTEDHAMMER_Value __pyx_string_tab[1132] -#define __pyx_n_u_TA_CDLKICKING __pyx_string_tab[1133] -#define __pyx_n_u_TA_CDLKICKINGBYLENGTH __pyx_string_tab[1134] -#define __pyx_n_u_TA_CDLKICKINGBYLENGTH_Clone __pyx_string_tab[1135] -#define __pyx_n_u_TA_CDLKICKINGBYLENGTH_Open __pyx_string_tab[1136] -#define __pyx_n_u_TA_CDLKICKINGBYLENGTH_OpenAndFil __pyx_string_tab[1137] -#define __pyx_n_u_TA_CDLKICKINGBYLENGTH_Peek __pyx_string_tab[1138] -#define __pyx_n_u_TA_CDLKICKINGBYLENGTH_Update __pyx_string_tab[1139] -#define __pyx_n_u_TA_CDLKICKINGBYLENGTH_Value __pyx_string_tab[1140] -#define __pyx_n_u_TA_CDLKICKING_Clone __pyx_string_tab[1141] -#define __pyx_n_u_TA_CDLKICKING_Open __pyx_string_tab[1142] -#define __pyx_n_u_TA_CDLKICKING_OpenAndFill __pyx_string_tab[1143] -#define __pyx_n_u_TA_CDLKICKING_Peek __pyx_string_tab[1144] -#define __pyx_n_u_TA_CDLKICKING_Update __pyx_string_tab[1145] -#define __pyx_n_u_TA_CDLKICKING_Value __pyx_string_tab[1146] -#define __pyx_n_u_TA_CDLLADDERBOTTOM __pyx_string_tab[1147] -#define __pyx_n_u_TA_CDLLADDERBOTTOM_Clone __pyx_string_tab[1148] -#define __pyx_n_u_TA_CDLLADDERBOTTOM_Open __pyx_string_tab[1149] -#define __pyx_n_u_TA_CDLLADDERBOTTOM_OpenAndFill __pyx_string_tab[1150] -#define __pyx_n_u_TA_CDLLADDERBOTTOM_Peek __pyx_string_tab[1151] -#define __pyx_n_u_TA_CDLLADDERBOTTOM_Update __pyx_string_tab[1152] -#define __pyx_n_u_TA_CDLLADDERBOTTOM_Value __pyx_string_tab[1153] -#define __pyx_n_u_TA_CDLLONGLEGGEDDOJI __pyx_string_tab[1154] -#define __pyx_n_u_TA_CDLLONGLEGGEDDOJI_Clone __pyx_string_tab[1155] -#define __pyx_n_u_TA_CDLLONGLEGGEDDOJI_Open __pyx_string_tab[1156] -#define __pyx_n_u_TA_CDLLONGLEGGEDDOJI_OpenAndFill __pyx_string_tab[1157] -#define __pyx_n_u_TA_CDLLONGLEGGEDDOJI_Peek __pyx_string_tab[1158] -#define __pyx_n_u_TA_CDLLONGLEGGEDDOJI_Update __pyx_string_tab[1159] -#define __pyx_n_u_TA_CDLLONGLEGGEDDOJI_Value __pyx_string_tab[1160] -#define __pyx_n_u_TA_CDLLONGLINE __pyx_string_tab[1161] -#define __pyx_n_u_TA_CDLLONGLINE_Clone __pyx_string_tab[1162] -#define __pyx_n_u_TA_CDLLONGLINE_Open __pyx_string_tab[1163] -#define __pyx_n_u_TA_CDLLONGLINE_OpenAndFill __pyx_string_tab[1164] -#define __pyx_n_u_TA_CDLLONGLINE_Peek __pyx_string_tab[1165] -#define __pyx_n_u_TA_CDLLONGLINE_Update __pyx_string_tab[1166] -#define __pyx_n_u_TA_CDLLONGLINE_Value __pyx_string_tab[1167] -#define __pyx_n_u_TA_CDLMARUBOZU __pyx_string_tab[1168] -#define __pyx_n_u_TA_CDLMARUBOZU_Clone __pyx_string_tab[1169] -#define __pyx_n_u_TA_CDLMARUBOZU_Open __pyx_string_tab[1170] -#define __pyx_n_u_TA_CDLMARUBOZU_OpenAndFill __pyx_string_tab[1171] -#define __pyx_n_u_TA_CDLMARUBOZU_Peek __pyx_string_tab[1172] -#define __pyx_n_u_TA_CDLMARUBOZU_Update __pyx_string_tab[1173] -#define __pyx_n_u_TA_CDLMARUBOZU_Value __pyx_string_tab[1174] -#define __pyx_n_u_TA_CDLMATCHINGLOW __pyx_string_tab[1175] -#define __pyx_n_u_TA_CDLMATCHINGLOW_Clone __pyx_string_tab[1176] -#define __pyx_n_u_TA_CDLMATCHINGLOW_Open __pyx_string_tab[1177] -#define __pyx_n_u_TA_CDLMATCHINGLOW_OpenAndFill __pyx_string_tab[1178] -#define __pyx_n_u_TA_CDLMATCHINGLOW_Peek __pyx_string_tab[1179] -#define __pyx_n_u_TA_CDLMATCHINGLOW_Update __pyx_string_tab[1180] -#define __pyx_n_u_TA_CDLMATCHINGLOW_Value __pyx_string_tab[1181] -#define __pyx_n_u_TA_CDLMATHOLD __pyx_string_tab[1182] -#define __pyx_n_u_TA_CDLMATHOLD_Clone __pyx_string_tab[1183] -#define __pyx_n_u_TA_CDLMATHOLD_Open __pyx_string_tab[1184] -#define __pyx_n_u_TA_CDLMATHOLD_OpenAndFill __pyx_string_tab[1185] -#define __pyx_n_u_TA_CDLMATHOLD_Peek __pyx_string_tab[1186] -#define __pyx_n_u_TA_CDLMATHOLD_Update __pyx_string_tab[1187] -#define __pyx_n_u_TA_CDLMATHOLD_Value __pyx_string_tab[1188] -#define __pyx_n_u_TA_CDLMORNINGDOJISTAR __pyx_string_tab[1189] -#define __pyx_n_u_TA_CDLMORNINGDOJISTAR_Clone __pyx_string_tab[1190] -#define __pyx_n_u_TA_CDLMORNINGDOJISTAR_Open __pyx_string_tab[1191] -#define __pyx_n_u_TA_CDLMORNINGDOJISTAR_OpenAndFil __pyx_string_tab[1192] -#define __pyx_n_u_TA_CDLMORNINGDOJISTAR_Peek __pyx_string_tab[1193] -#define __pyx_n_u_TA_CDLMORNINGDOJISTAR_Update __pyx_string_tab[1194] -#define __pyx_n_u_TA_CDLMORNINGDOJISTAR_Value __pyx_string_tab[1195] -#define __pyx_n_u_TA_CDLMORNINGSTAR __pyx_string_tab[1196] -#define __pyx_n_u_TA_CDLMORNINGSTAR_Clone __pyx_string_tab[1197] -#define __pyx_n_u_TA_CDLMORNINGSTAR_Open __pyx_string_tab[1198] -#define __pyx_n_u_TA_CDLMORNINGSTAR_OpenAndFill __pyx_string_tab[1199] -#define __pyx_n_u_TA_CDLMORNINGSTAR_Peek __pyx_string_tab[1200] -#define __pyx_n_u_TA_CDLMORNINGSTAR_Update __pyx_string_tab[1201] -#define __pyx_n_u_TA_CDLMORNINGSTAR_Value __pyx_string_tab[1202] -#define __pyx_n_u_TA_CDLONNECK __pyx_string_tab[1203] -#define __pyx_n_u_TA_CDLONNECK_Clone __pyx_string_tab[1204] -#define __pyx_n_u_TA_CDLONNECK_Open __pyx_string_tab[1205] -#define __pyx_n_u_TA_CDLONNECK_OpenAndFill __pyx_string_tab[1206] -#define __pyx_n_u_TA_CDLONNECK_Peek __pyx_string_tab[1207] -#define __pyx_n_u_TA_CDLONNECK_Update __pyx_string_tab[1208] -#define __pyx_n_u_TA_CDLONNECK_Value __pyx_string_tab[1209] -#define __pyx_n_u_TA_CDLPIERCING __pyx_string_tab[1210] -#define __pyx_n_u_TA_CDLPIERCING_Clone __pyx_string_tab[1211] -#define __pyx_n_u_TA_CDLPIERCING_Open __pyx_string_tab[1212] -#define __pyx_n_u_TA_CDLPIERCING_OpenAndFill __pyx_string_tab[1213] -#define __pyx_n_u_TA_CDLPIERCING_Peek __pyx_string_tab[1214] -#define __pyx_n_u_TA_CDLPIERCING_Update __pyx_string_tab[1215] -#define __pyx_n_u_TA_CDLPIERCING_Value __pyx_string_tab[1216] -#define __pyx_n_u_TA_CDLRICKSHAWMAN __pyx_string_tab[1217] -#define __pyx_n_u_TA_CDLRICKSHAWMAN_Clone __pyx_string_tab[1218] -#define __pyx_n_u_TA_CDLRICKSHAWMAN_Open __pyx_string_tab[1219] -#define __pyx_n_u_TA_CDLRICKSHAWMAN_OpenAndFill __pyx_string_tab[1220] -#define __pyx_n_u_TA_CDLRICKSHAWMAN_Peek __pyx_string_tab[1221] -#define __pyx_n_u_TA_CDLRICKSHAWMAN_Update __pyx_string_tab[1222] -#define __pyx_n_u_TA_CDLRICKSHAWMAN_Value __pyx_string_tab[1223] -#define __pyx_n_u_TA_CDLRISEFALL3METHODS __pyx_string_tab[1224] -#define __pyx_n_u_TA_CDLRISEFALL3METHODS_Clone __pyx_string_tab[1225] -#define __pyx_n_u_TA_CDLRISEFALL3METHODS_Open __pyx_string_tab[1226] -#define __pyx_n_u_TA_CDLRISEFALL3METHODS_OpenAndFi __pyx_string_tab[1227] -#define __pyx_n_u_TA_CDLRISEFALL3METHODS_Peek __pyx_string_tab[1228] -#define __pyx_n_u_TA_CDLRISEFALL3METHODS_Update __pyx_string_tab[1229] -#define __pyx_n_u_TA_CDLRISEFALL3METHODS_Value __pyx_string_tab[1230] -#define __pyx_n_u_TA_CDLSEPARATINGLINES __pyx_string_tab[1231] -#define __pyx_n_u_TA_CDLSEPARATINGLINES_Clone __pyx_string_tab[1232] -#define __pyx_n_u_TA_CDLSEPARATINGLINES_Open __pyx_string_tab[1233] -#define __pyx_n_u_TA_CDLSEPARATINGLINES_OpenAndFil __pyx_string_tab[1234] -#define __pyx_n_u_TA_CDLSEPARATINGLINES_Peek __pyx_string_tab[1235] -#define __pyx_n_u_TA_CDLSEPARATINGLINES_Update __pyx_string_tab[1236] -#define __pyx_n_u_TA_CDLSEPARATINGLINES_Value __pyx_string_tab[1237] -#define __pyx_n_u_TA_CDLSHOOTINGSTAR __pyx_string_tab[1238] -#define __pyx_n_u_TA_CDLSHOOTINGSTAR_Clone __pyx_string_tab[1239] -#define __pyx_n_u_TA_CDLSHOOTINGSTAR_Open __pyx_string_tab[1240] -#define __pyx_n_u_TA_CDLSHOOTINGSTAR_OpenAndFill __pyx_string_tab[1241] -#define __pyx_n_u_TA_CDLSHOOTINGSTAR_Peek __pyx_string_tab[1242] -#define __pyx_n_u_TA_CDLSHOOTINGSTAR_Update __pyx_string_tab[1243] -#define __pyx_n_u_TA_CDLSHOOTINGSTAR_Value __pyx_string_tab[1244] -#define __pyx_n_u_TA_CDLSHORTLINE __pyx_string_tab[1245] -#define __pyx_n_u_TA_CDLSHORTLINE_Clone __pyx_string_tab[1246] -#define __pyx_n_u_TA_CDLSHORTLINE_Open __pyx_string_tab[1247] -#define __pyx_n_u_TA_CDLSHORTLINE_OpenAndFill __pyx_string_tab[1248] -#define __pyx_n_u_TA_CDLSHORTLINE_Peek __pyx_string_tab[1249] -#define __pyx_n_u_TA_CDLSHORTLINE_Update __pyx_string_tab[1250] -#define __pyx_n_u_TA_CDLSHORTLINE_Value __pyx_string_tab[1251] -#define __pyx_n_u_TA_CDLSPINNINGTOP __pyx_string_tab[1252] -#define __pyx_n_u_TA_CDLSPINNINGTOP_Clone __pyx_string_tab[1253] -#define __pyx_n_u_TA_CDLSPINNINGTOP_Open __pyx_string_tab[1254] -#define __pyx_n_u_TA_CDLSPINNINGTOP_OpenAndFill __pyx_string_tab[1255] -#define __pyx_n_u_TA_CDLSPINNINGTOP_Peek __pyx_string_tab[1256] -#define __pyx_n_u_TA_CDLSPINNINGTOP_Update __pyx_string_tab[1257] -#define __pyx_n_u_TA_CDLSPINNINGTOP_Value __pyx_string_tab[1258] -#define __pyx_n_u_TA_CDLSTALLEDPATTERN __pyx_string_tab[1259] -#define __pyx_n_u_TA_CDLSTALLEDPATTERN_Clone __pyx_string_tab[1260] -#define __pyx_n_u_TA_CDLSTALLEDPATTERN_Open __pyx_string_tab[1261] -#define __pyx_n_u_TA_CDLSTALLEDPATTERN_OpenAndFill __pyx_string_tab[1262] -#define __pyx_n_u_TA_CDLSTALLEDPATTERN_Peek __pyx_string_tab[1263] -#define __pyx_n_u_TA_CDLSTALLEDPATTERN_Update __pyx_string_tab[1264] -#define __pyx_n_u_TA_CDLSTALLEDPATTERN_Value __pyx_string_tab[1265] -#define __pyx_n_u_TA_CDLSTICKSANDWICH __pyx_string_tab[1266] -#define __pyx_n_u_TA_CDLSTICKSANDWICH_Clone __pyx_string_tab[1267] -#define __pyx_n_u_TA_CDLSTICKSANDWICH_Open __pyx_string_tab[1268] -#define __pyx_n_u_TA_CDLSTICKSANDWICH_OpenAndFill __pyx_string_tab[1269] -#define __pyx_n_u_TA_CDLSTICKSANDWICH_Peek __pyx_string_tab[1270] -#define __pyx_n_u_TA_CDLSTICKSANDWICH_Update __pyx_string_tab[1271] -#define __pyx_n_u_TA_CDLSTICKSANDWICH_Value __pyx_string_tab[1272] -#define __pyx_n_u_TA_CDLTAKURI __pyx_string_tab[1273] -#define __pyx_n_u_TA_CDLTAKURI_Clone __pyx_string_tab[1274] -#define __pyx_n_u_TA_CDLTAKURI_Open __pyx_string_tab[1275] -#define __pyx_n_u_TA_CDLTAKURI_OpenAndFill __pyx_string_tab[1276] -#define __pyx_n_u_TA_CDLTAKURI_Peek __pyx_string_tab[1277] -#define __pyx_n_u_TA_CDLTAKURI_Update __pyx_string_tab[1278] -#define __pyx_n_u_TA_CDLTAKURI_Value __pyx_string_tab[1279] -#define __pyx_n_u_TA_CDLTASUKIGAP __pyx_string_tab[1280] -#define __pyx_n_u_TA_CDLTASUKIGAP_Clone __pyx_string_tab[1281] -#define __pyx_n_u_TA_CDLTASUKIGAP_Open __pyx_string_tab[1282] -#define __pyx_n_u_TA_CDLTASUKIGAP_OpenAndFill __pyx_string_tab[1283] -#define __pyx_n_u_TA_CDLTASUKIGAP_Peek __pyx_string_tab[1284] -#define __pyx_n_u_TA_CDLTASUKIGAP_Update __pyx_string_tab[1285] -#define __pyx_n_u_TA_CDLTASUKIGAP_Value __pyx_string_tab[1286] -#define __pyx_n_u_TA_CDLTHRUSTING __pyx_string_tab[1287] -#define __pyx_n_u_TA_CDLTHRUSTING_Clone __pyx_string_tab[1288] -#define __pyx_n_u_TA_CDLTHRUSTING_Open __pyx_string_tab[1289] -#define __pyx_n_u_TA_CDLTHRUSTING_OpenAndFill __pyx_string_tab[1290] -#define __pyx_n_u_TA_CDLTHRUSTING_Peek __pyx_string_tab[1291] -#define __pyx_n_u_TA_CDLTHRUSTING_Update __pyx_string_tab[1292] -#define __pyx_n_u_TA_CDLTHRUSTING_Value __pyx_string_tab[1293] -#define __pyx_n_u_TA_CDLTRISTAR __pyx_string_tab[1294] -#define __pyx_n_u_TA_CDLTRISTAR_Clone __pyx_string_tab[1295] -#define __pyx_n_u_TA_CDLTRISTAR_Open __pyx_string_tab[1296] -#define __pyx_n_u_TA_CDLTRISTAR_OpenAndFill __pyx_string_tab[1297] -#define __pyx_n_u_TA_CDLTRISTAR_Peek __pyx_string_tab[1298] -#define __pyx_n_u_TA_CDLTRISTAR_Update __pyx_string_tab[1299] -#define __pyx_n_u_TA_CDLTRISTAR_Value __pyx_string_tab[1300] -#define __pyx_n_u_TA_CDLUNIQUE3RIVER __pyx_string_tab[1301] -#define __pyx_n_u_TA_CDLUNIQUE3RIVER_Clone __pyx_string_tab[1302] -#define __pyx_n_u_TA_CDLUNIQUE3RIVER_Open __pyx_string_tab[1303] -#define __pyx_n_u_TA_CDLUNIQUE3RIVER_OpenAndFill __pyx_string_tab[1304] -#define __pyx_n_u_TA_CDLUNIQUE3RIVER_Peek __pyx_string_tab[1305] -#define __pyx_n_u_TA_CDLUNIQUE3RIVER_Update __pyx_string_tab[1306] -#define __pyx_n_u_TA_CDLUNIQUE3RIVER_Value __pyx_string_tab[1307] -#define __pyx_n_u_TA_CDLUPSIDEGAP2CROWS __pyx_string_tab[1308] -#define __pyx_n_u_TA_CDLUPSIDEGAP2CROWS_Clone __pyx_string_tab[1309] -#define __pyx_n_u_TA_CDLUPSIDEGAP2CROWS_Open __pyx_string_tab[1310] -#define __pyx_n_u_TA_CDLUPSIDEGAP2CROWS_OpenAndFil __pyx_string_tab[1311] -#define __pyx_n_u_TA_CDLUPSIDEGAP2CROWS_Peek __pyx_string_tab[1312] -#define __pyx_n_u_TA_CDLUPSIDEGAP2CROWS_Update __pyx_string_tab[1313] -#define __pyx_n_u_TA_CDLUPSIDEGAP2CROWS_Value __pyx_string_tab[1314] -#define __pyx_n_u_TA_CDLXSIDEGAP3METHODS __pyx_string_tab[1315] -#define __pyx_n_u_TA_CDLXSIDEGAP3METHODS_Clone __pyx_string_tab[1316] -#define __pyx_n_u_TA_CDLXSIDEGAP3METHODS_Open __pyx_string_tab[1317] -#define __pyx_n_u_TA_CDLXSIDEGAP3METHODS_OpenAndFi __pyx_string_tab[1318] -#define __pyx_n_u_TA_CDLXSIDEGAP3METHODS_Peek __pyx_string_tab[1319] -#define __pyx_n_u_TA_CDLXSIDEGAP3METHODS_Update __pyx_string_tab[1320] -#define __pyx_n_u_TA_CDLXSIDEGAP3METHODS_Value __pyx_string_tab[1321] -#define __pyx_n_u_TA_CEIL __pyx_string_tab[1322] -#define __pyx_n_u_TA_CEIL_Clone __pyx_string_tab[1323] -#define __pyx_n_u_TA_CEIL_Open __pyx_string_tab[1324] -#define __pyx_n_u_TA_CEIL_OpenAndFill __pyx_string_tab[1325] -#define __pyx_n_u_TA_CEIL_Peek __pyx_string_tab[1326] -#define __pyx_n_u_TA_CEIL_Update __pyx_string_tab[1327] -#define __pyx_n_u_TA_CEIL_Value __pyx_string_tab[1328] -#define __pyx_n_u_TA_CMF __pyx_string_tab[1329] -#define __pyx_n_u_TA_CMF_Clone __pyx_string_tab[1330] -#define __pyx_n_u_TA_CMF_Open __pyx_string_tab[1331] -#define __pyx_n_u_TA_CMF_OpenAndFill __pyx_string_tab[1332] -#define __pyx_n_u_TA_CMF_Peek __pyx_string_tab[1333] -#define __pyx_n_u_TA_CMF_Update __pyx_string_tab[1334] -#define __pyx_n_u_TA_CMF_Value __pyx_string_tab[1335] -#define __pyx_n_u_TA_CMO __pyx_string_tab[1336] -#define __pyx_n_u_TA_CMOU __pyx_string_tab[1337] -#define __pyx_n_u_TA_CMOU_Clone __pyx_string_tab[1338] -#define __pyx_n_u_TA_CMOU_Open __pyx_string_tab[1339] -#define __pyx_n_u_TA_CMOU_OpenAndFill __pyx_string_tab[1340] -#define __pyx_n_u_TA_CMOU_Peek __pyx_string_tab[1341] -#define __pyx_n_u_TA_CMOU_Update __pyx_string_tab[1342] -#define __pyx_n_u_TA_CMOU_Value __pyx_string_tab[1343] -#define __pyx_n_u_TA_CMO_Clone __pyx_string_tab[1344] -#define __pyx_n_u_TA_CMO_Open __pyx_string_tab[1345] -#define __pyx_n_u_TA_CMO_OpenAndFill __pyx_string_tab[1346] -#define __pyx_n_u_TA_CMO_Peek __pyx_string_tab[1347] -#define __pyx_n_u_TA_CMO_Update __pyx_string_tab[1348] -#define __pyx_n_u_TA_CMO_Value __pyx_string_tab[1349] -#define __pyx_n_u_TA_COPPOCK __pyx_string_tab[1350] -#define __pyx_n_u_TA_COPPOCK_Clone __pyx_string_tab[1351] -#define __pyx_n_u_TA_COPPOCK_Open __pyx_string_tab[1352] -#define __pyx_n_u_TA_COPPOCK_OpenAndFill __pyx_string_tab[1353] -#define __pyx_n_u_TA_COPPOCK_Peek __pyx_string_tab[1354] -#define __pyx_n_u_TA_COPPOCK_Update __pyx_string_tab[1355] -#define __pyx_n_u_TA_COPPOCK_Value __pyx_string_tab[1356] -#define __pyx_n_u_TA_CORREL __pyx_string_tab[1357] -#define __pyx_n_u_TA_CORREL_Clone __pyx_string_tab[1358] -#define __pyx_n_u_TA_CORREL_Open __pyx_string_tab[1359] -#define __pyx_n_u_TA_CORREL_OpenAndFill __pyx_string_tab[1360] -#define __pyx_n_u_TA_CORREL_Peek __pyx_string_tab[1361] -#define __pyx_n_u_TA_CORREL_Update __pyx_string_tab[1362] -#define __pyx_n_u_TA_CORREL_Value __pyx_string_tab[1363] -#define __pyx_n_u_TA_COS __pyx_string_tab[1364] -#define __pyx_n_u_TA_COSH __pyx_string_tab[1365] -#define __pyx_n_u_TA_COSH_Clone __pyx_string_tab[1366] -#define __pyx_n_u_TA_COSH_Open __pyx_string_tab[1367] -#define __pyx_n_u_TA_COSH_OpenAndFill __pyx_string_tab[1368] -#define __pyx_n_u_TA_COSH_Peek __pyx_string_tab[1369] -#define __pyx_n_u_TA_COSH_Update __pyx_string_tab[1370] -#define __pyx_n_u_TA_COSH_Value __pyx_string_tab[1371] -#define __pyx_n_u_TA_COS_Clone __pyx_string_tab[1372] -#define __pyx_n_u_TA_COS_Open __pyx_string_tab[1373] -#define __pyx_n_u_TA_COS_OpenAndFill __pyx_string_tab[1374] -#define __pyx_n_u_TA_COS_Peek __pyx_string_tab[1375] -#define __pyx_n_u_TA_COS_Update __pyx_string_tab[1376] -#define __pyx_n_u_TA_COS_Value __pyx_string_tab[1377] -#define __pyx_n_u_TA_CUMSUM __pyx_string_tab[1378] -#define __pyx_n_u_TA_CUMSUM_Clone __pyx_string_tab[1379] -#define __pyx_n_u_TA_CUMSUM_Open __pyx_string_tab[1380] -#define __pyx_n_u_TA_CUMSUM_OpenAndFill __pyx_string_tab[1381] -#define __pyx_n_u_TA_CUMSUM_Peek __pyx_string_tab[1382] -#define __pyx_n_u_TA_CUMSUM_Update __pyx_string_tab[1383] -#define __pyx_n_u_TA_CUMSUM_Value __pyx_string_tab[1384] -#define __pyx_n_u_TA_CVI __pyx_string_tab[1385] -#define __pyx_n_u_TA_CVI_Clone __pyx_string_tab[1386] -#define __pyx_n_u_TA_CVI_Open __pyx_string_tab[1387] -#define __pyx_n_u_TA_CVI_OpenAndFill __pyx_string_tab[1388] -#define __pyx_n_u_TA_CVI_Peek __pyx_string_tab[1389] -#define __pyx_n_u_TA_CVI_Update __pyx_string_tab[1390] -#define __pyx_n_u_TA_CVI_Value __pyx_string_tab[1391] -#define __pyx_n_u_TA_DEMA __pyx_string_tab[1392] -#define __pyx_n_u_TA_DEMA_Clone __pyx_string_tab[1393] -#define __pyx_n_u_TA_DEMA_Open __pyx_string_tab[1394] -#define __pyx_n_u_TA_DEMA_OpenAndFill __pyx_string_tab[1395] -#define __pyx_n_u_TA_DEMA_Peek __pyx_string_tab[1396] -#define __pyx_n_u_TA_DEMA_Update __pyx_string_tab[1397] -#define __pyx_n_u_TA_DEMA_Value __pyx_string_tab[1398] -#define __pyx_n_u_TA_DIV __pyx_string_tab[1399] -#define __pyx_n_u_TA_DIV_Clone __pyx_string_tab[1400] -#define __pyx_n_u_TA_DIV_Open __pyx_string_tab[1401] -#define __pyx_n_u_TA_DIV_OpenAndFill __pyx_string_tab[1402] -#define __pyx_n_u_TA_DIV_Peek __pyx_string_tab[1403] -#define __pyx_n_u_TA_DIV_Update __pyx_string_tab[1404] -#define __pyx_n_u_TA_DIV_Value __pyx_string_tab[1405] -#define __pyx_n_u_TA_DONCHIAN __pyx_string_tab[1406] -#define __pyx_n_u_TA_DONCHIAN_Clone __pyx_string_tab[1407] -#define __pyx_n_u_TA_DONCHIAN_Open __pyx_string_tab[1408] -#define __pyx_n_u_TA_DONCHIAN_OpenAndFill __pyx_string_tab[1409] -#define __pyx_n_u_TA_DONCHIAN_Peek __pyx_string_tab[1410] -#define __pyx_n_u_TA_DONCHIAN_Update __pyx_string_tab[1411] -#define __pyx_n_u_TA_DONCHIAN_Value __pyx_string_tab[1412] -#define __pyx_n_u_TA_DPO __pyx_string_tab[1413] -#define __pyx_n_u_TA_DPO_Clone __pyx_string_tab[1414] -#define __pyx_n_u_TA_DPO_Open __pyx_string_tab[1415] -#define __pyx_n_u_TA_DPO_OpenAndFill __pyx_string_tab[1416] -#define __pyx_n_u_TA_DPO_Peek __pyx_string_tab[1417] -#define __pyx_n_u_TA_DPO_Update __pyx_string_tab[1418] -#define __pyx_n_u_TA_DPO_Value __pyx_string_tab[1419] -#define __pyx_n_u_TA_DX __pyx_string_tab[1420] -#define __pyx_n_u_TA_DX_Clone __pyx_string_tab[1421] -#define __pyx_n_u_TA_DX_Open __pyx_string_tab[1422] -#define __pyx_n_u_TA_DX_OpenAndFill __pyx_string_tab[1423] -#define __pyx_n_u_TA_DX_Peek __pyx_string_tab[1424] -#define __pyx_n_u_TA_DX_Update __pyx_string_tab[1425] -#define __pyx_n_u_TA_DX_Value __pyx_string_tab[1426] -#define __pyx_n_u_TA_EFI __pyx_string_tab[1427] -#define __pyx_n_u_TA_EFI_Clone __pyx_string_tab[1428] -#define __pyx_n_u_TA_EFI_Open __pyx_string_tab[1429] -#define __pyx_n_u_TA_EFI_OpenAndFill __pyx_string_tab[1430] -#define __pyx_n_u_TA_EFI_Peek __pyx_string_tab[1431] -#define __pyx_n_u_TA_EFI_Update __pyx_string_tab[1432] -#define __pyx_n_u_TA_EFI_Value __pyx_string_tab[1433] -#define __pyx_n_u_TA_EMA __pyx_string_tab[1434] -#define __pyx_n_u_TA_EMA_Clone __pyx_string_tab[1435] -#define __pyx_n_u_TA_EMA_Open __pyx_string_tab[1436] -#define __pyx_n_u_TA_EMA_OpenAndFill __pyx_string_tab[1437] -#define __pyx_n_u_TA_EMA_Peek __pyx_string_tab[1438] -#define __pyx_n_u_TA_EMA_Update __pyx_string_tab[1439] -#define __pyx_n_u_TA_EMA_Value __pyx_string_tab[1440] -#define __pyx_n_u_TA_ER __pyx_string_tab[1441] -#define __pyx_n_u_TA_ERI __pyx_string_tab[1442] -#define __pyx_n_u_TA_ERI_Clone __pyx_string_tab[1443] -#define __pyx_n_u_TA_ERI_Open __pyx_string_tab[1444] -#define __pyx_n_u_TA_ERI_OpenAndFill __pyx_string_tab[1445] -#define __pyx_n_u_TA_ERI_Peek __pyx_string_tab[1446] -#define __pyx_n_u_TA_ERI_Update __pyx_string_tab[1447] -#define __pyx_n_u_TA_ERI_Value __pyx_string_tab[1448] -#define __pyx_n_u_TA_ER_Clone __pyx_string_tab[1449] -#define __pyx_n_u_TA_ER_Open __pyx_string_tab[1450] -#define __pyx_n_u_TA_ER_OpenAndFill __pyx_string_tab[1451] -#define __pyx_n_u_TA_ER_Peek __pyx_string_tab[1452] -#define __pyx_n_u_TA_ER_Update __pyx_string_tab[1453] -#define __pyx_n_u_TA_ER_Value __pyx_string_tab[1454] -#define __pyx_n_u_TA_EXP __pyx_string_tab[1455] -#define __pyx_n_u_TA_EXP_Clone __pyx_string_tab[1456] -#define __pyx_n_u_TA_EXP_Open __pyx_string_tab[1457] -#define __pyx_n_u_TA_EXP_OpenAndFill __pyx_string_tab[1458] -#define __pyx_n_u_TA_EXP_Peek __pyx_string_tab[1459] -#define __pyx_n_u_TA_EXP_Update __pyx_string_tab[1460] -#define __pyx_n_u_TA_EXP_Value __pyx_string_tab[1461] -#define __pyx_n_u_TA_FLOOR __pyx_string_tab[1462] -#define __pyx_n_u_TA_FLOOR_Clone __pyx_string_tab[1463] -#define __pyx_n_u_TA_FLOOR_Open __pyx_string_tab[1464] -#define __pyx_n_u_TA_FLOOR_OpenAndFill __pyx_string_tab[1465] -#define __pyx_n_u_TA_FLOOR_Peek __pyx_string_tab[1466] -#define __pyx_n_u_TA_FLOOR_Update __pyx_string_tab[1467] -#define __pyx_n_u_TA_FLOOR_Value __pyx_string_tab[1468] -#define __pyx_n_u_TA_FOSC __pyx_string_tab[1469] -#define __pyx_n_u_TA_FOSC_Clone __pyx_string_tab[1470] -#define __pyx_n_u_TA_FOSC_Open __pyx_string_tab[1471] -#define __pyx_n_u_TA_FOSC_OpenAndFill __pyx_string_tab[1472] -#define __pyx_n_u_TA_FOSC_Peek __pyx_string_tab[1473] -#define __pyx_n_u_TA_FOSC_Update __pyx_string_tab[1474] -#define __pyx_n_u_TA_FOSC_Value __pyx_string_tab[1475] -#define __pyx_n_u_TA_FRACTAL __pyx_string_tab[1476] -#define __pyx_n_u_TA_FRACTAL_Clone __pyx_string_tab[1477] -#define __pyx_n_u_TA_FRACTAL_Open __pyx_string_tab[1478] -#define __pyx_n_u_TA_FRACTAL_OpenAndFill __pyx_string_tab[1479] -#define __pyx_n_u_TA_FRACTAL_Peek __pyx_string_tab[1480] -#define __pyx_n_u_TA_FRACTAL_Update __pyx_string_tab[1481] -#define __pyx_n_u_TA_FRACTAL_Value __pyx_string_tab[1482] -#define __pyx_n_u_TA_FUNC_FLAGS __pyx_string_tab[1483] -#define __pyx_n_u_TA_FuncTableAlloc __pyx_string_tab[1484] -#define __pyx_n_u_TA_FuncTableFree __pyx_string_tab[1485] -#define __pyx_n_u_TA_GetFuncHandle __pyx_string_tab[1486] -#define __pyx_n_u_TA_GetFuncInfo __pyx_string_tab[1487] -#define __pyx_n_u_TA_GetInputParameterInfo __pyx_string_tab[1488] -#define __pyx_n_u_TA_GetLookback __pyx_string_tab[1489] -#define __pyx_n_u_TA_GetOptInputParameterInfo __pyx_string_tab[1490] -#define __pyx_n_u_TA_GetOutputParameterInfo __pyx_string_tab[1491] -#define __pyx_n_u_TA_GroupTableAlloc __pyx_string_tab[1492] -#define __pyx_n_u_TA_GroupTableFree __pyx_string_tab[1493] -#define __pyx_n_u_TA_HA __pyx_string_tab[1494] -#define __pyx_n_u_TA_HA_Clone __pyx_string_tab[1495] -#define __pyx_n_u_TA_HA_Open __pyx_string_tab[1496] -#define __pyx_n_u_TA_HA_OpenAndFill __pyx_string_tab[1497] -#define __pyx_n_u_TA_HA_Peek __pyx_string_tab[1498] -#define __pyx_n_u_TA_HA_Update __pyx_string_tab[1499] -#define __pyx_n_u_TA_HA_Value __pyx_string_tab[1500] -#define __pyx_n_u_TA_HMA __pyx_string_tab[1501] -#define __pyx_n_u_TA_HMA_Clone __pyx_string_tab[1502] -#define __pyx_n_u_TA_HMA_Open __pyx_string_tab[1503] -#define __pyx_n_u_TA_HMA_OpenAndFill __pyx_string_tab[1504] -#define __pyx_n_u_TA_HMA_Peek __pyx_string_tab[1505] -#define __pyx_n_u_TA_HMA_Update __pyx_string_tab[1506] -#define __pyx_n_u_TA_HMA_Value __pyx_string_tab[1507] -#define __pyx_n_u_TA_HT_DCPERIOD __pyx_string_tab[1508] -#define __pyx_n_u_TA_HT_DCPERIOD_Clone __pyx_string_tab[1509] -#define __pyx_n_u_TA_HT_DCPERIOD_Open __pyx_string_tab[1510] -#define __pyx_n_u_TA_HT_DCPERIOD_OpenAndFill __pyx_string_tab[1511] -#define __pyx_n_u_TA_HT_DCPERIOD_Peek __pyx_string_tab[1512] -#define __pyx_n_u_TA_HT_DCPERIOD_Update __pyx_string_tab[1513] -#define __pyx_n_u_TA_HT_DCPERIOD_Value __pyx_string_tab[1514] -#define __pyx_n_u_TA_HT_DCPHASE __pyx_string_tab[1515] -#define __pyx_n_u_TA_HT_DCPHASE_Clone __pyx_string_tab[1516] -#define __pyx_n_u_TA_HT_DCPHASE_Open __pyx_string_tab[1517] -#define __pyx_n_u_TA_HT_DCPHASE_OpenAndFill __pyx_string_tab[1518] -#define __pyx_n_u_TA_HT_DCPHASE_Peek __pyx_string_tab[1519] -#define __pyx_n_u_TA_HT_DCPHASE_Update __pyx_string_tab[1520] -#define __pyx_n_u_TA_HT_DCPHASE_Value __pyx_string_tab[1521] -#define __pyx_n_u_TA_HT_PHASOR __pyx_string_tab[1522] -#define __pyx_n_u_TA_HT_PHASOR_Clone __pyx_string_tab[1523] -#define __pyx_n_u_TA_HT_PHASOR_Open __pyx_string_tab[1524] -#define __pyx_n_u_TA_HT_PHASOR_OpenAndFill __pyx_string_tab[1525] -#define __pyx_n_u_TA_HT_PHASOR_Peek __pyx_string_tab[1526] -#define __pyx_n_u_TA_HT_PHASOR_Update __pyx_string_tab[1527] -#define __pyx_n_u_TA_HT_PHASOR_Value __pyx_string_tab[1528] -#define __pyx_n_u_TA_HT_SINE __pyx_string_tab[1529] -#define __pyx_n_u_TA_HT_SINE_Clone __pyx_string_tab[1530] -#define __pyx_n_u_TA_HT_SINE_Open __pyx_string_tab[1531] -#define __pyx_n_u_TA_HT_SINE_OpenAndFill __pyx_string_tab[1532] -#define __pyx_n_u_TA_HT_SINE_Peek __pyx_string_tab[1533] -#define __pyx_n_u_TA_HT_SINE_Update __pyx_string_tab[1534] -#define __pyx_n_u_TA_HT_SINE_Value __pyx_string_tab[1535] -#define __pyx_n_u_TA_HT_TRENDLINE __pyx_string_tab[1536] -#define __pyx_n_u_TA_HT_TRENDLINE_Clone __pyx_string_tab[1537] -#define __pyx_n_u_TA_HT_TRENDLINE_Open __pyx_string_tab[1538] -#define __pyx_n_u_TA_HT_TRENDLINE_OpenAndFill __pyx_string_tab[1539] -#define __pyx_n_u_TA_HT_TRENDLINE_Peek __pyx_string_tab[1540] -#define __pyx_n_u_TA_HT_TRENDLINE_Update __pyx_string_tab[1541] -#define __pyx_n_u_TA_HT_TRENDLINE_Value __pyx_string_tab[1542] -#define __pyx_n_u_TA_HT_TRENDMODE __pyx_string_tab[1543] -#define __pyx_n_u_TA_HT_TRENDMODE_Clone __pyx_string_tab[1544] -#define __pyx_n_u_TA_HT_TRENDMODE_Open __pyx_string_tab[1545] -#define __pyx_n_u_TA_HT_TRENDMODE_OpenAndFill __pyx_string_tab[1546] -#define __pyx_n_u_TA_HT_TRENDMODE_Peek __pyx_string_tab[1547] -#define __pyx_n_u_TA_HT_TRENDMODE_Update __pyx_string_tab[1548] -#define __pyx_n_u_TA_HT_TRENDMODE_Value __pyx_string_tab[1549] -#define __pyx_n_u_TA_IMI __pyx_string_tab[1550] -#define __pyx_n_u_TA_IMI_Clone __pyx_string_tab[1551] -#define __pyx_n_u_TA_IMI_Open __pyx_string_tab[1552] -#define __pyx_n_u_TA_IMI_OpenAndFill __pyx_string_tab[1553] -#define __pyx_n_u_TA_IMI_Peek __pyx_string_tab[1554] -#define __pyx_n_u_TA_IMI_Update __pyx_string_tab[1555] -#define __pyx_n_u_TA_IMI_Value __pyx_string_tab[1556] -#define __pyx_n_u_TA_INPUT_FLAGS __pyx_string_tab[1557] -#define __pyx_n_u_TA_Initialize __pyx_string_tab[1558] -#define __pyx_n_u_TA_KAMA __pyx_string_tab[1559] -#define __pyx_n_u_TA_KAMA_Clone __pyx_string_tab[1560] -#define __pyx_n_u_TA_KAMA_Open __pyx_string_tab[1561] -#define __pyx_n_u_TA_KAMA_OpenAndFill __pyx_string_tab[1562] -#define __pyx_n_u_TA_KAMA_Peek __pyx_string_tab[1563] -#define __pyx_n_u_TA_KAMA_Update __pyx_string_tab[1564] -#define __pyx_n_u_TA_KAMA_Value __pyx_string_tab[1565] -#define __pyx_n_u_TA_KC __pyx_string_tab[1566] -#define __pyx_n_u_TA_KC_Clone __pyx_string_tab[1567] -#define __pyx_n_u_TA_KC_Open __pyx_string_tab[1568] -#define __pyx_n_u_TA_KC_OpenAndFill __pyx_string_tab[1569] -#define __pyx_n_u_TA_KC_Peek __pyx_string_tab[1570] -#define __pyx_n_u_TA_KC_Update __pyx_string_tab[1571] -#define __pyx_n_u_TA_KC_Value __pyx_string_tab[1572] -#define __pyx_n_u_TA_KDJ __pyx_string_tab[1573] -#define __pyx_n_u_TA_KDJ_Clone __pyx_string_tab[1574] -#define __pyx_n_u_TA_KDJ_Open __pyx_string_tab[1575] -#define __pyx_n_u_TA_KDJ_OpenAndFill __pyx_string_tab[1576] -#define __pyx_n_u_TA_KDJ_Peek __pyx_string_tab[1577] -#define __pyx_n_u_TA_KDJ_Update __pyx_string_tab[1578] -#define __pyx_n_u_TA_KDJ_Value __pyx_string_tab[1579] -#define __pyx_n_u_TA_LINEARREG __pyx_string_tab[1580] -#define __pyx_n_u_TA_LINEARREG_ANGLE __pyx_string_tab[1581] -#define __pyx_n_u_TA_LINEARREG_ANGLE_Clone __pyx_string_tab[1582] -#define __pyx_n_u_TA_LINEARREG_ANGLE_Open __pyx_string_tab[1583] -#define __pyx_n_u_TA_LINEARREG_ANGLE_OpenAndFill __pyx_string_tab[1584] -#define __pyx_n_u_TA_LINEARREG_ANGLE_Peek __pyx_string_tab[1585] -#define __pyx_n_u_TA_LINEARREG_ANGLE_Update __pyx_string_tab[1586] -#define __pyx_n_u_TA_LINEARREG_ANGLE_Value __pyx_string_tab[1587] -#define __pyx_n_u_TA_LINEARREG_Clone __pyx_string_tab[1588] -#define __pyx_n_u_TA_LINEARREG_INTERCEPT __pyx_string_tab[1589] -#define __pyx_n_u_TA_LINEARREG_INTERCEPT_Clone __pyx_string_tab[1590] -#define __pyx_n_u_TA_LINEARREG_INTERCEPT_Open __pyx_string_tab[1591] -#define __pyx_n_u_TA_LINEARREG_INTERCEPT_OpenAndFi __pyx_string_tab[1592] -#define __pyx_n_u_TA_LINEARREG_INTERCEPT_Peek __pyx_string_tab[1593] -#define __pyx_n_u_TA_LINEARREG_INTERCEPT_Update __pyx_string_tab[1594] -#define __pyx_n_u_TA_LINEARREG_INTERCEPT_Value __pyx_string_tab[1595] -#define __pyx_n_u_TA_LINEARREG_Open __pyx_string_tab[1596] -#define __pyx_n_u_TA_LINEARREG_OpenAndFill __pyx_string_tab[1597] -#define __pyx_n_u_TA_LINEARREG_Peek __pyx_string_tab[1598] -#define __pyx_n_u_TA_LINEARREG_SLOPE __pyx_string_tab[1599] -#define __pyx_n_u_TA_LINEARREG_SLOPE_Clone __pyx_string_tab[1600] -#define __pyx_n_u_TA_LINEARREG_SLOPE_Open __pyx_string_tab[1601] -#define __pyx_n_u_TA_LINEARREG_SLOPE_OpenAndFill __pyx_string_tab[1602] -#define __pyx_n_u_TA_LINEARREG_SLOPE_Peek __pyx_string_tab[1603] -#define __pyx_n_u_TA_LINEARREG_SLOPE_Update __pyx_string_tab[1604] -#define __pyx_n_u_TA_LINEARREG_SLOPE_Value __pyx_string_tab[1605] -#define __pyx_n_u_TA_LINEARREG_Update __pyx_string_tab[1606] -#define __pyx_n_u_TA_LINEARREG_Value __pyx_string_tab[1607] -#define __pyx_n_u_TA_LN __pyx_string_tab[1608] -#define __pyx_n_u_TA_LN_Clone __pyx_string_tab[1609] -#define __pyx_n_u_TA_LN_Open __pyx_string_tab[1610] -#define __pyx_n_u_TA_LN_OpenAndFill __pyx_string_tab[1611] -#define __pyx_n_u_TA_LN_Peek __pyx_string_tab[1612] -#define __pyx_n_u_TA_LN_Update __pyx_string_tab[1613] -#define __pyx_n_u_TA_LN_Value __pyx_string_tab[1614] -#define __pyx_n_u_TA_LOG10 __pyx_string_tab[1615] -#define __pyx_n_u_TA_LOG10_Clone __pyx_string_tab[1616] -#define __pyx_n_u_TA_LOG10_Open __pyx_string_tab[1617] -#define __pyx_n_u_TA_LOG10_OpenAndFill __pyx_string_tab[1618] -#define __pyx_n_u_TA_LOG10_Peek __pyx_string_tab[1619] -#define __pyx_n_u_TA_LOG10_Update __pyx_string_tab[1620] -#define __pyx_n_u_TA_LOG10_Value __pyx_string_tab[1621] -#define __pyx_n_u_TA_MA __pyx_string_tab[1622] -#define __pyx_n_u_TA_MACD __pyx_string_tab[1623] -#define __pyx_n_u_TA_MACDEXT __pyx_string_tab[1624] -#define __pyx_n_u_TA_MACDEXT_Clone __pyx_string_tab[1625] -#define __pyx_n_u_TA_MACDEXT_Open __pyx_string_tab[1626] -#define __pyx_n_u_TA_MACDEXT_OpenAndFill __pyx_string_tab[1627] -#define __pyx_n_u_TA_MACDEXT_Peek __pyx_string_tab[1628] -#define __pyx_n_u_TA_MACDEXT_Update __pyx_string_tab[1629] -#define __pyx_n_u_TA_MACDEXT_Value __pyx_string_tab[1630] -#define __pyx_n_u_TA_MACDFIX __pyx_string_tab[1631] -#define __pyx_n_u_TA_MACDFIX_Clone __pyx_string_tab[1632] -#define __pyx_n_u_TA_MACDFIX_Open __pyx_string_tab[1633] -#define __pyx_n_u_TA_MACDFIX_OpenAndFill __pyx_string_tab[1634] -#define __pyx_n_u_TA_MACDFIX_Peek __pyx_string_tab[1635] -#define __pyx_n_u_TA_MACDFIX_Update __pyx_string_tab[1636] -#define __pyx_n_u_TA_MACDFIX_Value __pyx_string_tab[1637] -#define __pyx_n_u_TA_MACD_Clone __pyx_string_tab[1638] -#define __pyx_n_u_TA_MACD_Open __pyx_string_tab[1639] -#define __pyx_n_u_TA_MACD_OpenAndFill __pyx_string_tab[1640] -#define __pyx_n_u_TA_MACD_Peek __pyx_string_tab[1641] -#define __pyx_n_u_TA_MACD_Update __pyx_string_tab[1642] -#define __pyx_n_u_TA_MACD_Value __pyx_string_tab[1643] -#define __pyx_n_u_TA_MAMA __pyx_string_tab[1644] -#define __pyx_n_u_TA_MAMA_Clone __pyx_string_tab[1645] -#define __pyx_n_u_TA_MAMA_Open __pyx_string_tab[1646] -#define __pyx_n_u_TA_MAMA_OpenAndFill __pyx_string_tab[1647] -#define __pyx_n_u_TA_MAMA_Peek __pyx_string_tab[1648] -#define __pyx_n_u_TA_MAMA_Update __pyx_string_tab[1649] -#define __pyx_n_u_TA_MAMA_Value __pyx_string_tab[1650] -#define __pyx_n_u_TA_MARKETFI __pyx_string_tab[1651] -#define __pyx_n_u_TA_MARKETFI_Clone __pyx_string_tab[1652] -#define __pyx_n_u_TA_MARKETFI_Open __pyx_string_tab[1653] -#define __pyx_n_u_TA_MARKETFI_OpenAndFill __pyx_string_tab[1654] -#define __pyx_n_u_TA_MARKETFI_Peek __pyx_string_tab[1655] -#define __pyx_n_u_TA_MARKETFI_Update __pyx_string_tab[1656] -#define __pyx_n_u_TA_MARKETFI_Value __pyx_string_tab[1657] -#define __pyx_n_u_TA_MASSI __pyx_string_tab[1658] -#define __pyx_n_u_TA_MASSI_Clone __pyx_string_tab[1659] -#define __pyx_n_u_TA_MASSI_Open __pyx_string_tab[1660] -#define __pyx_n_u_TA_MASSI_OpenAndFill __pyx_string_tab[1661] -#define __pyx_n_u_TA_MASSI_Peek __pyx_string_tab[1662] -#define __pyx_n_u_TA_MASSI_Update __pyx_string_tab[1663] -#define __pyx_n_u_TA_MASSI_Value __pyx_string_tab[1664] -#define __pyx_n_u_TA_MAVP __pyx_string_tab[1665] -#define __pyx_n_u_TA_MAVP_Clone __pyx_string_tab[1666] -#define __pyx_n_u_TA_MAVP_Open __pyx_string_tab[1667] -#define __pyx_n_u_TA_MAVP_OpenAndFill __pyx_string_tab[1668] -#define __pyx_n_u_TA_MAVP_Peek __pyx_string_tab[1669] -#define __pyx_n_u_TA_MAVP_Update __pyx_string_tab[1670] -#define __pyx_n_u_TA_MAVP_Value __pyx_string_tab[1671] -#define __pyx_n_u_TA_MAX __pyx_string_tab[1672] -#define __pyx_n_u_TA_MAXINDEX __pyx_string_tab[1673] -#define __pyx_n_u_TA_MAXINDEX_Clone __pyx_string_tab[1674] -#define __pyx_n_u_TA_MAXINDEX_Open __pyx_string_tab[1675] -#define __pyx_n_u_TA_MAXINDEX_OpenAndFill __pyx_string_tab[1676] -#define __pyx_n_u_TA_MAXINDEX_Peek __pyx_string_tab[1677] -#define __pyx_n_u_TA_MAXINDEX_Update __pyx_string_tab[1678] -#define __pyx_n_u_TA_MAXINDEX_Value __pyx_string_tab[1679] -#define __pyx_n_u_TA_MAX_Clone __pyx_string_tab[1680] -#define __pyx_n_u_TA_MAX_Open __pyx_string_tab[1681] -#define __pyx_n_u_TA_MAX_OpenAndFill __pyx_string_tab[1682] -#define __pyx_n_u_TA_MAX_Peek __pyx_string_tab[1683] -#define __pyx_n_u_TA_MAX_Update __pyx_string_tab[1684] -#define __pyx_n_u_TA_MAX_Value __pyx_string_tab[1685] -#define __pyx_n_u_TA_MA_Clone __pyx_string_tab[1686] -#define __pyx_n_u_TA_MA_Open __pyx_string_tab[1687] -#define __pyx_n_u_TA_MA_OpenAndFill __pyx_string_tab[1688] -#define __pyx_n_u_TA_MA_Peek __pyx_string_tab[1689] -#define __pyx_n_u_TA_MA_Update __pyx_string_tab[1690] -#define __pyx_n_u_TA_MA_Value __pyx_string_tab[1691] -#define __pyx_n_u_TA_MEDPRICE __pyx_string_tab[1692] -#define __pyx_n_u_TA_MEDPRICE_Clone __pyx_string_tab[1693] -#define __pyx_n_u_TA_MEDPRICE_Open __pyx_string_tab[1694] -#define __pyx_n_u_TA_MEDPRICE_OpenAndFill __pyx_string_tab[1695] -#define __pyx_n_u_TA_MEDPRICE_Peek __pyx_string_tab[1696] -#define __pyx_n_u_TA_MEDPRICE_Update __pyx_string_tab[1697] -#define __pyx_n_u_TA_MEDPRICE_Value __pyx_string_tab[1698] -#define __pyx_n_u_TA_MFI __pyx_string_tab[1699] -#define __pyx_n_u_TA_MFI_Clone __pyx_string_tab[1700] -#define __pyx_n_u_TA_MFI_Open __pyx_string_tab[1701] -#define __pyx_n_u_TA_MFI_OpenAndFill __pyx_string_tab[1702] -#define __pyx_n_u_TA_MFI_Peek __pyx_string_tab[1703] -#define __pyx_n_u_TA_MFI_Update __pyx_string_tab[1704] -#define __pyx_n_u_TA_MFI_Value __pyx_string_tab[1705] -#define __pyx_n_u_TA_MIDPOINT __pyx_string_tab[1706] -#define __pyx_n_u_TA_MIDPOINT_Clone __pyx_string_tab[1707] -#define __pyx_n_u_TA_MIDPOINT_Open __pyx_string_tab[1708] -#define __pyx_n_u_TA_MIDPOINT_OpenAndFill __pyx_string_tab[1709] -#define __pyx_n_u_TA_MIDPOINT_Peek __pyx_string_tab[1710] -#define __pyx_n_u_TA_MIDPOINT_Update __pyx_string_tab[1711] -#define __pyx_n_u_TA_MIDPOINT_Value __pyx_string_tab[1712] -#define __pyx_n_u_TA_MIDPRICE __pyx_string_tab[1713] -#define __pyx_n_u_TA_MIDPRICE_Clone __pyx_string_tab[1714] -#define __pyx_n_u_TA_MIDPRICE_Open __pyx_string_tab[1715] -#define __pyx_n_u_TA_MIDPRICE_OpenAndFill __pyx_string_tab[1716] -#define __pyx_n_u_TA_MIDPRICE_Peek __pyx_string_tab[1717] -#define __pyx_n_u_TA_MIDPRICE_Update __pyx_string_tab[1718] -#define __pyx_n_u_TA_MIDPRICE_Value __pyx_string_tab[1719] -#define __pyx_n_u_TA_MIN __pyx_string_tab[1720] -#define __pyx_n_u_TA_MININDEX __pyx_string_tab[1721] -#define __pyx_n_u_TA_MININDEX_Clone __pyx_string_tab[1722] -#define __pyx_n_u_TA_MININDEX_Open __pyx_string_tab[1723] -#define __pyx_n_u_TA_MININDEX_OpenAndFill __pyx_string_tab[1724] -#define __pyx_n_u_TA_MININDEX_Peek __pyx_string_tab[1725] -#define __pyx_n_u_TA_MININDEX_Update __pyx_string_tab[1726] -#define __pyx_n_u_TA_MININDEX_Value __pyx_string_tab[1727] -#define __pyx_n_u_TA_MINMAX __pyx_string_tab[1728] -#define __pyx_n_u_TA_MINMAXINDEX __pyx_string_tab[1729] -#define __pyx_n_u_TA_MINMAXINDEX_Clone __pyx_string_tab[1730] -#define __pyx_n_u_TA_MINMAXINDEX_Open __pyx_string_tab[1731] -#define __pyx_n_u_TA_MINMAXINDEX_OpenAndFill __pyx_string_tab[1732] -#define __pyx_n_u_TA_MINMAXINDEX_Peek __pyx_string_tab[1733] -#define __pyx_n_u_TA_MINMAXINDEX_Update __pyx_string_tab[1734] -#define __pyx_n_u_TA_MINMAXINDEX_Value __pyx_string_tab[1735] -#define __pyx_n_u_TA_MINMAX_Clone __pyx_string_tab[1736] -#define __pyx_n_u_TA_MINMAX_Open __pyx_string_tab[1737] -#define __pyx_n_u_TA_MINMAX_OpenAndFill __pyx_string_tab[1738] -#define __pyx_n_u_TA_MINMAX_Peek __pyx_string_tab[1739] -#define __pyx_n_u_TA_MINMAX_Update __pyx_string_tab[1740] -#define __pyx_n_u_TA_MINMAX_Value __pyx_string_tab[1741] -#define __pyx_n_u_TA_MINUS_DI __pyx_string_tab[1742] -#define __pyx_n_u_TA_MINUS_DI_Clone __pyx_string_tab[1743] -#define __pyx_n_u_TA_MINUS_DI_Open __pyx_string_tab[1744] -#define __pyx_n_u_TA_MINUS_DI_OpenAndFill __pyx_string_tab[1745] -#define __pyx_n_u_TA_MINUS_DI_Peek __pyx_string_tab[1746] -#define __pyx_n_u_TA_MINUS_DI_Update __pyx_string_tab[1747] -#define __pyx_n_u_TA_MINUS_DI_Value __pyx_string_tab[1748] -#define __pyx_n_u_TA_MINUS_DM __pyx_string_tab[1749] -#define __pyx_n_u_TA_MINUS_DM_Clone __pyx_string_tab[1750] -#define __pyx_n_u_TA_MINUS_DM_Open __pyx_string_tab[1751] -#define __pyx_n_u_TA_MINUS_DM_OpenAndFill __pyx_string_tab[1752] -#define __pyx_n_u_TA_MINUS_DM_Peek __pyx_string_tab[1753] -#define __pyx_n_u_TA_MINUS_DM_Update __pyx_string_tab[1754] -#define __pyx_n_u_TA_MINUS_DM_Value __pyx_string_tab[1755] -#define __pyx_n_u_TA_MIN_Clone __pyx_string_tab[1756] -#define __pyx_n_u_TA_MIN_Open __pyx_string_tab[1757] -#define __pyx_n_u_TA_MIN_OpenAndFill __pyx_string_tab[1758] -#define __pyx_n_u_TA_MIN_Peek __pyx_string_tab[1759] -#define __pyx_n_u_TA_MIN_Update __pyx_string_tab[1760] -#define __pyx_n_u_TA_MIN_Value __pyx_string_tab[1761] -#define __pyx_n_u_TA_MOM __pyx_string_tab[1762] -#define __pyx_n_u_TA_MOM_Clone __pyx_string_tab[1763] -#define __pyx_n_u_TA_MOM_Open __pyx_string_tab[1764] -#define __pyx_n_u_TA_MOM_OpenAndFill __pyx_string_tab[1765] -#define __pyx_n_u_TA_MOM_Peek __pyx_string_tab[1766] -#define __pyx_n_u_TA_MOM_Update __pyx_string_tab[1767] -#define __pyx_n_u_TA_MOM_Value __pyx_string_tab[1768] -#define __pyx_n_u_TA_MULT __pyx_string_tab[1769] -#define __pyx_n_u_TA_MULT_Clone __pyx_string_tab[1770] -#define __pyx_n_u_TA_MULT_Open __pyx_string_tab[1771] -#define __pyx_n_u_TA_MULT_OpenAndFill __pyx_string_tab[1772] -#define __pyx_n_u_TA_MULT_Peek __pyx_string_tab[1773] -#define __pyx_n_u_TA_MULT_Update __pyx_string_tab[1774] -#define __pyx_n_u_TA_MULT_Value __pyx_string_tab[1775] -#define __pyx_n_u_TA_NATR __pyx_string_tab[1776] -#define __pyx_n_u_TA_NATR_Clone __pyx_string_tab[1777] -#define __pyx_n_u_TA_NATR_Open __pyx_string_tab[1778] -#define __pyx_n_u_TA_NATR_OpenAndFill __pyx_string_tab[1779] -#define __pyx_n_u_TA_NATR_Peek __pyx_string_tab[1780] -#define __pyx_n_u_TA_NATR_Update __pyx_string_tab[1781] -#define __pyx_n_u_TA_NATR_Value __pyx_string_tab[1782] -#define __pyx_n_u_TA_NVI __pyx_string_tab[1783] -#define __pyx_n_u_TA_NVI_Clone __pyx_string_tab[1784] -#define __pyx_n_u_TA_NVI_Open __pyx_string_tab[1785] -#define __pyx_n_u_TA_NVI_OpenAndFill __pyx_string_tab[1786] -#define __pyx_n_u_TA_NVI_Peek __pyx_string_tab[1787] -#define __pyx_n_u_TA_NVI_Update __pyx_string_tab[1788] -#define __pyx_n_u_TA_NVI_Value __pyx_string_tab[1789] -#define __pyx_n_u_TA_OBV __pyx_string_tab[1790] -#define __pyx_n_u_TA_OBV_Clone __pyx_string_tab[1791] -#define __pyx_n_u_TA_OBV_Open __pyx_string_tab[1792] -#define __pyx_n_u_TA_OBV_OpenAndFill __pyx_string_tab[1793] -#define __pyx_n_u_TA_OBV_Peek __pyx_string_tab[1794] -#define __pyx_n_u_TA_OBV_Update __pyx_string_tab[1795] -#define __pyx_n_u_TA_OBV_Value __pyx_string_tab[1796] -#define __pyx_n_u_TA_OUTPUT_FLAGS __pyx_string_tab[1797] -#define __pyx_n_u_TA_PERCENTILE __pyx_string_tab[1798] -#define __pyx_n_u_TA_PERCENTILE_Clone __pyx_string_tab[1799] -#define __pyx_n_u_TA_PERCENTILE_Open __pyx_string_tab[1800] -#define __pyx_n_u_TA_PERCENTILE_OpenAndFill __pyx_string_tab[1801] -#define __pyx_n_u_TA_PERCENTILE_Peek __pyx_string_tab[1802] -#define __pyx_n_u_TA_PERCENTILE_Update __pyx_string_tab[1803] -#define __pyx_n_u_TA_PERCENTILE_Value __pyx_string_tab[1804] -#define __pyx_n_u_TA_PERCENTRANK __pyx_string_tab[1805] -#define __pyx_n_u_TA_PERCENTRANK_Clone __pyx_string_tab[1806] -#define __pyx_n_u_TA_PERCENTRANK_Open __pyx_string_tab[1807] -#define __pyx_n_u_TA_PERCENTRANK_OpenAndFill __pyx_string_tab[1808] -#define __pyx_n_u_TA_PERCENTRANK_Peek __pyx_string_tab[1809] -#define __pyx_n_u_TA_PERCENTRANK_Update __pyx_string_tab[1810] -#define __pyx_n_u_TA_PERCENTRANK_Value __pyx_string_tab[1811] -#define __pyx_n_u_TA_PLUS_DI __pyx_string_tab[1812] -#define __pyx_n_u_TA_PLUS_DI_Clone __pyx_string_tab[1813] -#define __pyx_n_u_TA_PLUS_DI_Open __pyx_string_tab[1814] -#define __pyx_n_u_TA_PLUS_DI_OpenAndFill __pyx_string_tab[1815] -#define __pyx_n_u_TA_PLUS_DI_Peek __pyx_string_tab[1816] -#define __pyx_n_u_TA_PLUS_DI_Update __pyx_string_tab[1817] -#define __pyx_n_u_TA_PLUS_DI_Value __pyx_string_tab[1818] -#define __pyx_n_u_TA_PLUS_DM __pyx_string_tab[1819] -#define __pyx_n_u_TA_PLUS_DM_Clone __pyx_string_tab[1820] -#define __pyx_n_u_TA_PLUS_DM_Open __pyx_string_tab[1821] -#define __pyx_n_u_TA_PLUS_DM_OpenAndFill __pyx_string_tab[1822] -#define __pyx_n_u_TA_PLUS_DM_Peek __pyx_string_tab[1823] -#define __pyx_n_u_TA_PLUS_DM_Update __pyx_string_tab[1824] -#define __pyx_n_u_TA_PLUS_DM_Value __pyx_string_tab[1825] -#define __pyx_n_u_TA_PPO __pyx_string_tab[1826] -#define __pyx_n_u_TA_PPO_Clone __pyx_string_tab[1827] -#define __pyx_n_u_TA_PPO_Open __pyx_string_tab[1828] -#define __pyx_n_u_TA_PPO_OpenAndFill __pyx_string_tab[1829] -#define __pyx_n_u_TA_PPO_Peek __pyx_string_tab[1830] -#define __pyx_n_u_TA_PPO_Update __pyx_string_tab[1831] -#define __pyx_n_u_TA_PPO_Value __pyx_string_tab[1832] -#define __pyx_n_u_TA_PVI __pyx_string_tab[1833] -#define __pyx_n_u_TA_PVI_Clone __pyx_string_tab[1834] -#define __pyx_n_u_TA_PVI_Open __pyx_string_tab[1835] -#define __pyx_n_u_TA_PVI_OpenAndFill __pyx_string_tab[1836] -#define __pyx_n_u_TA_PVI_Peek __pyx_string_tab[1837] -#define __pyx_n_u_TA_PVI_Update __pyx_string_tab[1838] -#define __pyx_n_u_TA_PVI_Value __pyx_string_tab[1839] -#define __pyx_n_u_TA_PVO __pyx_string_tab[1840] -#define __pyx_n_u_TA_PVO_Clone __pyx_string_tab[1841] -#define __pyx_n_u_TA_PVO_Open __pyx_string_tab[1842] -#define __pyx_n_u_TA_PVO_OpenAndFill __pyx_string_tab[1843] -#define __pyx_n_u_TA_PVO_Peek __pyx_string_tab[1844] -#define __pyx_n_u_TA_PVO_Update __pyx_string_tab[1845] -#define __pyx_n_u_TA_PVO_Value __pyx_string_tab[1846] -#define __pyx_n_u_TA_PVT __pyx_string_tab[1847] -#define __pyx_n_u_TA_PVT_Clone __pyx_string_tab[1848] -#define __pyx_n_u_TA_PVT_Open __pyx_string_tab[1849] -#define __pyx_n_u_TA_PVT_OpenAndFill __pyx_string_tab[1850] -#define __pyx_n_u_TA_PVT_Peek __pyx_string_tab[1851] -#define __pyx_n_u_TA_PVT_Update __pyx_string_tab[1852] -#define __pyx_n_u_TA_PVT_Value __pyx_string_tab[1853] -#define __pyx_n_u_TA_ParamHolderAlloc __pyx_string_tab[1854] -#define __pyx_n_u_TA_ParamHolderFree __pyx_string_tab[1855] -#define __pyx_n_u_TA_QSTICK __pyx_string_tab[1856] -#define __pyx_n_u_TA_QSTICK_Clone __pyx_string_tab[1857] -#define __pyx_n_u_TA_QSTICK_Open __pyx_string_tab[1858] -#define __pyx_n_u_TA_QSTICK_OpenAndFill __pyx_string_tab[1859] -#define __pyx_n_u_TA_QSTICK_Peek __pyx_string_tab[1860] -#define __pyx_n_u_TA_QSTICK_Update __pyx_string_tab[1861] -#define __pyx_n_u_TA_QSTICK_Value __pyx_string_tab[1862] -#define __pyx_n_u_TA_RMA __pyx_string_tab[1863] -#define __pyx_n_u_TA_RMA_Clone __pyx_string_tab[1864] -#define __pyx_n_u_TA_RMA_Open __pyx_string_tab[1865] -#define __pyx_n_u_TA_RMA_OpenAndFill __pyx_string_tab[1866] -#define __pyx_n_u_TA_RMA_Peek __pyx_string_tab[1867] -#define __pyx_n_u_TA_RMA_Update __pyx_string_tab[1868] -#define __pyx_n_u_TA_RMA_Value __pyx_string_tab[1869] -#define __pyx_n_u_TA_ROC __pyx_string_tab[1870] -#define __pyx_n_u_TA_ROCP __pyx_string_tab[1871] -#define __pyx_n_u_TA_ROCP_Clone __pyx_string_tab[1872] -#define __pyx_n_u_TA_ROCP_Open __pyx_string_tab[1873] -#define __pyx_n_u_TA_ROCP_OpenAndFill __pyx_string_tab[1874] -#define __pyx_n_u_TA_ROCP_Peek __pyx_string_tab[1875] -#define __pyx_n_u_TA_ROCP_Update __pyx_string_tab[1876] -#define __pyx_n_u_TA_ROCP_Value __pyx_string_tab[1877] -#define __pyx_n_u_TA_ROCR __pyx_string_tab[1878] -#define __pyx_n_u_TA_ROCR100 __pyx_string_tab[1879] -#define __pyx_n_u_TA_ROCR100_Clone __pyx_string_tab[1880] -#define __pyx_n_u_TA_ROCR100_Open __pyx_string_tab[1881] -#define __pyx_n_u_TA_ROCR100_OpenAndFill __pyx_string_tab[1882] -#define __pyx_n_u_TA_ROCR100_Peek __pyx_string_tab[1883] -#define __pyx_n_u_TA_ROCR100_Update __pyx_string_tab[1884] -#define __pyx_n_u_TA_ROCR100_Value __pyx_string_tab[1885] -#define __pyx_n_u_TA_ROCR_Clone __pyx_string_tab[1886] -#define __pyx_n_u_TA_ROCR_Open __pyx_string_tab[1887] -#define __pyx_n_u_TA_ROCR_OpenAndFill __pyx_string_tab[1888] -#define __pyx_n_u_TA_ROCR_Peek __pyx_string_tab[1889] -#define __pyx_n_u_TA_ROCR_Update __pyx_string_tab[1890] -#define __pyx_n_u_TA_ROCR_Value __pyx_string_tab[1891] -#define __pyx_n_u_TA_ROC_Clone __pyx_string_tab[1892] -#define __pyx_n_u_TA_ROC_Open __pyx_string_tab[1893] -#define __pyx_n_u_TA_ROC_OpenAndFill __pyx_string_tab[1894] -#define __pyx_n_u_TA_ROC_Peek __pyx_string_tab[1895] -#define __pyx_n_u_TA_ROC_Update __pyx_string_tab[1896] -#define __pyx_n_u_TA_ROC_Value __pyx_string_tab[1897] -#define __pyx_n_u_TA_RSI __pyx_string_tab[1898] -#define __pyx_n_u_TA_RSI_Clone __pyx_string_tab[1899] -#define __pyx_n_u_TA_RSI_Open __pyx_string_tab[1900] -#define __pyx_n_u_TA_RSI_OpenAndFill __pyx_string_tab[1901] -#define __pyx_n_u_TA_RSI_Peek __pyx_string_tab[1902] -#define __pyx_n_u_TA_RSI_Update __pyx_string_tab[1903] -#define __pyx_n_u_TA_RSI_Value __pyx_string_tab[1904] -#define __pyx_n_u_TA_RVI __pyx_string_tab[1905] -#define __pyx_n_u_TA_RVI_Clone __pyx_string_tab[1906] -#define __pyx_n_u_TA_RVI_Open __pyx_string_tab[1907] -#define __pyx_n_u_TA_RVI_OpenAndFill __pyx_string_tab[1908] -#define __pyx_n_u_TA_RVI_Peek __pyx_string_tab[1909] -#define __pyx_n_u_TA_RVI_Update __pyx_string_tab[1910] -#define __pyx_n_u_TA_RVI_Value __pyx_string_tab[1911] -#define __pyx_n_u_TA_RVOL __pyx_string_tab[1912] -#define __pyx_n_u_TA_RVOL_Clone __pyx_string_tab[1913] -#define __pyx_n_u_TA_RVOL_Open __pyx_string_tab[1914] -#define __pyx_n_u_TA_RVOL_OpenAndFill __pyx_string_tab[1915] -#define __pyx_n_u_TA_RVOL_Peek __pyx_string_tab[1916] -#define __pyx_n_u_TA_RVOL_Update __pyx_string_tab[1917] -#define __pyx_n_u_TA_RVOL_Value __pyx_string_tab[1918] -#define __pyx_n_u_TA_RestoreCandleDefaultSettings __pyx_string_tab[1919] -#define __pyx_n_u_TA_SAR __pyx_string_tab[1920] -#define __pyx_n_u_TA_SAREXT __pyx_string_tab[1921] -#define __pyx_n_u_TA_SAREXT_Clone __pyx_string_tab[1922] -#define __pyx_n_u_TA_SAREXT_Open __pyx_string_tab[1923] -#define __pyx_n_u_TA_SAREXT_OpenAndFill __pyx_string_tab[1924] -#define __pyx_n_u_TA_SAREXT_Peek __pyx_string_tab[1925] -#define __pyx_n_u_TA_SAREXT_Update __pyx_string_tab[1926] -#define __pyx_n_u_TA_SAREXT_Value __pyx_string_tab[1927] -#define __pyx_n_u_TA_SAR_Clone __pyx_string_tab[1928] -#define __pyx_n_u_TA_SAR_Open __pyx_string_tab[1929] -#define __pyx_n_u_TA_SAR_OpenAndFill __pyx_string_tab[1930] -#define __pyx_n_u_TA_SAR_Peek __pyx_string_tab[1931] -#define __pyx_n_u_TA_SAR_Update __pyx_string_tab[1932] -#define __pyx_n_u_TA_SAR_Value __pyx_string_tab[1933] -#define __pyx_n_u_TA_SIN __pyx_string_tab[1934] -#define __pyx_n_u_TA_SINH __pyx_string_tab[1935] -#define __pyx_n_u_TA_SINH_Clone __pyx_string_tab[1936] -#define __pyx_n_u_TA_SINH_Open __pyx_string_tab[1937] -#define __pyx_n_u_TA_SINH_OpenAndFill __pyx_string_tab[1938] -#define __pyx_n_u_TA_SINH_Peek __pyx_string_tab[1939] -#define __pyx_n_u_TA_SINH_Update __pyx_string_tab[1940] -#define __pyx_n_u_TA_SINH_Value __pyx_string_tab[1941] -#define __pyx_n_u_TA_SIN_Clone __pyx_string_tab[1942] -#define __pyx_n_u_TA_SIN_Open __pyx_string_tab[1943] -#define __pyx_n_u_TA_SIN_OpenAndFill __pyx_string_tab[1944] -#define __pyx_n_u_TA_SIN_Peek __pyx_string_tab[1945] -#define __pyx_n_u_TA_SIN_Update __pyx_string_tab[1946] -#define __pyx_n_u_TA_SIN_Value __pyx_string_tab[1947] -#define __pyx_n_u_TA_SMA __pyx_string_tab[1948] -#define __pyx_n_u_TA_SMA_Clone __pyx_string_tab[1949] -#define __pyx_n_u_TA_SMA_Open __pyx_string_tab[1950] -#define __pyx_n_u_TA_SMA_OpenAndFill __pyx_string_tab[1951] -#define __pyx_n_u_TA_SMA_Peek __pyx_string_tab[1952] -#define __pyx_n_u_TA_SMA_Update __pyx_string_tab[1953] -#define __pyx_n_u_TA_SMA_Value __pyx_string_tab[1954] -#define __pyx_n_u_TA_SMI __pyx_string_tab[1955] -#define __pyx_n_u_TA_SMI_Clone __pyx_string_tab[1956] -#define __pyx_n_u_TA_SMI_Open __pyx_string_tab[1957] -#define __pyx_n_u_TA_SMI_OpenAndFill __pyx_string_tab[1958] -#define __pyx_n_u_TA_SMI_Peek __pyx_string_tab[1959] -#define __pyx_n_u_TA_SMI_Update __pyx_string_tab[1960] -#define __pyx_n_u_TA_SMI_Value __pyx_string_tab[1961] -#define __pyx_n_u_TA_SQRT __pyx_string_tab[1962] -#define __pyx_n_u_TA_SQRT_Clone __pyx_string_tab[1963] -#define __pyx_n_u_TA_SQRT_Open __pyx_string_tab[1964] -#define __pyx_n_u_TA_SQRT_OpenAndFill __pyx_string_tab[1965] -#define __pyx_n_u_TA_SQRT_Peek __pyx_string_tab[1966] -#define __pyx_n_u_TA_SQRT_Update __pyx_string_tab[1967] -#define __pyx_n_u_TA_SQRT_Value __pyx_string_tab[1968] -#define __pyx_n_u_TA_STDDEV __pyx_string_tab[1969] -#define __pyx_n_u_TA_STDDEV_Clone __pyx_string_tab[1970] -#define __pyx_n_u_TA_STDDEV_Open __pyx_string_tab[1971] -#define __pyx_n_u_TA_STDDEV_OpenAndFill __pyx_string_tab[1972] -#define __pyx_n_u_TA_STDDEV_Peek __pyx_string_tab[1973] -#define __pyx_n_u_TA_STDDEV_Update __pyx_string_tab[1974] -#define __pyx_n_u_TA_STDDEV_Value __pyx_string_tab[1975] -#define __pyx_n_u_TA_STOCH __pyx_string_tab[1976] -#define __pyx_n_u_TA_STOCHF __pyx_string_tab[1977] -#define __pyx_n_u_TA_STOCHF_Clone __pyx_string_tab[1978] -#define __pyx_n_u_TA_STOCHF_Open __pyx_string_tab[1979] -#define __pyx_n_u_TA_STOCHF_OpenAndFill __pyx_string_tab[1980] -#define __pyx_n_u_TA_STOCHF_Peek __pyx_string_tab[1981] -#define __pyx_n_u_TA_STOCHF_Update __pyx_string_tab[1982] -#define __pyx_n_u_TA_STOCHF_Value __pyx_string_tab[1983] -#define __pyx_n_u_TA_STOCHRSI __pyx_string_tab[1984] -#define __pyx_n_u_TA_STOCHRSI_Clone __pyx_string_tab[1985] -#define __pyx_n_u_TA_STOCHRSI_Open __pyx_string_tab[1986] -#define __pyx_n_u_TA_STOCHRSI_OpenAndFill __pyx_string_tab[1987] -#define __pyx_n_u_TA_STOCHRSI_Peek __pyx_string_tab[1988] -#define __pyx_n_u_TA_STOCHRSI_Update __pyx_string_tab[1989] -#define __pyx_n_u_TA_STOCHRSI_Value __pyx_string_tab[1990] -#define __pyx_n_u_TA_STOCH_Clone __pyx_string_tab[1991] -#define __pyx_n_u_TA_STOCH_Open __pyx_string_tab[1992] -#define __pyx_n_u_TA_STOCH_OpenAndFill __pyx_string_tab[1993] -#define __pyx_n_u_TA_STOCH_Peek __pyx_string_tab[1994] -#define __pyx_n_u_TA_STOCH_Update __pyx_string_tab[1995] -#define __pyx_n_u_TA_STOCH_Value __pyx_string_tab[1996] -#define __pyx_n_u_TA_SUB __pyx_string_tab[1997] -#define __pyx_n_u_TA_SUB_Clone __pyx_string_tab[1998] -#define __pyx_n_u_TA_SUB_Open __pyx_string_tab[1999] -#define __pyx_n_u_TA_SUB_OpenAndFill __pyx_string_tab[2000] -#define __pyx_n_u_TA_SUB_Peek __pyx_string_tab[2001] -#define __pyx_n_u_TA_SUB_Update __pyx_string_tab[2002] -#define __pyx_n_u_TA_SUB_Value __pyx_string_tab[2003] -#define __pyx_n_u_TA_SUM __pyx_string_tab[2004] -#define __pyx_n_u_TA_SUM_Clone __pyx_string_tab[2005] -#define __pyx_n_u_TA_SUM_Open __pyx_string_tab[2006] -#define __pyx_n_u_TA_SUM_OpenAndFill __pyx_string_tab[2007] -#define __pyx_n_u_TA_SUM_Peek __pyx_string_tab[2008] -#define __pyx_n_u_TA_SUM_Update __pyx_string_tab[2009] -#define __pyx_n_u_TA_SUM_Value __pyx_string_tab[2010] -#define __pyx_n_u_TA_SUPERTREND __pyx_string_tab[2011] -#define __pyx_n_u_TA_SUPERTREND_Clone __pyx_string_tab[2012] -#define __pyx_n_u_TA_SUPERTREND_Open __pyx_string_tab[2013] -#define __pyx_n_u_TA_SUPERTREND_OpenAndFill __pyx_string_tab[2014] -#define __pyx_n_u_TA_SUPERTREND_Peek __pyx_string_tab[2015] -#define __pyx_n_u_TA_SUPERTREND_Update __pyx_string_tab[2016] -#define __pyx_n_u_TA_SUPERTREND_Value __pyx_string_tab[2017] -#define __pyx_n_u_TA_SetCandleSettings __pyx_string_tab[2018] -#define __pyx_n_u_TA_SetCompatibility __pyx_string_tab[2019] -#define __pyx_n_u_TA_SetOptInputParamInteger __pyx_string_tab[2020] -#define __pyx_n_u_TA_SetOptInputParamReal __pyx_string_tab[2021] -#define __pyx_n_u_TA_SetUnstablePeriod __pyx_string_tab[2022] -#define __pyx_n_u_TA_Shutdown __pyx_string_tab[2023] -#define __pyx_n_u_TA_T3 __pyx_string_tab[2024] -#define __pyx_n_u_TA_T3_Clone __pyx_string_tab[2025] -#define __pyx_n_u_TA_T3_Open __pyx_string_tab[2026] -#define __pyx_n_u_TA_T3_OpenAndFill __pyx_string_tab[2027] -#define __pyx_n_u_TA_T3_Peek __pyx_string_tab[2028] -#define __pyx_n_u_TA_T3_Update __pyx_string_tab[2029] -#define __pyx_n_u_TA_T3_Value __pyx_string_tab[2030] -#define __pyx_n_u_TA_TAN __pyx_string_tab[2031] -#define __pyx_n_u_TA_TANH __pyx_string_tab[2032] -#define __pyx_n_u_TA_TANH_Clone __pyx_string_tab[2033] -#define __pyx_n_u_TA_TANH_Open __pyx_string_tab[2034] -#define __pyx_n_u_TA_TANH_OpenAndFill __pyx_string_tab[2035] -#define __pyx_n_u_TA_TANH_Peek __pyx_string_tab[2036] -#define __pyx_n_u_TA_TANH_Update __pyx_string_tab[2037] -#define __pyx_n_u_TA_TANH_Value __pyx_string_tab[2038] -#define __pyx_n_u_TA_TAN_Clone __pyx_string_tab[2039] -#define __pyx_n_u_TA_TAN_Open __pyx_string_tab[2040] -#define __pyx_n_u_TA_TAN_OpenAndFill __pyx_string_tab[2041] -#define __pyx_n_u_TA_TAN_Peek __pyx_string_tab[2042] -#define __pyx_n_u_TA_TAN_Update __pyx_string_tab[2043] -#define __pyx_n_u_TA_TAN_Value __pyx_string_tab[2044] -#define __pyx_n_u_TA_TEMA __pyx_string_tab[2045] -#define __pyx_n_u_TA_TEMA_Clone __pyx_string_tab[2046] -#define __pyx_n_u_TA_TEMA_Open __pyx_string_tab[2047] -#define __pyx_n_u_TA_TEMA_OpenAndFill __pyx_string_tab[2048] -#define __pyx_n_u_TA_TEMA_Peek __pyx_string_tab[2049] -#define __pyx_n_u_TA_TEMA_Update __pyx_string_tab[2050] -#define __pyx_n_u_TA_TEMA_Value __pyx_string_tab[2051] -#define __pyx_n_u_TA_TRANGE __pyx_string_tab[2052] -#define __pyx_n_u_TA_TRANGE_Clone __pyx_string_tab[2053] -#define __pyx_n_u_TA_TRANGE_Open __pyx_string_tab[2054] -#define __pyx_n_u_TA_TRANGE_OpenAndFill __pyx_string_tab[2055] -#define __pyx_n_u_TA_TRANGE_Peek __pyx_string_tab[2056] -#define __pyx_n_u_TA_TRANGE_Update __pyx_string_tab[2057] -#define __pyx_n_u_TA_TRANGE_Value __pyx_string_tab[2058] -#define __pyx_n_u_TA_TRIMA __pyx_string_tab[2059] -#define __pyx_n_u_TA_TRIMA_Clone __pyx_string_tab[2060] -#define __pyx_n_u_TA_TRIMA_Open __pyx_string_tab[2061] -#define __pyx_n_u_TA_TRIMA_OpenAndFill __pyx_string_tab[2062] -#define __pyx_n_u_TA_TRIMA_Peek __pyx_string_tab[2063] -#define __pyx_n_u_TA_TRIMA_Update __pyx_string_tab[2064] -#define __pyx_n_u_TA_TRIMA_Value __pyx_string_tab[2065] -#define __pyx_n_u_TA_TRIX __pyx_string_tab[2066] -#define __pyx_n_u_TA_TRIX_Clone __pyx_string_tab[2067] -#define __pyx_n_u_TA_TRIX_Open __pyx_string_tab[2068] -#define __pyx_n_u_TA_TRIX_OpenAndFill __pyx_string_tab[2069] -#define __pyx_n_u_TA_TRIX_Peek __pyx_string_tab[2070] -#define __pyx_n_u_TA_TRIX_Update __pyx_string_tab[2071] -#define __pyx_n_u_TA_TRIX_Value __pyx_string_tab[2072] -#define __pyx_n_u_TA_TSF __pyx_string_tab[2073] -#define __pyx_n_u_TA_TSF_Clone __pyx_string_tab[2074] -#define __pyx_n_u_TA_TSF_Open __pyx_string_tab[2075] -#define __pyx_n_u_TA_TSF_OpenAndFill __pyx_string_tab[2076] -#define __pyx_n_u_TA_TSF_Peek __pyx_string_tab[2077] -#define __pyx_n_u_TA_TSF_Update __pyx_string_tab[2078] -#define __pyx_n_u_TA_TSF_Value __pyx_string_tab[2079] -#define __pyx_n_u_TA_TSI __pyx_string_tab[2080] -#define __pyx_n_u_TA_TSI_Clone __pyx_string_tab[2081] -#define __pyx_n_u_TA_TSI_Open __pyx_string_tab[2082] -#define __pyx_n_u_TA_TSI_OpenAndFill __pyx_string_tab[2083] -#define __pyx_n_u_TA_TSI_Peek __pyx_string_tab[2084] -#define __pyx_n_u_TA_TSI_Update __pyx_string_tab[2085] -#define __pyx_n_u_TA_TSI_Value __pyx_string_tab[2086] -#define __pyx_n_u_TA_TYPPRICE __pyx_string_tab[2087] -#define __pyx_n_u_TA_TYPPRICE_Clone __pyx_string_tab[2088] -#define __pyx_n_u_TA_TYPPRICE_Open __pyx_string_tab[2089] -#define __pyx_n_u_TA_TYPPRICE_OpenAndFill __pyx_string_tab[2090] -#define __pyx_n_u_TA_TYPPRICE_Peek __pyx_string_tab[2091] -#define __pyx_n_u_TA_TYPPRICE_Update __pyx_string_tab[2092] -#define __pyx_n_u_TA_TYPPRICE_Value __pyx_string_tab[2093] -#define __pyx_n_u_TA_ULTOSC __pyx_string_tab[2094] -#define __pyx_n_u_TA_ULTOSC_Clone __pyx_string_tab[2095] -#define __pyx_n_u_TA_ULTOSC_Open __pyx_string_tab[2096] -#define __pyx_n_u_TA_ULTOSC_OpenAndFill __pyx_string_tab[2097] -#define __pyx_n_u_TA_ULTOSC_Peek __pyx_string_tab[2098] -#define __pyx_n_u_TA_ULTOSC_Update __pyx_string_tab[2099] -#define __pyx_n_u_TA_ULTOSC_Value __pyx_string_tab[2100] -#define __pyx_n_u_TA_VAR __pyx_string_tab[2101] -#define __pyx_n_u_TA_VAR_Clone __pyx_string_tab[2102] -#define __pyx_n_u_TA_VAR_Open __pyx_string_tab[2103] -#define __pyx_n_u_TA_VAR_OpenAndFill __pyx_string_tab[2104] -#define __pyx_n_u_TA_VAR_Peek __pyx_string_tab[2105] -#define __pyx_n_u_TA_VAR_Update __pyx_string_tab[2106] -#define __pyx_n_u_TA_VAR_Value __pyx_string_tab[2107] -#define __pyx_n_u_TA_VHF __pyx_string_tab[2108] -#define __pyx_n_u_TA_VHF_Clone __pyx_string_tab[2109] -#define __pyx_n_u_TA_VHF_Open __pyx_string_tab[2110] -#define __pyx_n_u_TA_VHF_OpenAndFill __pyx_string_tab[2111] -#define __pyx_n_u_TA_VHF_Peek __pyx_string_tab[2112] -#define __pyx_n_u_TA_VHF_Update __pyx_string_tab[2113] -#define __pyx_n_u_TA_VHF_Value __pyx_string_tab[2114] -#define __pyx_n_u_TA_VORTEX __pyx_string_tab[2115] -#define __pyx_n_u_TA_VORTEX_Clone __pyx_string_tab[2116] -#define __pyx_n_u_TA_VORTEX_Open __pyx_string_tab[2117] -#define __pyx_n_u_TA_VORTEX_OpenAndFill __pyx_string_tab[2118] -#define __pyx_n_u_TA_VORTEX_Peek __pyx_string_tab[2119] -#define __pyx_n_u_TA_VORTEX_Update __pyx_string_tab[2120] -#define __pyx_n_u_TA_VORTEX_Value __pyx_string_tab[2121] -#define __pyx_n_u_TA_VWAP __pyx_string_tab[2122] -#define __pyx_n_u_TA_VWAP_Clone __pyx_string_tab[2123] -#define __pyx_n_u_TA_VWAP_Open __pyx_string_tab[2124] -#define __pyx_n_u_TA_VWAP_OpenAndFill __pyx_string_tab[2125] -#define __pyx_n_u_TA_VWAP_Peek __pyx_string_tab[2126] -#define __pyx_n_u_TA_VWAP_Update __pyx_string_tab[2127] -#define __pyx_n_u_TA_VWAP_Value __pyx_string_tab[2128] -#define __pyx_n_u_TA_VWMA __pyx_string_tab[2129] -#define __pyx_n_u_TA_VWMA_Clone __pyx_string_tab[2130] -#define __pyx_n_u_TA_VWMA_Open __pyx_string_tab[2131] -#define __pyx_n_u_TA_VWMA_OpenAndFill __pyx_string_tab[2132] -#define __pyx_n_u_TA_VWMA_Peek __pyx_string_tab[2133] -#define __pyx_n_u_TA_VWMA_Update __pyx_string_tab[2134] -#define __pyx_n_u_TA_VWMA_Value __pyx_string_tab[2135] -#define __pyx_n_u_TA_WAD __pyx_string_tab[2136] -#define __pyx_n_u_TA_WAD_Clone __pyx_string_tab[2137] -#define __pyx_n_u_TA_WAD_Open __pyx_string_tab[2138] -#define __pyx_n_u_TA_WAD_OpenAndFill __pyx_string_tab[2139] -#define __pyx_n_u_TA_WAD_Peek __pyx_string_tab[2140] -#define __pyx_n_u_TA_WAD_Update __pyx_string_tab[2141] -#define __pyx_n_u_TA_WAD_Value __pyx_string_tab[2142] -#define __pyx_n_u_TA_WCLPRICE __pyx_string_tab[2143] -#define __pyx_n_u_TA_WCLPRICE_Clone __pyx_string_tab[2144] -#define __pyx_n_u_TA_WCLPRICE_Open __pyx_string_tab[2145] -#define __pyx_n_u_TA_WCLPRICE_OpenAndFill __pyx_string_tab[2146] -#define __pyx_n_u_TA_WCLPRICE_Peek __pyx_string_tab[2147] -#define __pyx_n_u_TA_WCLPRICE_Update __pyx_string_tab[2148] -#define __pyx_n_u_TA_WCLPRICE_Value __pyx_string_tab[2149] -#define __pyx_n_u_TA_WILLR __pyx_string_tab[2150] -#define __pyx_n_u_TA_WILLR_Clone __pyx_string_tab[2151] -#define __pyx_n_u_TA_WILLR_Open __pyx_string_tab[2152] -#define __pyx_n_u_TA_WILLR_OpenAndFill __pyx_string_tab[2153] -#define __pyx_n_u_TA_WILLR_Peek __pyx_string_tab[2154] -#define __pyx_n_u_TA_WILLR_Update __pyx_string_tab[2155] -#define __pyx_n_u_TA_WILLR_Value __pyx_string_tab[2156] -#define __pyx_n_u_TA_WMA __pyx_string_tab[2157] -#define __pyx_n_u_TA_WMA_Clone __pyx_string_tab[2158] -#define __pyx_n_u_TA_WMA_Open __pyx_string_tab[2159] -#define __pyx_n_u_TA_WMA_OpenAndFill __pyx_string_tab[2160] -#define __pyx_n_u_TA_WMA_Peek __pyx_string_tab[2161] -#define __pyx_n_u_TA_WMA_Update __pyx_string_tab[2162] -#define __pyx_n_u_TA_WMA_Value __pyx_string_tab[2163] -#define __pyx_n_u_TA_ZLEMA __pyx_string_tab[2164] -#define __pyx_n_u_TA_ZLEMA_Clone __pyx_string_tab[2165] -#define __pyx_n_u_TA_ZLEMA_Open __pyx_string_tab[2166] -#define __pyx_n_u_TA_ZLEMA_OpenAndFill __pyx_string_tab[2167] -#define __pyx_n_u_TA_ZLEMA_Peek __pyx_string_tab[2168] -#define __pyx_n_u_TA_ZLEMA_Update __pyx_string_tab[2169] -#define __pyx_n_u_TA_ZLEMA_Value __pyx_string_tab[2170] -#define __pyx_n_u_TEMA __pyx_string_tab[2171] -#define __pyx_n_u_TEMA_Stream __pyx_string_tab[2172] -#define __pyx_n_u_TEMA_Stream_open_and_fill __pyx_string_tab[2173] -#define __pyx_n_u_TRANGE __pyx_string_tab[2174] -#define __pyx_n_u_TRANGE_Stream __pyx_string_tab[2175] -#define __pyx_n_u_TRANGE_Stream_open_and_fill __pyx_string_tab[2176] -#define __pyx_n_u_TRIMA __pyx_string_tab[2177] -#define __pyx_n_u_TRIMA_Stream __pyx_string_tab[2178] -#define __pyx_n_u_TRIMA_Stream_open_and_fill __pyx_string_tab[2179] -#define __pyx_n_u_TRIX __pyx_string_tab[2180] -#define __pyx_n_u_TRIX_Stream __pyx_string_tab[2181] -#define __pyx_n_u_TRIX_Stream_open_and_fill __pyx_string_tab[2182] -#define __pyx_n_u_TSF __pyx_string_tab[2183] -#define __pyx_n_u_TSF_Stream __pyx_string_tab[2184] -#define __pyx_n_u_TSF_Stream_open_and_fill __pyx_string_tab[2185] -#define __pyx_n_u_TSI __pyx_string_tab[2186] -#define __pyx_n_u_TSI_Stream __pyx_string_tab[2187] -#define __pyx_n_u_TSI_Stream_open_and_fill __pyx_string_tab[2188] -#define __pyx_n_u_TYPPRICE __pyx_string_tab[2189] -#define __pyx_n_u_TYPPRICE_Stream __pyx_string_tab[2190] -#define __pyx_n_u_TYPPRICE_Stream_open_and_fill __pyx_string_tab[2191] -#define __pyx_n_u_ULTOSC __pyx_string_tab[2192] -#define __pyx_n_u_ULTOSC_Stream __pyx_string_tab[2193] -#define __pyx_n_u_ULTOSC_Stream_open_and_fill __pyx_string_tab[2194] -#define __pyx_n_u_VAR __pyx_string_tab[2195] -#define __pyx_n_u_VAR_Stream __pyx_string_tab[2196] -#define __pyx_n_u_VAR_Stream_open_and_fill __pyx_string_tab[2197] -#define __pyx_n_u_VHF __pyx_string_tab[2198] -#define __pyx_n_u_VHF_Stream __pyx_string_tab[2199] -#define __pyx_n_u_VHF_Stream_open_and_fill __pyx_string_tab[2200] -#define __pyx_n_u_VORTEX __pyx_string_tab[2201] -#define __pyx_n_u_VORTEX_Stream __pyx_string_tab[2202] -#define __pyx_n_u_VORTEX_Stream_open_and_fill __pyx_string_tab[2203] -#define __pyx_n_u_VWAP __pyx_string_tab[2204] -#define __pyx_n_u_VWAP_Stream __pyx_string_tab[2205] -#define __pyx_n_u_VWAP_Stream_open_and_fill __pyx_string_tab[2206] -#define __pyx_n_u_VWMA __pyx_string_tab[2207] -#define __pyx_n_u_VWMA_Stream __pyx_string_tab[2208] -#define __pyx_n_u_VWMA_Stream_open_and_fill __pyx_string_tab[2209] -#define __pyx_n_u_WAD __pyx_string_tab[2210] -#define __pyx_n_u_WAD_Stream __pyx_string_tab[2211] -#define __pyx_n_u_WAD_Stream_open_and_fill __pyx_string_tab[2212] -#define __pyx_n_u_WCLPRICE __pyx_string_tab[2213] -#define __pyx_n_u_WCLPRICE_Stream __pyx_string_tab[2214] -#define __pyx_n_u_WCLPRICE_Stream_open_and_fill __pyx_string_tab[2215] -#define __pyx_n_u_WILLR __pyx_string_tab[2216] -#define __pyx_n_u_WILLR_Stream __pyx_string_tab[2217] -#define __pyx_n_u_WILLR_Stream_open_and_fill __pyx_string_tab[2218] -#define __pyx_n_u_WMA __pyx_string_tab[2219] -#define __pyx_n_u_WMA_Stream __pyx_string_tab[2220] -#define __pyx_n_u_WMA_Stream_open_and_fill __pyx_string_tab[2221] -#define __pyx_n_u_ZLEMA __pyx_string_tab[2222] -#define __pyx_n_u_ZLEMA_Stream __pyx_string_tab[2223] -#define __pyx_n_u_ZLEMA_Stream_open_and_fill __pyx_string_tab[2224] -#define __pyx_n_u_ARRAY_TYPES __pyx_string_tab[2225] -#define __pyx_n_u_Function__call_function __pyx_string_tab[2226] -#define __pyx_n_u_Function__check_opt_input_value __pyx_string_tab[2227] -#define __pyx_n_u_Function__get_opt_input_value __pyx_string_tab[2228] -#define __pyx_n_u_Function__input_price_series_na __pyx_string_tab[2229] -#define __pyx_n_u_Function__local __pyx_string_tab[2230] -#define __pyx_n_u_Function__localdata __pyx_string_tab[2231] -#define __pyx_n_u_Function__name __pyx_string_tab[2232] -#define __pyx_n_u_Function__namestr __pyx_string_tab[2233] -#define __pyx_n_u_INPUT_ARRAYS_TYPES __pyx_string_tab[2234] -#define __pyx_n_u_INPUT_PRICE_SERIES_DEFAULTS __pyx_string_tab[2235] -#define __pyx_n_u_PANDAS_DATAFRAME __pyx_string_tab[2236] -#define __pyx_n_u_PANDAS_SERIES __pyx_string_tab[2237] -#define __pyx_n_u_POLARS_DATAFRAME __pyx_string_tab[2238] -#define __pyx_n_u_POLARS_SERIES __pyx_string_tab[2239] -#define __pyx_n_u_TA_ReadLease __pyx_string_tab[2240] -#define __pyx_n_u_TA_ReadLease___enter __pyx_string_tab[2241] -#define __pyx_n_u_TA_ReadLease___exit __pyx_string_tab[2242] -#define __pyx_n_u_TA_ReadLease___reduce_cython __pyx_string_tab[2243] -#define __pyx_n_u_TA_ReadLease___setstate_cython __pyx_string_tab[2244] -#define __pyx_n_u_TA_WriteLease __pyx_string_tab[2245] -#define __pyx_n_u_TA_WriteLease___enter __pyx_string_tab[2246] -#define __pyx_n_u_TA_WriteLease___exit __pyx_string_tab[2247] -#define __pyx_n_u_TA_WriteLease___reduce_cython __pyx_string_tab[2248] -#define __pyx_n_u_TA_WriteLease___setstate_cython __pyx_string_tab[2249] -#define __pyx_n_u_Pyx_PyDict_NextRef __pyx_string_tab[2250] -#define __pyx_n_u_TA_FUNCTION_NAMES __pyx_string_tab[2251] -#define __pyx_n_u_all __pyx_string_tab[2252] -#define __pyx_n_u_annotate __pyx_string_tab[2253] -#define __pyx_n_u_call __pyx_string_tab[2254] -#define __pyx_n_u_call_function __pyx_string_tab[2255] -#define __pyx_n_u_check_opt_input_value __pyx_string_tab[2256] -#define __pyx_n_u_class_getitem __pyx_string_tab[2257] -#define __pyx_n_u_copy_2 __pyx_string_tab[2258] -#define __pyx_n_u_deepcopy __pyx_string_tab[2259] -#define __pyx_n_u_dict __pyx_string_tab[2260] -#define __pyx_n_u_doc __pyx_string_tab[2261] -#define __pyx_n_u_enter __pyx_string_tab[2262] -#define __pyx_n_u_exit __pyx_string_tab[2263] -#define __pyx_n_u_func __pyx_string_tab[2264] -#define __pyx_n_u_get_flags __pyx_string_tab[2265] -#define __pyx_n_u_get_opt_input_value __pyx_string_tab[2266] -#define __pyx_n_u_getitem __pyx_string_tab[2267] -#define __pyx_n_u_getstate __pyx_string_tab[2268] -#define __pyx_n_u_init __pyx_string_tab[2269] -#define __pyx_n_u_input_price_series_names_2 __pyx_string_tab[2270] -#define __pyx_n_u_local_2 __pyx_string_tab[2271] -#define __pyx_n_u_main __pyx_string_tab[2272] -#define __pyx_n_u_metaclass __pyx_string_tab[2273] -#define __pyx_n_u_module __pyx_string_tab[2274] -#define __pyx_n_u_mro_entries __pyx_string_tab[2275] -#define __pyx_n_u_name_2 __pyx_string_tab[2276] -#define __pyx_n_u_new __pyx_string_tab[2277] -#define __pyx_n_u_prepare __pyx_string_tab[2278] -#define __pyx_n_u_pyx_checksum __pyx_string_tab[2279] -#define __pyx_n_u_pyx_result __pyx_string_tab[2280] -#define __pyx_n_u_pyx_state __pyx_string_tab[2281] -#define __pyx_n_u_pyx_type __pyx_string_tab[2282] -#define __pyx_n_u_pyx_unpickle__TA_ReadLease __pyx_string_tab[2283] -#define __pyx_n_u_pyx_unpickle__TA_WriteLease __pyx_string_tab[2284] -#define __pyx_n_u_pyx_vtable __pyx_string_tab[2285] -#define __pyx_n_u_qualname __pyx_string_tab[2286] -#define __pyx_n_u_reduce __pyx_string_tab[2287] -#define __pyx_n_u_reduce_cython __pyx_string_tab[2288] -#define __pyx_n_u_reduce_ex __pyx_string_tab[2289] -#define __pyx_n_u_repr __pyx_string_tab[2290] -#define __pyx_n_u_set_name __pyx_string_tab[2291] -#define __pyx_n_u_setstate __pyx_string_tab[2292] -#define __pyx_n_u_setstate_cython __pyx_string_tab[2293] -#define __pyx_n_u_str __pyx_string_tab[2294] -#define __pyx_n_u_ta_version __pyx_string_tab[2295] -#define __pyx_n_u_test __pyx_string_tab[2296] -#define __pyx_n_u_unicode __pyx_string_tab[2297] -#define __pyx_n_u_dict_2 __pyx_string_tab[2298] -#define __pyx_n_u_get_defaults_and_docs __pyx_string_tab[2299] -#define __pyx_n_u_is_coroutine __pyx_string_tab[2300] -#define __pyx_n_u_lookup __pyx_string_tab[2301] -#define __pyx_n_u_ta_check_success __pyx_string_tab[2302] -#define __pyx_n_u_ta_func_unst_id __pyx_string_tab[2303] -#define __pyx_n_u_ta_func_unst_ids __pyx_string_tab[2304] -#define __pyx_n_u_ta_func_unst_retired __pyx_string_tab[2305] -#define __pyx_n_u_ta_getFuncInfo __pyx_string_tab[2306] -#define __pyx_n_u_ta_getFuncTable __pyx_string_tab[2307] -#define __pyx_n_u_ta_getGroupTable __pyx_string_tab[2308] -#define __pyx_n_u_ta_getInputParameterInfo __pyx_string_tab[2309] -#define __pyx_n_u_ta_getOptInputParameterInfo __pyx_string_tab[2310] -#define __pyx_n_u_ta_getOutputParameterInfo __pyx_string_tab[2311] -#define __pyx_n_u_ta_get_compatibility __pyx_string_tab[2312] -#define __pyx_n_u_ta_get_unstable_period __pyx_string_tab[2313] -#define __pyx_n_u_ta_initialize __pyx_string_tab[2314] -#define __pyx_n_u_ta_restore_candle_default_setti __pyx_string_tab[2315] -#define __pyx_n_u_ta_set_candle_settings __pyx_string_tab[2316] -#define __pyx_n_u_ta_set_compatibility __pyx_string_tab[2317] -#define __pyx_n_u_ta_set_unstable_period __pyx_string_tab[2318] -#define __pyx_n_u_ta_shutdown __pyx_string_tab[2319] -#define __pyx_n_u_a_close __pyx_string_tab[2320] -#define __pyx_n_u_a_high __pyx_string_tab[2321] -#define __pyx_n_u_a_low __pyx_string_tab[2322] -#define __pyx_n_u_a_open __pyx_string_tab[2323] -#define __pyx_n_u_a_periods __pyx_string_tab[2324] -#define __pyx_n_u_a_real __pyx_string_tab[2325] -#define __pyx_n_u_a_real0 __pyx_string_tab[2326] -#define __pyx_n_u_a_real1 __pyx_string_tab[2327] -#define __pyx_n_u_a_volume __pyx_string_tab[2328] -#define __pyx_n_u_acceleration __pyx_string_tab[2329] -#define __pyx_n_u_accelerationinitlong __pyx_string_tab[2330] -#define __pyx_n_u_accelerationinitshort __pyx_string_tab[2331] -#define __pyx_n_u_accelerationlong __pyx_string_tab[2332] -#define __pyx_n_u_accelerationmaxlong __pyx_string_tab[2333] -#define __pyx_n_u_accelerationmaxshort __pyx_string_tab[2334] -#define __pyx_n_u_accelerationshort __pyx_string_tab[2335] -#define __pyx_n_u_acquired __pyx_string_tab[2336] -#define __pyx_n_u_append __pyx_string_tab[2337] -#define __pyx_n_u_arg __pyx_string_tab[2338] -#define __pyx_n_u_args __pyx_string_tab[2339] -#define __pyx_n_u_arrays __pyx_string_tab[2340] -#define __pyx_n_u_ascii __pyx_string_tab[2341] -#define __pyx_n_u_astype __pyx_string_tab[2342] -#define __pyx_n_u_asyncio_coroutines __pyx_string_tab[2343] -#define __pyx_n_u_at_exit __pyx_string_tab[2344] -#define __pyx_n_u_atrperiod __pyx_string_tab[2345] -#define __pyx_n_u_avgperiod __pyx_string_tab[2346] -#define __pyx_n_u_b __pyx_string_tab[2347] -#define __pyx_n_u_begidx __pyx_string_tab[2348] -#define __pyx_n_u_bit __pyx_string_tab[2349] -#define __pyx_n_u_bytes2str __pyx_string_tab[2350] -#define __pyx_n_u_c_period __pyx_string_tab[2351] -#define __pyx_n_u_c_value __pyx_string_tab[2352] -#define __pyx_n_u_candlestick __pyx_string_tab[2353] -#define __pyx_n_u_cline_in_traceback __pyx_string_tab[2354] -#define __pyx_n_u_clone __pyx_string_tab[2355] -#define __pyx_n_u_close __pyx_string_tab[2356] -#define __pyx_n_u_collections __pyx_string_tab[2357] -#define __pyx_n_u_column_stack __pyx_string_tab[2358] -#define __pyx_n_u_columns __pyx_string_tab[2359] -#define __pyx_n_u_copy __pyx_string_tab[2360] -#define __pyx_n_u_d __pyx_string_tab[2361] -#define __pyx_n_u_decode __pyx_string_tab[2362] -#define __pyx_n_u_default_value __pyx_string_tab[2363] -#define __pyx_n_u_defaults __pyx_string_tab[2364] -#define __pyx_n_u_description __pyx_string_tab[2365] -#define __pyx_n_u_display_name __pyx_string_tab[2366] -#define __pyx_n_u_docs __pyx_string_tab[2367] -#define __pyx_n_u_documentation __pyx_string_tab[2368] -#define __pyx_n_u_empty __pyx_string_tab[2369] -#define __pyx_n_u_endidx __pyx_string_tab[2370] -#define __pyx_n_u_endswith __pyx_string_tab[2371] -#define __pyx_n_u_enumerate __pyx_string_tab[2372] -#define __pyx_n_u_factor __pyx_string_tab[2373] -#define __pyx_n_u_fastd_matype __pyx_string_tab[2374] -#define __pyx_n_u_fastd_period __pyx_string_tab[2375] -#define __pyx_n_u_fastk_period __pyx_string_tab[2376] -#define __pyx_n_u_fastlimit __pyx_string_tab[2377] -#define __pyx_n_u_fastmatype __pyx_string_tab[2378] -#define __pyx_n_u_fastperiod __pyx_string_tab[2379] -#define __pyx_n_u_firstperiod __pyx_string_tab[2380] -#define __pyx_n_u_flag __pyx_string_tab[2381] -#define __pyx_n_u_flags __pyx_string_tab[2382] -#define __pyx_n_u_flags_lookup_dict __pyx_string_tab[2383] -#define __pyx_n_u_func_args __pyx_string_tab[2384] -#define __pyx_n_u_func_info __pyx_string_tab[2385] -#define __pyx_n_u_func_line __pyx_string_tab[2386] -#define __pyx_n_u_func_object __pyx_string_tab[2387] -#define __pyx_n_u_function_flags __pyx_string_tab[2388] -#define __pyx_n_u_function_name __pyx_string_tab[2389] -#define __pyx_n_u_functions __pyx_string_tab[2390] -#define __pyx_n_u_get_input_arrays __pyx_string_tab[2391] -#define __pyx_n_u_get_input_names __pyx_string_tab[2392] -#define __pyx_n_u_get_parameters __pyx_string_tab[2393] -#define __pyx_n_u_group __pyx_string_tab[2394] -#define __pyx_n_u_groups __pyx_string_tab[2395] -#define __pyx_n_u_handle __pyx_string_tab[2396] -#define __pyx_n_u_help __pyx_string_tab[2397] -#define __pyx_n_u_high __pyx_string_tab[2398] -#define __pyx_n_u_historylen __pyx_string_tab[2399] -#define __pyx_n_u_holder __pyx_string_tab[2400] -#define __pyx_n_u_i __pyx_string_tab[2401] -#define __pyx_n_u_id __pyx_string_tab[2402] -#define __pyx_n_u_idx __pyx_string_tab[2403] -#define __pyx_n_u_import_error __pyx_string_tab[2404] -#define __pyx_n_u_in __pyx_string_tab[2405] -#define __pyx_n_u_index __pyx_string_tab[2406] -#define __pyx_n_u_info __pyx_string_tab[2407] -#define __pyx_n_u_input_arrays __pyx_string_tab[2408] -#define __pyx_n_u_input_name __pyx_string_tab[2409] -#define __pyx_n_u_input_names __pyx_string_tab[2410] -#define __pyx_n_u_input_price_series_names __pyx_string_tab[2411] -#define __pyx_n_u_integer __pyx_string_tab[2412] -#define __pyx_n_u_is_empty __pyx_string_tab[2413] -#define __pyx_n_u_items __pyx_string_tab[2414] -#define __pyx_n_u_key __pyx_string_tab[2415] -#define __pyx_n_u_keys __pyx_string_tab[2416] -#define __pyx_n_u_kwargs __pyx_string_tab[2417] -#define __pyx_n_u_leftbars __pyx_string_tab[2418] -#define __pyx_n_u_length __pyx_string_tab[2419] -#define __pyx_n_u_local __pyx_string_tab[2420] -#define __pyx_n_u_lookback __pyx_string_tab[2421] -#define __pyx_n_u_low __pyx_string_tab[2422] -#define __pyx_n_u_lower __pyx_string_tab[2423] -#define __pyx_n_u_matype __pyx_string_tab[2424] -#define __pyx_n_u_maximum __pyx_string_tab[2425] -#define __pyx_n_u_maxperiod __pyx_string_tab[2426] -#define __pyx_n_u_memo __pyx_string_tab[2427] -#define __pyx_n_u_minperiod __pyx_string_tab[2428] -#define __pyx_n_u_missing __pyx_string_tab[2429] -#define __pyx_n_u_missing_keys __pyx_string_tab[2430] -#define __pyx_n_u_module_2 __pyx_string_tab[2431] -#define __pyx_n_u_msg __pyx_string_tab[2432] -#define __pyx_n_u_multiplier __pyx_string_tab[2433] -#define __pyx_n_u_n __pyx_string_tab[2434] -#define __pyx_n_u_name __pyx_string_tab[2435] -#define __pyx_n_u_namedtuple __pyx_string_tab[2436] -#define __pyx_n_u_nan __pyx_string_tab[2437] -#define __pyx_n_u_nbdev __pyx_string_tab[2438] -#define __pyx_n_u_nbdevdn __pyx_string_tab[2439] -#define __pyx_n_u_nbdevup __pyx_string_tab[2440] -#define __pyx_n_u_no_existing_input_arrays __pyx_string_tab[2441] -#define __pyx_n_u_num_inputs __pyx_string_tab[2442] -#define __pyx_n_u_num_opt_inputs __pyx_string_tab[2443] -#define __pyx_n_u_num_outputs __pyx_string_tab[2444] -#define __pyx_n_u_numpy __pyx_string_tab[2445] -#define __pyx_n_u_object __pyx_string_tab[2446] -#define __pyx_n_u_offsetonreverse __pyx_string_tab[2447] -#define __pyx_n_u_open __pyx_string_tab[2448] -#define __pyx_n_u_openInterest __pyx_string_tab[2449] -#define __pyx_n_u_open_and_fill __pyx_string_tab[2450] -#define __pyx_n_u_optIn __pyx_string_tab[2451] -#define __pyx_n_u_opt_input __pyx_string_tab[2452] -#define __pyx_n_u_opt_input_values __pyx_string_tab[2453] -#define __pyx_n_u_opt_inputs __pyx_string_tab[2454] -#define __pyx_n_u_ordereddict __pyx_string_tab[2455] -#define __pyx_n_u_out __pyx_string_tab[2456] -#define __pyx_n_u_outaroondown __pyx_string_tab[2457] -#define __pyx_n_u_outaroonup __pyx_string_tab[2458] -#define __pyx_n_u_outbearpower __pyx_string_tab[2459] -#define __pyx_n_u_outbegidx __pyx_string_tab[2460] -#define __pyx_n_u_outbullpower __pyx_string_tab[2461] -#define __pyx_n_u_outd __pyx_string_tab[2462] -#define __pyx_n_u_outfama __pyx_string_tab[2463] -#define __pyx_n_u_outfastd __pyx_string_tab[2464] -#define __pyx_n_u_outfastk __pyx_string_tab[2465] -#define __pyx_n_u_outhaclose __pyx_string_tab[2466] -#define __pyx_n_u_outhahigh __pyx_string_tab[2467] -#define __pyx_n_u_outhalow __pyx_string_tab[2468] -#define __pyx_n_u_outhaopen __pyx_string_tab[2469] -#define __pyx_n_u_outinphase __pyx_string_tab[2470] -#define __pyx_n_u_outinteger __pyx_string_tab[2471] -#define __pyx_n_u_outinteger_data __pyx_string_tab[2472] -#define __pyx_n_u_outj __pyx_string_tab[2473] -#define __pyx_n_u_outk __pyx_string_tab[2474] -#define __pyx_n_u_outleadsine __pyx_string_tab[2475] -#define __pyx_n_u_outlowerband __pyx_string_tab[2476] -#define __pyx_n_u_outmacd __pyx_string_tab[2477] -#define __pyx_n_u_outmacdhist __pyx_string_tab[2478] -#define __pyx_n_u_outmacdsignal __pyx_string_tab[2479] -#define __pyx_n_u_outmama __pyx_string_tab[2480] -#define __pyx_n_u_outmax __pyx_string_tab[2481] -#define __pyx_n_u_outmaxidx __pyx_string_tab[2482] -#define __pyx_n_u_outmaxidx_data __pyx_string_tab[2483] -#define __pyx_n_u_outmiddleband __pyx_string_tab[2484] -#define __pyx_n_u_outmin __pyx_string_tab[2485] -#define __pyx_n_u_outminidx __pyx_string_tab[2486] -#define __pyx_n_u_outminidx_data __pyx_string_tab[2487] -#define __pyx_n_u_outminusvi __pyx_string_tab[2488] -#define __pyx_n_u_outnbelement __pyx_string_tab[2489] -#define __pyx_n_u_outplusvi __pyx_string_tab[2490] -#define __pyx_n_u_output __pyx_string_tab[2491] -#define __pyx_n_u_output_flags __pyx_string_tab[2492] -#define __pyx_n_u_output_name __pyx_string_tab[2493] -#define __pyx_n_u_output_names __pyx_string_tab[2494] -#define __pyx_n_u_outputs __pyx_string_tab[2495] -#define __pyx_n_u_outputs_valid __pyx_string_tab[2496] -#define __pyx_n_u_outquadrature __pyx_string_tab[2497] -#define __pyx_n_u_outreal __pyx_string_tab[2498] -#define __pyx_n_u_outreallowerband __pyx_string_tab[2499] -#define __pyx_n_u_outrealmiddleband __pyx_string_tab[2500] -#define __pyx_n_u_outrealupperband __pyx_string_tab[2501] -#define __pyx_n_u_outsine __pyx_string_tab[2502] -#define __pyx_n_u_outslowd __pyx_string_tab[2503] -#define __pyx_n_u_outslowk __pyx_string_tab[2504] -#define __pyx_n_u_outsmi __pyx_string_tab[2505] -#define __pyx_n_u_outsmisignal __pyx_string_tab[2506] -#define __pyx_n_u_outsupertrend __pyx_string_tab[2507] -#define __pyx_n_u_outswinghigh __pyx_string_tab[2508] -#define __pyx_n_u_outswinglow __pyx_string_tab[2509] -#define __pyx_n_u_outtrend __pyx_string_tab[2510] -#define __pyx_n_u_outupperband __pyx_string_tab[2511] -#define __pyx_n_u_pandas __pyx_string_tab[2512] -#define __pyx_n_u_param __pyx_string_tab[2513] -#define __pyx_n_u_param_name __pyx_string_tab[2514] -#define __pyx_n_u_parameters __pyx_string_tab[2515] -#define __pyx_n_u_params __pyx_string_tab[2516] -#define __pyx_n_u_penetration __pyx_string_tab[2517] -#define __pyx_n_u_percentile __pyx_string_tab[2518] -#define __pyx_n_u_period __pyx_string_tab[2519] -#define __pyx_n_u_periods __pyx_string_tab[2520] -#define __pyx_n_u_polars __pyx_string_tab[2521] -#define __pyx_n_u_pop __pyx_string_tab[2522] -#define __pyx_n_u_price __pyx_string_tab[2523] -#define __pyx_n_u_price0 __pyx_string_tab[2524] -#define __pyx_n_u_price1 __pyx_string_tab[2525] -#define __pyx_n_u_price_series __pyx_string_tab[2526] -#define __pyx_n_u_price_series_name_values __pyx_string_tab[2527] -#define __pyx_n_u_prices __pyx_string_tab[2528] -#define __pyx_n_u_property __pyx_string_tab[2529] -#define __pyx_n_u_rangetype __pyx_string_tab[2530] -#define __pyx_n_u_real __pyx_string_tab[2531] -#define __pyx_n_u_real0 __pyx_string_tab[2532] -#define __pyx_n_u_real1 __pyx_string_tab[2533] -#define __pyx_n_u_replace __pyx_string_tab[2534] -#define __pyx_n_u_results __pyx_string_tab[2535] -#define __pyx_n_u_ret __pyx_string_tab[2536] -#define __pyx_n_u_retCode __pyx_string_tab[2537] -#define __pyx_n_u_ret_code __pyx_string_tab[2538] -#define __pyx_n_u_rightbars __pyx_string_tab[2539] -#define __pyx_n_u_roc1period __pyx_string_tab[2540] -#define __pyx_n_u_roc2period __pyx_string_tab[2541] -#define __pyx_n_u_rocperiod __pyx_string_tab[2542] -#define __pyx_n_u_run __pyx_string_tab[2543] -#define __pyx_n_u_s __pyx_string_tab[2544] -#define __pyx_n_u_schema __pyx_string_tab[2545] -#define __pyx_n_u_secondperiod __pyx_string_tab[2546] -#define __pyx_n_u_self __pyx_string_tab[2547] -#define __pyx_n_u_series __pyx_string_tab[2548] -#define __pyx_n_u_set_function_args __pyx_string_tab[2549] -#define __pyx_n_u_set_input_arrays __pyx_string_tab[2550] -#define __pyx_n_u_set_input_names __pyx_string_tab[2551] -#define __pyx_n_u_set_parameters __pyx_string_tab[2552] -#define __pyx_n_u_setdefault __pyx_string_tab[2553] -#define __pyx_n_u_settingtype __pyx_string_tab[2554] -#define __pyx_n_u_signalmatype __pyx_string_tab[2555] -#define __pyx_n_u_signalperiod __pyx_string_tab[2556] -#define __pyx_n_u_skip_first __pyx_string_tab[2557] -#define __pyx_n_u_slowd_matype __pyx_string_tab[2558] -#define __pyx_n_u_slowd_period __pyx_string_tab[2559] -#define __pyx_n_u_slowk_matype __pyx_string_tab[2560] -#define __pyx_n_u_slowk_period __pyx_string_tab[2561] -#define __pyx_n_u_slowlimit __pyx_string_tab[2562] -#define __pyx_n_u_slowmatype __pyx_string_tab[2563] -#define __pyx_n_u_slowperiod __pyx_string_tab[2564] -#define __pyx_n_u_stacklevel __pyx_string_tab[2565] -#define __pyx_n_u_startvalue __pyx_string_tab[2566] -#define __pyx_n_u_state __pyx_string_tab[2567] -#define __pyx_n_u_staticmethod __pyx_string_tab[2568] -#define __pyx_n_u_stddevperiod __pyx_string_tab[2569] -#define __pyx_n_u_str2bytes __pyx_string_tab[2570] -#define __pyx_n_u_stream __pyx_string_tab[2571] -#define __pyx_n_u_sys __pyx_string_tab[2572] -#define __pyx_n_u_table __pyx_string_tab[2573] -#define __pyx_n_u_talib__ta_lib __pyx_string_tab[2574] -#define __pyx_n_u_threading __pyx_string_tab[2575] -#define __pyx_n_u_timeStamp __pyx_string_tab[2576] -#define __pyx_n_u_timeperiod __pyx_string_tab[2577] -#define __pyx_n_u_timeperiod1 __pyx_string_tab[2578] -#define __pyx_n_u_timeperiod2 __pyx_string_tab[2579] -#define __pyx_n_u_timeperiod3 __pyx_string_tab[2580] -#define __pyx_n_u_to_numpy __pyx_string_tab[2581] -#define __pyx_n_u_type_2 __pyx_string_tab[2582] -#define __pyx_n_u_type __pyx_string_tab[2583] -#define __pyx_n_u_unst_id __pyx_string_tab[2584] -#define __pyx_n_u_update __pyx_string_tab[2585] -#define __pyx_n_u_update_info __pyx_string_tab[2586] -#define __pyx_n_u_upper __pyx_string_tab[2587] -#define __pyx_n_u_use_setstate __pyx_string_tab[2588] -#define __pyx_n_u_value __pyx_string_tab[2589] -#define __pyx_n_u_values __pyx_string_tab[2590] -#define __pyx_n_u_version __pyx_string_tab[2591] -#define __pyx_n_u_vfactor __pyx_string_tab[2592] -#define __pyx_n_u_volume __pyx_string_tab[2593] -#define __pyx_n_u_warn __pyx_string_tab[2594] -#define __pyx_n_u_warnings __pyx_string_tab[2595] -#define __pyx_n_u_wmaperiod __pyx_string_tab[2596] -#define __pyx_kp_b_iso88591_q_4q_nA_Q_q_a __pyx_string_tab[2597] -#define __pyx_kp_b_iso88591_uCq_Q_1A_1_q_AQ __pyx_string_tab[2598] -#define __pyx_kp_b_iso88591_y_1_q_Q_a_Q_a_Q_a_Q_a_Q_a_Q_a_Q __pyx_string_tab[2599] -#define __pyx_kp_b_iso88591_1F __pyx_string_tab[2600] -#define __pyx_kp_b_iso88591_AV1 __pyx_string_tab[2601] -#define __pyx_kp_b_iso88591_q_q_aq_Q_Q __pyx_string_tab[2602] -#define __pyx_kp_b_iso88591_q_0_kQR_7_q0_a_1 __pyx_string_tab[2603] -#define __pyx_kp_b_iso88591_q_0_kQR_7_0_1B_PQ_1 __pyx_string_tab[2604] -#define __pyx_kp_b_iso88591_a_1_1 __pyx_string_tab[2605] -#define __pyx_kp_b_iso88591_q_q_ST_Q_a __pyx_string_tab[2606] -#define __pyx_kp_b_iso88591_q_1_Q_9 __pyx_string_tab[2607] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_A __pyx_string_tab[2608] -#define __pyx_kp_b_iso88591_1_aq_T_q_wc_A_axz_Q_U_7_A_A_we __pyx_string_tab[2609] -#define __pyx_kp_b_iso88591_1_aq_T_q_wc_A_axz_Q_U_7_A_A_we_2 __pyx_string_tab[2610] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32 __pyx_string_tab[2611] -#define __pyx_kp_b_iso88591_A_aq_T_q_wc_A_axz_Q_U_7_A_A_we_2 __pyx_string_tab[2612] -#define __pyx_kp_b_iso88591_A_aq_T_q_wc_A_axz_Q_U_7_A_A_we __pyx_string_tab[2613] -#define __pyx_kp_b_iso88591_TTU_aq_T_q_wc_A_axz_Q_U_7_A_A_w __pyx_string_tab[2614] -#define __pyx_kp_b_iso88591_Q_aq_T_q_wc_A_axz_Q_U_7_A_A_we __pyx_string_tab[2615] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4B __pyx_string_tab[2616] -#define __pyx_kp_b_iso88591_UUV2_aq_T_q_wc_D_9_TARRSSVVW_ax __pyx_string_tab[2617] -#define __pyx_kp_b_iso88591_a_aq_T_q_wc_D_9_Q_axz_Q_U_7_A_A __pyx_string_tab[2618] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_5R __pyx_string_tab[2619] -#define __pyx_kp_b_iso88591_VVW_V6_wc_A_axz_q_U_7_A_A_we_32 __pyx_string_tab[2620] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_6b __pyx_string_tab[2621] -#define __pyx_kp_b_iso88591_V6_wc_A_axz_q_U_7_A_A_we_4Ba_1H __pyx_string_tab[2622] -#define __pyx_kp_b_iso88591_aq_T_q_wc_D_9_Q_axz_Q_U_7_A_A_w_3 __pyx_string_tab[2623] -#define __pyx_kp_b_iso88591_q_aq_T_q_wc_A_axz_Q_U_7_A_A_we __pyx_string_tab[2624] -#define __pyx_kp_b_iso88591_VVmmn4_aq_T_q_wc_D_9_TARRSSVVW __pyx_string_tab[2625] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_7r __pyx_string_tab[2626] -#define __pyx_kp_b_iso88591_aq_T_q_wc_D_9_TARRSSVVW_axz_Q_U __pyx_string_tab[2627] -#define __pyx_kp_b_iso88591_WWX_aq_T_q_wc_A_axz_Q_U_7_A_A_w __pyx_string_tab[2628] -#define __pyx_kp_b_iso88591_SSkk_Y_Y_Z_8_aq_T_q_wc_D_9_TARR __pyx_string_tab[2629] -#define __pyx_kp_b_iso88591_aq_T_q_wc_Qc_axz_Q_U_7_A_A_we_8 __pyx_string_tab[2630] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_8 __pyx_string_tab[2631] -#define __pyx_kp_b_iso88591_AA_uuv0_aq_T_q_wc_D_9_Q_axz_Q_U __pyx_string_tab[2632] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_9 __pyx_string_tab[2633] -#define __pyx_kp_b_iso88591_C1_aq_T_q_wc_A_axz_Q_U_7_A_A_we __pyx_string_tab[2634] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_2Q __pyx_string_tab[2635] -#define __pyx_kp_b_iso88591_aq_T_q_wc_Qc_1Cq_axz_Q_U_7_A_A __pyx_string_tab[2636] -#define __pyx_kp_b_iso88591_01_aq_T_q_wc_A_axz_Q_U_7_A_A_we __pyx_string_tab[2637] -#define __pyx_kp_b_iso88591_45_aq_T_q_wc_A_axz_Q_U_7_A_A_we __pyx_string_tab[2638] -#define __pyx_kp_b_iso88591_UUV_aq_Qa_6_wc_A_axz_XZs_U_7_A __pyx_string_tab[2639] -#define __pyx_kp_b_iso88591_UUmmn_aq_Qa_6_wc_A_axz_XZs_U_7 __pyx_string_tab[2640] -#define __pyx_kp_b_iso88591_aq_Qa_6_wc_A_axz_XZs_U_7_A_A_we __pyx_string_tab[2641] -#define __pyx_kp_b_iso88591_VVW_aq_Qa_6_wc_A_axz_XZs_U_7_A __pyx_string_tab[2642] -#define __pyx_kp_b_iso88591_YYZ_aq_Qa_6_wc_A_axz_XZs_U_7_A __pyx_string_tab[2643] -#define __pyx_kp_b_iso88591_A_aq_Kq_6_wc_A_axz_XZuA_U_7_A_A __pyx_string_tab[2644] -#define __pyx_kp_b_iso88591_A_aq_Qa_6_wc_D_9_Q_axz_XZs_U_7 __pyx_string_tab[2645] -#define __pyx_kp_b_iso88591_XXY_aq_Qa_6_wc_A_axz_XZs_U_7_A __pyx_string_tab[2646] -#define __pyx_kp_b_iso88591_A_z_____b_b_G_G_h_h_i_4_aq_Qa_6 __pyx_string_tab[2647] -#define __pyx_kp_b_iso88591_BC_aq_Qa_6_wc_A_axz_XZs_U_7_A_A __pyx_string_tab[2648] -#define __pyx_kp_b_iso88591_BC_Kq_7_wc_A_axz_hj_a_U_7_A_A_w __pyx_string_tab[2649] -#define __pyx_kp_b_iso88591_BC_aq_6_wc_A_axz_XZvQ_U_7_A_A_w __pyx_string_tab[2650] -#define __pyx_kp_b_iso88591_BC_Kq_Kq_7_wc_A_axz_hj_Q_U_7_A __pyx_string_tab[2651] -#define __pyx_kp_b_iso88591_BXXY_aq_Qa_6_wc_Qc_1Cq_axz_XZs __pyx_string_tab[2652] -#define __pyx_kp_b_iso88591_CD_aq_Qa_6_wc_A_axz_XZs_U_7_A_A __pyx_string_tab[2653] -#define __pyx_kp_b_iso88591_CD_aq_Kq_6_wc_A_axz_XZuA_U_7_A __pyx_string_tab[2654] -#define __pyx_kp_b_iso88591_CD_aq_Qa_6_wc_D_9_TARRSSVVW_axz __pyx_string_tab[2655] -#define __pyx_kp_b_iso88591_CZZqqr_aq_k_6_wc_A_axz_XZwa_U_7 __pyx_string_tab[2656] -#define __pyx_kp_b_iso88591_DE_Kq_Kq_7_wc_A_axz_hj_Q_U_7_A __pyx_string_tab[2657] -#define __pyx_kp_b_iso88591_YZ_aq_Qa_Kq_6_a_wc_A_axz_XZs_R __pyx_string_tab[2658] -#define __pyx_kp_b_iso88591_Yq_r_I_I_J_2_aq_Qa_Kq_6_a_wc_D __pyx_string_tab[2659] -#define __pyx_kp_b_iso88591_Z_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_a __pyx_string_tab[2660] -#define __pyx_kp_b_iso88591_Z_aq_Qa_Kq_6_a_wc_D_9_Q_axz_XZs __pyx_string_tab[2661] -#define __pyx_kp_b_iso88591_Zr_s_K_K_c_c_d_0_aq_Qa_Kq_6_a_w __pyx_string_tab[2662] -#define __pyx_kp_b_iso88591_Zt_u_O_O_e_e_6_aq_Qa_Kq_6_a_wc __pyx_string_tab[2663] -#define __pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_aab __pyx_string_tab[2664] -#define __pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_aab_5 __pyx_string_tab[2665] -#define __pyx_kp_b_iso88591_v_w_Q_Q_f_f_A_2_aq_Qa_Kq_6_a_wc __pyx_string_tab[2666] -#define __pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_D_9_Q_axz_XZs_R __pyx_string_tab[2667] -#define __pyx_kp_b_iso88591_v_w_P_P_Q_aq_Qa_Kq_6_a_wc_A_axz __pyx_string_tab[2668] -#define __pyx_kp_b_iso88591_w_x_R_R_S_aq_Qa_Kq_6_a_wc_D_9_Q __pyx_string_tab[2669] -#define __pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_a_2 __pyx_string_tab[2670] -#define __pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_a __pyx_string_tab[2671] -#define __pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_D_9_TARRSSVVW __pyx_string_tab[2672] -#define __pyx_kp_b_iso88591_ayyz_aq_Qa_Kq_6_a_wc_D_as_axz_X __pyx_string_tab[2673] -#define __pyx_kp_b_iso88591_wx_aq_Qa_Kq_6_gQ_wc_A_axz_XZs_R __pyx_string_tab[2674] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_13 __pyx_string_tab[2675] -#define __pyx_kp_b_iso88591_A_B_aq_aq_Qa_Kq_6_uA_wc_Qc_axz __pyx_string_tab[2676] -#define __pyx_kp_b_iso88591_C_D_aq_aq_Qa_Kq_6_uA_wc_Qc_axz __pyx_string_tab[2677] -#define __pyx_kp_b_iso88591_D_E_aq_aq_Qa_Kq_6_uA_wc_Qc_axz __pyx_string_tab[2678] -#define __pyx_kp_b_iso88591_E_F_aq_aq_Qa_Kq_6_uA_wc_Qc_axz __pyx_string_tab[2679] -#define __pyx_kp_b_iso88591_z_R_R_S_aq_Qa_Kq_6_gQ_wc_A_axz __pyx_string_tab[2680] -#define __pyx_kp_b_iso88591_aq_xs_q_a_Qa_1 __pyx_string_tab[2681] -#define __pyx_kp_b_iso88591_aq_xs_q_q_q_A_Q_a __pyx_string_tab[2682] -#define __pyx_kp_b_iso88591_q_l_vWE_Q_q_q_q_d_7_WA_d_7_Q __pyx_string_tab[2683] -#define __pyx_kp_b_iso88591_q_l_vWE_Q_q_q_q_t1G_gQ_t1G_a __pyx_string_tab[2684] -#define __pyx_kp_b_iso88591_q_9A_1_q_1_1_1A_q_a_1A_4z_A_G1 __pyx_string_tab[2685] -#define __pyx_kp_b_iso88591_Qa_a_Q_a_4q_a_Qd_c_a_Qd_s_4q __pyx_string_tab[2686] -#define __pyx_kp_b_iso88591_Qa_a_2_85_Q_2_9AT_4q_1G6_wc_t81 __pyx_string_tab[2687] -#define __pyx_kp_b_iso88591_Qa_a_31HE_Q_31_9AT_4q_1HF_wc_d __pyx_string_tab[2688] -#define __pyx_kp_b_iso88591_Qa_a_5Qhe1A_Q_5Q_9AT_4q_1JfA_Cq __pyx_string_tab[2689] -#define __pyx_kp_b_iso88591_a_1G1A_q_V1E_q_WAQ_aq_Q_2_1 __pyx_string_tab[2690] -#define __pyx_kp_b_iso88591_a_AQa_0_Q_V1E_gQfAU_q_Q_31_1 __pyx_string_tab[2691] -#define __pyx_kp_b_iso88591_uBa_q_1A__F_F_t2Q __pyx_string_tab[2692] -#define __pyx_kp_b_iso88591_aq_Qa_Kq_6_gQ_wc_A_axz_XZs_R_aa __pyx_string_tab[2693] -#define __pyx_kp_b_iso88591_aq_Qa_Kq_6_gQ_wc_A_axz_XZs_R_aa_2 __pyx_string_tab[2694] -#define __pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_aab_4 __pyx_string_tab[2695] -#define __pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_aab_2 __pyx_string_tab[2696] -#define __pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_aab_3 __pyx_string_tab[2697] -#define __pyx_kp_b_iso88591_aq_Qa_6_a_wc_A_axz_XZs_R_bbc_U __pyx_string_tab[2698] -#define __pyx_kp_b_iso88591_aq_Qa_6_wc_A_axz_XZs_U_7_A_A_we_2 __pyx_string_tab[2699] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_11 __pyx_string_tab[2700] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8 __pyx_string_tab[2701] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_3 __pyx_string_tab[2702] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_4 __pyx_string_tab[2703] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_8 __pyx_string_tab[2704] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_12 __pyx_string_tab[2705] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_2 __pyx_string_tab[2706] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_7 __pyx_string_tab[2707] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_5 __pyx_string_tab[2708] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_6 __pyx_string_tab[2709] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_9 __pyx_string_tab[2710] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_10 __pyx_string_tab[2711] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_A_axz_XZt8S_2 __pyx_string_tab[2712] -#define __pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_A_axz_XZt8S __pyx_string_tab[2713] -#define __pyx_kp_b_iso88591_aq_T_q_wc_Qc_axz_Q_U_7_A_A_we_A __pyx_string_tab[2714] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_1H_2 __pyx_string_tab[2715] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_31 __pyx_string_tab[2716] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4A __pyx_string_tab[2717] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_5Q __pyx_string_tab[2718] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_6a __pyx_string_tab[2719] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_1H __pyx_string_tab[2720] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_1 __pyx_string_tab[2721] -#define __pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_A_2 __pyx_string_tab[2722] -#define __pyx_kp_b_iso88591_Kq_7_wc_A_axz_hj_a_U_7_A_A_we_3 __pyx_string_tab[2723] -#define __pyx_kp_b_iso88591_aq_6_wc_A_axz_XZvQ_U_7_A_A_we_3 __pyx_string_tab[2724] -#define __pyx_kp_b_iso88591_Kq_Kq_7_wc_A_axz_hj_Q_U_7_A_A_w __pyx_string_tab[2725] -#define __pyx_kp_b_iso88591_Kq_Kq_7_wc_A_axz_hj_Q_U_7_A_A_w_2 __pyx_string_tab[2726] -#define __pyx_kp_b_iso88591_aq_T_q_wc_D_9_Q_axz_Q_U_7_A_A_w_2 __pyx_string_tab[2727] -#define __pyx_kp_b_iso88591_aq_T_q_wc_D_9_Q_axz_Q_U_7_A_A_w __pyx_string_tab[2728] -#define __pyx_kp_b_iso88591_2_aq_aq_Qa_Kq_6_uA_wc_D_9_TARRS __pyx_string_tab[2729] -#define __pyx_kp_b_iso88591_A_A_6_6_6_7_7_81_7_7_5_6_a_Q_81 __pyx_string_tab[2730] -#define __pyx_kp_b_iso88591_A_iq_46d_5 __pyx_string_tab[2731] -#define __pyx_kp_b_iso88591_A_q __pyx_string_tab[2732] -#define __pyx_kp_b_iso88591_A_q_q __pyx_string_tab[2733] -#define __pyx_kp_b_iso88591_A_t5 __pyx_string_tab[2734] -#define __pyx_kp_b_iso88591_A_t81A __pyx_string_tab[2735] -#define __pyx_kp_b_iso88591_A_uAS __pyx_string_tab[2736] -#define __pyx_kp_b_iso88591_A_uBd __pyx_string_tab[2737] -#define __pyx_kp_b_iso88591_A_wat81 __pyx_string_tab[2738] -#define __pyx_kp_b_iso88591_A_Qd __pyx_string_tab[2739] -#define __pyx_kp_b_iso88591_A_A_1_N_q_5_A_z_HA_G1A_q_q __pyx_string_tab[2740] -#define __pyx_kp_b_iso88591_A_A_4_B_q_A_U_q_gU_axq_wgQa_uA_a __pyx_string_tab[2741] -#define __pyx_kp_b_iso88591_A_HKq_1A_6_5Q_A_7_4A_A_QgQ_7_1_A __pyx_string_tab[2742] -#define __pyx_kp_b_iso88591_A __pyx_string_tab[2743] -#define __pyx_kp_b_iso88591_A_2 __pyx_string_tab[2744] -#define __pyx_kp_b_iso88591_A_3 __pyx_string_tab[2745] -#define __pyx_kp_b_iso88591_A_AAXXY_aq_Q_aq_axq_oQha_81A_7_1 __pyx_string_tab[2746] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_A_7_aq_q_1AXY __pyx_string_tab[2747] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q __pyx_string_tab[2748] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q_2 __pyx_string_tab[2749] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_q_xq_7_9_q_aq_2 __pyx_string_tab[2750] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_M_7_1_q_q_bPX __pyx_string_tab[2751] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_81A_7_1A_q_0 __pyx_string_tab[2752] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_oXQa_7_AQ_q_1_2 __pyx_string_tab[2753] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_oXQa_7_AQ_q_1 __pyx_string_tab[2754] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_1_7xq_7_Qa_q __pyx_string_tab[2755] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_q_q_4_2 __pyx_string_tab[2756] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_2_C81A_7_C1A __pyx_string_tab[2757] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_6Q_11K8STTU_7 __pyx_string_tab[2758] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_M_7_1_axq_axq __pyx_string_tab[2759] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_q_axq __pyx_string_tab[2760] -#define __pyx_kp_b_iso88591_A_a_aq_Q_aq_axq_oQha_A_7_a_1_q_1 __pyx_string_tab[2761] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_A __pyx_string_tab[2762] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_M_7_q_q_q_bPX __pyx_string_tab[2763] -#define __pyx_kp_b_iso88591_A_B_aq_Q_aq_axq_oQha_A_7_a_1_q_1 __pyx_string_tab[2764] -#define __pyx_kp_b_iso88591_A_BBTTkk_Y_Y_Z_aq_Q_aq_axq_oQha __pyx_string_tab[2765] -#define __pyx_kp_b_iso88591_A_BBUUV_aq_Q_aq_axq_oQha_Q_81A_7 __pyx_string_tab[2766] -#define __pyx_kp_b_iso88591_A_BBXXjjk_aq_Q_aq_axq_oQha_M_7_y __pyx_string_tab[2767] -#define __pyx_kp_b_iso88591_A_BB_aq_Q_aq_axq_oQha_a_XQa_7_8 __pyx_string_tab[2768] -#define __pyx_kp_b_iso88591_A_DA_aq_Q_aq_axq_oQha_Q_81A_7_7q __pyx_string_tab[2769] -#define __pyx_kp_b_iso88591_A_DD_vvw_aq_Q_aq_axq_oQha_oXQa_7 __pyx_string_tab[2770] -#define __pyx_kp_b_iso88591_A_EQ_aq_Q_aq_axq_oQha_A_9_7_a_1 __pyx_string_tab[2771] -#define __pyx_kp_b_iso88591_A_EQ_aq_Q_aq_axq_oQha_Q_81A_7_7q __pyx_string_tab[2772] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_81A_7_1A_q_Qh __pyx_string_tab[2773] -#define __pyx_kp_b_iso88591_A_Q_aq_axq_oQha_a_XQa_7_8_q_Qaxy __pyx_string_tab[2774] -#define __pyx_kp_b_iso88591_A_DDWWX_Q_aq_axq_oQha_Q_81A_7_7q __pyx_string_tab[2775] -#define __pyx_kp_b_iso88591_A_EQ_aq_Q_aq_axq_oQha_a_XQa_7_8 __pyx_string_tab[2776] -#define __pyx_kp_b_iso88591_A_DA_aq_Qa_XQ_aq_axq_oQha_81A_7 __pyx_string_tab[2777] -#define __pyx_kp_b_iso88591_A01_aq_Qa_XQ_aq_axq_oQha_Q_81A_7 __pyx_string_tab[2778] -#define __pyx_kp_b_iso88591_A01_aq_Qa_XQ_aq_axq_oQha_81A_7_1 __pyx_string_tab[2779] -#define __pyx_kp_b_iso88591_A01_aq_Qa_XQ_aq_axq_oQha_oXQa_7 __pyx_string_tab[2780] -#define __pyx_kp_b_iso88591_A01_aq_Qa_XQ_aq_axq_oQha_q_xq_7 __pyx_string_tab[2781] -#define __pyx_kp_b_iso88591_A01_aq_Qa_XQ_aq_axq_oQha_oXQa_7_2 __pyx_string_tab[2782] -#define __pyx_kp_b_iso88591_A0Fa_aq_Qa_XQ_aq_axq_oQha_Q_81A __pyx_string_tab[2783] -#define __pyx_kp_b_iso88591_A0Gq_aq_Qa_XQ_aq_axq_oQha_A_7_a __pyx_string_tab[2784] -#define __pyx_kp_b_iso88591_A0Gq_aq_Qa_XQ_aq_axq_oQha_q_xq_7 __pyx_string_tab[2785] -#define __pyx_kp_b_iso88591_A0GG_a_aq_Qa_XQ_aq_axq_oQha_A_7 __pyx_string_tab[2786] -#define __pyx_kp_b_iso88591_A23_aq_q_XQ_aq_axq_oQha_Q_81A_7 __pyx_string_tab[2787] -#define __pyx_kp_b_iso88591_A23_aq_q_XQ_aq_axq_oQha_M_7_1_q __pyx_string_tab[2788] -#define __pyx_kp_b_iso88591_A34_aq_XQ_aq_axq_oQha_a_XQa_7_8 __pyx_string_tab[2789] -#define __pyx_kp_b_iso88591_A34_q_q_Ya_aq_axq_oQha_a_XQa_7_8 __pyx_string_tab[2790] -#define __pyx_kp_b_iso88591_A34_q_q_Ya_aq_axq_oQha_M_7_1_q_q __pyx_string_tab[2791] -#define __pyx_kp_b_iso88591_A3II_aq_M_XQ_aq_axq_oQha_a_XQa_7 __pyx_string_tab[2792] -#define __pyx_kp_b_iso88591_A3QQt_u_T_T_v_v_Z_Z_z_z_aq_Qa_XQ __pyx_string_tab[2793] -#define __pyx_kp_b_iso88591_A45_q_Ya_aq_axq_oQha_Q_81A_7_7q __pyx_string_tab[2794] -#define __pyx_kp_b_iso88591_A5J_aq_Qa_XQ_aq_axq_oQha_Q_81A_7 __pyx_string_tab[2795] -#define __pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_A_7 __pyx_string_tab[2796] -#define __pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_Q_81 __pyx_string_tab[2797] -#define __pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_a_XQ __pyx_string_tab[2798] -#define __pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_q_xq __pyx_string_tab[2799] -#define __pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_81A __pyx_string_tab[2800] -#define __pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_oXQa_2 __pyx_string_tab[2801] -#define __pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_Q_81_2 __pyx_string_tab[2802] -#define __pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_M_7 __pyx_string_tab[2803] -#define __pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_oXQa __pyx_string_tab[2804] -#define __pyx_kp_b_iso88591_A7MMbbc_aq_Qa_q_XWA_aq_axq_oQha __pyx_string_tab[2805] -#define __pyx_kp_b_iso88591_A7NNee_aq_Qa_q_XWA_aq_axq_oQha_Q __pyx_string_tab[2806] -#define __pyx_kp_b_iso88591_A7QQR_aq_Qa_q_XWA_aq_axq_oQha_A __pyx_string_tab[2807] -#define __pyx_kp_b_iso88591_A8PPhhi_aq_Qa_q_XWA_aq_axq_oQha __pyx_string_tab[2808] -#define __pyx_kp_b_iso88591_A9RRkkl_aq_Qa_q_XWA_aq_axq_oQha __pyx_string_tab[2809] -#define __pyx_kp_b_iso88591_A9RRkk_Y_Y_Z_aq_Qa_q_XWA_aq_axq __pyx_string_tab[2810] -#define __pyx_kp_b_iso88591_A9RRk_l_A_A_Z_Z_aq_Qa_q_XWA_aq_a __pyx_string_tab[2811] -#define __pyx_kp_b_iso88591_A_aq_Qa_q_XWIQ_aq_axq_oQha_Q_81A __pyx_string_tab[2812] -#define __pyx_kp_b_iso88591_A_VVW_aq_Qa_q_XWIQ_aq_axq_oQha_q __pyx_string_tab[2813] -#define __pyx_kp_b_iso88591_AAB_aq_aq_Qa_q_XXWA_aq_axq_oQha_5 __pyx_string_tab[2814] -#define __pyx_kp_b_iso88591_AAB_aq_aq_Qa_q_XXWA_aq_axq_oQha_4 __pyx_string_tab[2815] -#define __pyx_kp_b_iso88591_AAB_aq_aq_Qa_q_XXWA_aq_axq_oQha __pyx_string_tab[2816] -#define __pyx_kp_b_iso88591_AAB_aq_aq_Qa_q_XXWA_aq_axq_oQha_2 __pyx_string_tab[2817] -#define __pyx_kp_b_iso88591_AAB_aq_aq_Qa_q_XXWA_aq_axq_oQha_3 __pyx_string_tab[2818] -#define __pyx_kp_b_iso88591_A_Jm6_M_Q_Jiq_A_O9F_b_O1 __pyx_string_tab[2819] -#define __pyx_kp_b_iso88591_A_A_4wawa_1_Kq_Q_V1E_d_1_0_Ya_T __pyx_string_tab[2820] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_A_7_a_q_1AXYf __pyx_string_tab[2821] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q_2 __pyx_string_tab[2822] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q __pyx_string_tab[2823] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_q_xq_7_9_q_aq __pyx_string_tab[2824] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_M_7_q_q_bPXXd __pyx_string_tab[2825] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_A_9_7_a_q_31A __pyx_string_tab[2826] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_q_q_4 __pyx_string_tab[2827] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_q_5Qa __pyx_string_tab[2828] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_q_5Qa_2 __pyx_string_tab[2829] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_81A_7_1_q_1HA __pyx_string_tab[2830] -#define __pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_1_7xq_7_Q_81 __pyx_string_tab[2831] -#define __pyx_kp_b_iso88591_A_aq_Qa_XQ_aq_axq_oQha_oXQa_7_A __pyx_string_tab[2832] -#define __pyx_kp_b_iso88591_A_aq_Qa_q_XWA_aq_axq_oQha_Q_81A __pyx_string_tab[2833] -#define __pyx_kp_b_iso88591_A_aq_Qa_q_XWA_aq_axq_oQha_M_7_q __pyx_string_tab[2834] -#define __pyx_kp_b_iso88591_A_aq_Qa_q_XWA_aq_axq_oQha_oXQa_7 __pyx_string_tab[2835] -#define __pyx_kp_b_iso88591_A_aq_Qa_q_XWIQ_aq_axq_oQha_A_7_a __pyx_string_tab[2836] -#define __pyx_kp_b_iso88591_A_aq_Qa_q_XWIQ_aq_axq_oQha_a_XQa __pyx_string_tab[2837] -#define __pyx_kp_b_iso88591_A_aq_Qa_XWA_aq_axq_oQha_oXQa_7_A __pyx_string_tab[2838] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_Q __pyx_string_tab[2839] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_81 __pyx_string_tab[2840] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_oX __pyx_string_tab[2841] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1 __pyx_string_tab[2842] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_A __pyx_string_tab[2843] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_Q_2 __pyx_string_tab[2844] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_a __pyx_string_tab[2845] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_0q __pyx_string_tab[2846] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1_2 __pyx_string_tab[2847] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_2 __pyx_string_tab[2848] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_3 __pyx_string_tab[2849] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_41 __pyx_string_tab[2850] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_5A __pyx_string_tab[2851] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_6Q __pyx_string_tab[2852] -#define __pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_A_2 __pyx_string_tab[2853] -#define __pyx_kp_b_iso88591_A_aq_XQ_aq_axq_oQha_Q_81A_7_7q_q __pyx_string_tab[2854] -#define __pyx_kp_b_iso88591_A_q_q_Ya_aq_axq_oQha_Q_81A_7_7q __pyx_string_tab[2855] -#define __pyx_kp_b_iso88591_A_q_q_Ya_aq_axq_oQha_a_XQa_7_8_q __pyx_string_tab[2856] -#define __pyx_kp_b_iso88591_A_q_Ya_aq_axq_oQha_Q_81A_7_7q_q __pyx_string_tab[2857] -#define __pyx_kp_b_iso88591_A_a_4q_aq __pyx_string_tab[2858] -#define __pyx_kp_b_iso88591_A_A_WA_5_q_5_V1_5_U __pyx_string_tab[2859] -#define __pyx_kp_b_iso88591_A_A_L_6_Qk_A_a_QnA_a __pyx_string_tab[2860] -#define __pyx_kp_b_iso88591_A_A_k_M_a_q_T_7q_q __pyx_string_tab[2861] -#define __pyx_kp_b_iso88591_A_A_AQ_6_A_E_A_q __pyx_string_tab[2862] -#define __pyx_kp_b_iso88591_A_A_a_G1_t3e1_aq_4_q_Q_AT_V1A_S __pyx_string_tab[2863] -#define __pyx_kp_b_iso88591_A_d_q_4z_q_aq_q __pyx_string_tab[2864] -#define __pyx_kp_b_iso88591_A_t85 __pyx_string_tab[2865] -#define __pyx_kp_b_iso88591_A_t85_Q_2 __pyx_string_tab[2866] -#define __pyx_kp_b_iso88591_A_t85_Q __pyx_string_tab[2867] -#define __pyx_kp_b_iso88591_A_A_k_N_q_q_e_q_1A_q __pyx_string_tab[2868] -#define __pyx_kp_b_iso88591_A_A_at1_C_IQe1_D_aq_E_AZq_vV_2_V __pyx_string_tab[2869] -#define __pyx_kp_b_iso88591_A_A_4uA_e87_4z_q_aq_WE_5_q_E_a_s __pyx_string_tab[2870] -#define __pyx_kp_b_iso88591_A_A_2_k_Qa_e_e1_2S_AQ_U_t1A_q_4 __pyx_string_tab[2871] -#define __pyx_kp_b_iso88591_A2_A_QnA_1_t_6a_WA_d_Q_d_1_q_s_A __pyx_string_tab[2872] -#define __pyx_kp_b_iso88591_N_1_A_t1 __pyx_string_tab[2873] -#define __pyx_kp_b_iso88591_t1_1_l_1_1_l_QoQ_a __pyx_string_tab[2874] -#define __pyx_kp_b_iso88591_Q_A_1_G9JfA_t_1G1_q_1_a_U_4q __pyx_string_tab[2875] -#define __pyx_float_0_2 __pyx_number_tab[0] -#define __pyx_float_0_3 __pyx_number_tab[1] -#define __pyx_float_0_5 __pyx_number_tab[2] -#define __pyx_float_3_0 __pyx_number_tab[3] -#define __pyx_float_0_02 __pyx_number_tab[4] -#define __pyx_float_neg_4e37 __pyx_number_tab[5] -#define __pyx_float_50_0 __pyx_number_tab[6] -#define __pyx_int_0 __pyx_number_tab[7] -#define __pyx_int_neg_1 __pyx_number_tab[8] -#define __pyx_int_1 __pyx_number_tab[9] -#define __pyx_int_2 __pyx_number_tab[10] -#define __pyx_int_3 __pyx_number_tab[11] -#define __pyx_int_4 __pyx_number_tab[12] -#define __pyx_int_8 __pyx_number_tab[13] -#define __pyx_int_12 __pyx_number_tab[14] -#define __pyx_int_13 __pyx_number_tab[15] -#define __pyx_int_14 __pyx_number_tab[16] -#define __pyx_int_16 __pyx_number_tab[17] -#define __pyx_int_32 __pyx_number_tab[18] -#define __pyx_int_64 __pyx_number_tab[19] -#define __pyx_int_128 __pyx_number_tab[20] -#define __pyx_int_256 __pyx_number_tab[21] -#define __pyx_int_512 __pyx_number_tab[22] -#define __pyx_int_1024 __pyx_number_tab[23] -#define __pyx_int_2048 __pyx_number_tab[24] -#define __pyx_int_4096 __pyx_number_tab[25] -#define __pyx_int_8192 __pyx_number_tab[26] -#define __pyx_int_16777216 __pyx_number_tab[27] -#define __pyx_int_33554432 __pyx_number_tab[28] -#define __pyx_int_67108864 __pyx_number_tab[29] -#define __pyx_int_134217728 __pyx_number_tab[30] -#define __pyx_int_238750788 __pyx_number_tab[31] -#define __pyx_int_268435456 __pyx_number_tab[32] -#define __pyx_int_536870912 __pyx_number_tab[33] -#define __pyx_int_1073741824 __pyx_number_tab[34] -#define __pyx_int_neg_2147483648 __pyx_number_tab[35] -/* #### Code section: module_state_clear ### */ -#if CYTHON_USE_MODULE_STATE -static CYTHON_SMALL_CODE int __pyx_m_clear(PyObject *m) { - __pyx_mstatetype *clear_module_state = __Pyx_PyModule_GetState(m); - if (!clear_module_state) return 0; - Py_CLEAR(clear_module_state->__pyx_d); - Py_CLEAR(clear_module_state->__pyx_b); - Py_CLEAR(clear_module_state->__pyx_cython_runtime); - Py_CLEAR(clear_module_state->__pyx_empty_tuple); - Py_CLEAR(clear_module_state->__pyx_empty_bytes); - Py_CLEAR(clear_module_state->__pyx_empty_unicode); - #if CYTHON_PEP489_MULTI_PHASE_INIT - __Pyx_State_RemoveModule(NULL); - #endif - Py_CLEAR(clear_module_state->__pyx_ptype_7cpython_4type_type); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_dtype); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_flatiter); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_broadcast); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_ndarray); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_generic); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_number); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_integer); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_signedinteger); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_unsignedinteger); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_inexact); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_floating); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_complexfloating); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_flexible); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_character); - Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_ufunc); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib__TA_ReadLease); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib__TA_WriteLease); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_AC_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_AC_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ACCBANDS_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ACOS_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_AD_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_AD_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ADD_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ADD_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ADOSC_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ADR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ADR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ADX_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ADX_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ADXR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_AO_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_AO_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_APO_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_APO_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_AROON_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_AROON_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_AROONOSC_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ASIN_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ATAN_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ATR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ATR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_AVGDEV_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_AVGPRICE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_BBANDS_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_BETA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_BETA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_BOP_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_BOP_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CCI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CCI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDL2CROWS_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDL3BLACKCROWS_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDL3INSIDE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDL3LINESTRIKE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDL3OUTSIDE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLABANDONEDBABY_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLBELTHOLD_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLBREAKAWAY_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLDOJI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLDOJISTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLENGULFING_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLEVENINGSTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLHAMMER_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLHANGINGMAN_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLHARAMI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLHARAMICROSS_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLHIGHWAVE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLHIKKAKE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLINNECK_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLKICKING_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLLONGLINE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLMARUBOZU_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLMATCHINGLOW_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLMATHOLD_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLMORNINGSTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLONNECK_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLPIERCING_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLSHORTLINE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLSPINNINGTOP_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLTAKURI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLTASUKIGAP_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLTHRUSTING_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLTRISTAR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CEIL_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CMF_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CMF_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CMO_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CMO_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CMOU_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_COPPOCK_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CORREL_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_COS_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_COS_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_COSH_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_COSH_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CUMSUM_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_CVI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_CVI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_DEMA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_DIV_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_DIV_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_DONCHIAN_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_DPO_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_DPO_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_DX_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_DX_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_EFI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_EFI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_EMA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_EMA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ER_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ER_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ERI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ERI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_EXP_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_EXP_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_FLOOR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_FOSC_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_FRACTAL_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_HA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_HA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_HMA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_HMA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_HT_DCPERIOD_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_HT_DCPHASE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_HT_PHASOR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_HT_SINE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_HT_TRENDLINE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_HT_TRENDMODE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_IMI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_IMI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_KAMA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_KC_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_KC_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_KDJ_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_LINEARREG_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_LINEARREG_ANGLE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_LINEARREG_SLOPE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_LN_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_LN_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_LOG10_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MACD_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MACD_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MACDEXT_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MACDFIX_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MAMA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MARKETFI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MASSI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MAVP_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MAX_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MAX_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MAXINDEX_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MEDPRICE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MFI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MFI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MIDPOINT_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MIDPRICE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MIN_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MIN_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MININDEX_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MINMAX_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MINMAXINDEX_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MINUS_DI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MINUS_DM_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MOM_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MOM_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_MULT_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_MULT_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_NATR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_NATR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_NVI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_NVI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_OBV_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_OBV_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_PERCENTILE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_PERCENTRANK_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_PLUS_DI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_PLUS_DM_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_PPO_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_PPO_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_PVI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_PVI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_PVO_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_PVO_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_PVT_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_PVT_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_QSTICK_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_RMA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_RMA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ROC_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ROC_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ROCP_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ROCR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ROCR100_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_RSI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_RSI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_RVI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_RVI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_RVOL_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_SAR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_SAR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_SAREXT_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_SIN_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_SIN_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_SINH_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_SINH_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_SMA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_SMA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_SMI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_SMI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_SQRT_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_STDDEV_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_STOCH_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_STOCHF_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_STOCHRSI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_SUB_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_SUB_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_SUM_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_SUM_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_SUPERTREND_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_T3_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_T3_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_TAN_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_TAN_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_TANH_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_TANH_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_TEMA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_TRANGE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_TRIMA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_TRIX_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_TSF_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_TSF_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_TSI_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_TSI_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_TYPPRICE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ULTOSC_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_VAR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_VAR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_VHF_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_VHF_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_VORTEX_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_VWAP_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_VWMA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_WAD_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_WAD_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_WCLPRICE_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_WILLR_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_WMA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_WMA_Stream); - Py_CLEAR(clear_module_state->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream); - Py_CLEAR(clear_module_state->__pyx_type_5talib_7_ta_lib_ZLEMA_Stream); - Py_CLEAR(clear_module_state->__pyx_umethod_PyDict_Type_items.method); - Py_CLEAR(clear_module_state->__pyx_umethod_PyDict_Type_pop.method); - Py_CLEAR(clear_module_state->__pyx_umethod_PyDict_Type_values.method); - for (int i=0; i<37; ++i) { Py_CLEAR(clear_module_state->__pyx_tuple[i]); } - for (int i=0; i<463; ++i) { Py_CLEAR(clear_module_state->__pyx_codeobj_tab[i]); } - for (int i=0; i<2876; ++i) { Py_CLEAR(clear_module_state->__pyx_string_tab[i]); } - for (int i=0; i<36; ++i) { Py_CLEAR(clear_module_state->__pyx_number_tab[i]); } -/* #### Code section: module_state_clear_contents ### */ -/* CommonTypesMetaclass.module_state_clear */ -Py_CLEAR(clear_module_state->__pyx_CommonTypesMetaclassType); - -/* CythonFunctionPerModule.module_state_clear */ -Py_CLEAR(clear_module_state->__pyx_CyFunctionType); - -/* #### Code section: module_state_clear_end ### */ -return 0; -} -#endif -/* #### Code section: module_state_traverse ### */ -#if CYTHON_USE_MODULE_STATE -static CYTHON_SMALL_CODE int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { - __pyx_mstatetype *traverse_module_state = __Pyx_PyModule_GetState(m); - if (!traverse_module_state) return 0; - Py_VISIT(traverse_module_state->__pyx_d); - Py_VISIT(traverse_module_state->__pyx_b); - Py_VISIT(traverse_module_state->__pyx_cython_runtime); - __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_tuple); - __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_bytes); - __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_unicode); - Py_VISIT(traverse_module_state->__pyx_ptype_7cpython_4type_type); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_dtype); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_flatiter); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_broadcast); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_ndarray); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_generic); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_number); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_integer); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_signedinteger); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_unsignedinteger); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_inexact); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_floating); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_complexfloating); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_flexible); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_character); - Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_ufunc); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib__TA_ReadLease); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib__TA_WriteLease); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_AC_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_AC_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ACCBANDS_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ACOS_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_AD_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_AD_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ADD_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ADD_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ADOSC_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ADR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ADR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ADX_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ADX_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ADXR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_AO_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_AO_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_APO_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_APO_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_AROON_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_AROON_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_AROONOSC_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ASIN_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ATAN_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ATR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ATR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_AVGDEV_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_AVGPRICE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_BBANDS_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_BETA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_BETA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_BOP_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_BOP_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CCI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CCI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDL2CROWS_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDL3BLACKCROWS_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDL3INSIDE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDL3LINESTRIKE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDL3OUTSIDE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLABANDONEDBABY_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLBELTHOLD_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLBREAKAWAY_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLDOJI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLDOJISTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLENGULFING_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLEVENINGSTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLHAMMER_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLHANGINGMAN_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLHARAMI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLHARAMICROSS_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLHIGHWAVE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLHIKKAKE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLINNECK_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLKICKING_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLLONGLINE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLMARUBOZU_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLMATCHINGLOW_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLMATHOLD_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLMORNINGSTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLONNECK_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLPIERCING_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLSHORTLINE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLSPINNINGTOP_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLTAKURI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLTASUKIGAP_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLTHRUSTING_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLTRISTAR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CEIL_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CMF_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CMF_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CMO_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CMO_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CMOU_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_COPPOCK_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CORREL_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_COS_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_COS_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_COSH_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_COSH_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CUMSUM_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_CVI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_CVI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_DEMA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_DIV_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_DIV_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_DONCHIAN_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_DPO_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_DPO_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_DX_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_DX_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_EFI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_EFI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_EMA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_EMA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ER_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ER_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ERI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ERI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_EXP_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_EXP_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_FLOOR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_FOSC_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_FRACTAL_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_HA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_HA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_HMA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_HMA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_HT_DCPERIOD_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_HT_DCPHASE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_HT_PHASOR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_HT_SINE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_HT_TRENDLINE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_HT_TRENDMODE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_IMI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_IMI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_KAMA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_KC_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_KC_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_KDJ_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_LINEARREG_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_LINEARREG_ANGLE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_LINEARREG_SLOPE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_LN_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_LN_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_LOG10_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MACD_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MACD_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MACDEXT_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MACDFIX_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MAMA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MARKETFI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MASSI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MAVP_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MAX_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MAX_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MAXINDEX_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MEDPRICE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MFI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MFI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MIDPOINT_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MIDPRICE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MIN_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MIN_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MININDEX_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MINMAX_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MINMAXINDEX_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MINUS_DI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MINUS_DM_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MOM_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MOM_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_MULT_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_MULT_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_NATR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_NATR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_NVI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_NVI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_OBV_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_OBV_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_PERCENTILE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_PERCENTRANK_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_PLUS_DI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_PLUS_DM_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_PPO_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_PPO_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_PVI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_PVI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_PVO_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_PVO_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_PVT_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_PVT_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_QSTICK_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_RMA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_RMA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ROC_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ROC_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ROCP_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ROCR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ROCR100_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_RSI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_RSI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_RVI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_RVI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_RVOL_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_SAR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_SAR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_SAREXT_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_SIN_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_SIN_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_SINH_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_SINH_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_SMA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_SMA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_SMI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_SMI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_SQRT_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_STDDEV_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_STOCH_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_STOCHF_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_STOCHRSI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_SUB_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_SUB_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_SUM_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_SUM_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_SUPERTREND_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_T3_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_T3_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_TAN_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_TAN_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_TANH_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_TANH_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_TEMA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_TRANGE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_TRIMA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_TRIX_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_TSF_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_TSF_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_TSI_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_TSI_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_TYPPRICE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ULTOSC_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_VAR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_VAR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_VHF_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_VHF_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_VORTEX_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_VWAP_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_VWMA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_WAD_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_WAD_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_WCLPRICE_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_WILLR_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_WMA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_WMA_Stream); - Py_VISIT(traverse_module_state->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream); - Py_VISIT(traverse_module_state->__pyx_type_5talib_7_ta_lib_ZLEMA_Stream); - Py_VISIT(traverse_module_state->__pyx_umethod_PyDict_Type_items.method); - Py_VISIT(traverse_module_state->__pyx_umethod_PyDict_Type_pop.method); - Py_VISIT(traverse_module_state->__pyx_umethod_PyDict_Type_values.method); - for (int i=0; i<37; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_tuple[i]); } - for (int i=0; i<463; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_codeobj_tab[i]); } - for (int i=0; i<2876; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_string_tab[i]); } - for (int i=0; i<36; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_number_tab[i]); } -/* #### Code section: module_state_traverse_contents ### */ -/* CommonTypesMetaclass.module_state_traverse */ -Py_VISIT(traverse_module_state->__pyx_CommonTypesMetaclassType); - -/* CythonFunctionPerModule.module_state_traverse */ -Py_VISIT(traverse_module_state->__pyx_CyFunctionType); - -/* #### Code section: module_state_traverse_end ### */ -return 0; -} -#endif -/* #### Code section: module_code ### */ - - -static CYTHON_INLINE PyTypeObject *__pyx_f_5numpy_5dtype_7typeobj___get__(PyArray_Descr *__pyx_v_self) { - PyTypeObject *__pyx_r; - - { - - __pyx_r = PyDataType_TYPEOBJ(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE char __pyx_f_5numpy_5dtype_4kind___get__(PyArray_Descr *__pyx_v_self) { - char __pyx_r; - - { - - __pyx_r = PyDataType_KIND(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE char __pyx_f_5numpy_5dtype_4type___get__(PyArray_Descr *__pyx_v_self) { - char __pyx_r; - - { - - __pyx_r = PyDataType_TYPE(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE char __pyx_f_5numpy_5dtype_9byteorder___get__(PyArray_Descr *__pyx_v_self) { - char __pyx_r; - - { - - __pyx_r = PyDataType_BYTEORDER(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE int __pyx_f_5numpy_5dtype_8type_num___get__(PyArray_Descr *__pyx_v_self) { - int __pyx_r; - - { - - __pyx_r = PyDataType_TYPENUM(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize___get__(PyArray_Descr *__pyx_v_self) { - npy_intp __pyx_r; - - { - - __pyx_r = PyDataType_ELSIZE(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment___get__(PyArray_Descr *__pyx_v_self) { - npy_intp __pyx_r; - - { - - __pyx_r = PyDataType_ALIGNMENT(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields___get__(PyArray_Descr *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1; - __Pyx_RefNannySetupContext("__get__", 0); - - __pyx_t_1 = PyDataType_FIELDS(__pyx_v_self); - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(((PyObject *)__pyx_t_1)); - __pyx_r = ((PyObject *)__pyx_t_1); - } - __Pyx_XDECREF(__pyx_temp); - } - - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names___get__(PyArray_Descr *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1; - __Pyx_RefNannySetupContext("__get__", 0); - - __pyx_t_1 = PyDataType_NAMES(__pyx_v_self); - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(((PyObject*)__pyx_t_1)); - __pyx_r = ((PyObject*)__pyx_t_1); - } - __Pyx_XDECREF(__pyx_temp); - } - - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray___get__(PyArray_Descr *__pyx_v_self) { - PyArray_ArrayDescr *__pyx_r; - - { - - __pyx_r = PyDataType_SUBARRAY(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags___get__(PyArray_Descr *__pyx_v_self) { - npy_uint64 __pyx_r; - - { - - __pyx_r = PyDataType_FLAGS(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter___get__(PyArrayMultiIterObject *__pyx_v_self) { - int __pyx_r; - - { - - __pyx_r = PyArray_MultiIter_NUMITER(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size___get__(PyArrayMultiIterObject *__pyx_v_self) { - npy_intp __pyx_r; - - { - - __pyx_r = PyArray_MultiIter_SIZE(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index___get__(PyArrayMultiIterObject *__pyx_v_self) { - npy_intp __pyx_r; - - { - - __pyx_r = PyArray_MultiIter_INDEX(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd___get__(PyArrayMultiIterObject *__pyx_v_self) { - int __pyx_r; - - { - - __pyx_r = PyArray_MultiIter_NDIM(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions___get__(PyArrayMultiIterObject *__pyx_v_self) { - npy_intp *__pyx_r; - - { - - __pyx_r = PyArray_MultiIter_DIMS(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters___get__(PyArrayMultiIterObject *__pyx_v_self) { - void **__pyx_r; - - { - - __pyx_r = PyArray_MultiIter_ITERS(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base___get__(PyArrayObject *__pyx_v_self) { - PyObject *__pyx_r; - - { - - __pyx_r = PyArray_BASE(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr___get__(PyArrayObject *__pyx_v_self) { - PyArray_Descr *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyArray_Descr *__pyx_t_1; - __Pyx_RefNannySetupContext("__get__", 0); - - __pyx_t_1 = PyArray_DESCR(__pyx_v_self); - - { - PyArray_Descr *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)((PyArray_Descr *)__pyx_t_1)); - __pyx_r = ((PyArray_Descr *)__pyx_t_1); - } - __Pyx_XDECREF((PyObject *)__pyx_temp); - } - - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - __Pyx_XGIVEREF((PyObject *)__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim___get__(PyArrayObject *__pyx_v_self) { - int __pyx_r; - - { - - __pyx_r = PyArray_NDIM(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape___get__(PyArrayObject *__pyx_v_self) { - npy_intp *__pyx_r; - - { - - __pyx_r = PyArray_DIMS(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides___get__(PyArrayObject *__pyx_v_self) { - npy_intp *__pyx_r; - - { - - __pyx_r = PyArray_STRIDES(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size___get__(PyArrayObject *__pyx_v_self) { - npy_intp __pyx_r; - - { - - __pyx_r = PyArray_SIZE(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data___get__(PyArrayObject *__pyx_v_self) { - char *__pyx_r; - - { - - __pyx_r = PyArray_BYTES(__pyx_v_self); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - - __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 795, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - - __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - - __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 801, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - - __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 804, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - - __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 807, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2; - __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0); - - __pyx_t_1 = PyDataType_HASSUBARRAY(__pyx_v_d); - - if (__pyx_t_1) { - - - __pyx_t_2 = __pyx_f_5numpy_5dtype_8subarray___get__(__pyx_v_d)->shape; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(((PyObject*)__pyx_t_2)); - __pyx_r = ((PyObject*)__pyx_t_2); - } - __Pyx_XDECREF(__pyx_temp); - } - - goto __pyx_L0; - - } - - /*else*/ { - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple); - __pyx_r = __pyx_mstate_global->__pyx_empty_tuple; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - } - - - /* function exit code */ - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static CYTHON_INLINE int __pyx_f_5numpy_5ufunc_3nin___get__(PyUFuncObject *__pyx_v_self) { - int __pyx_r; - - { - - __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->nin; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE int __pyx_f_5numpy_5ufunc_4nout___get__(PyUFuncObject *__pyx_v_self) { - int __pyx_r; - - { - - __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->nout; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE int __pyx_f_5numpy_5ufunc_5nargs___get__(PyUFuncObject *__pyx_v_self) { - int __pyx_r; - - { - - __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->nargs; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE PyUFuncGenericFunction *__pyx_f_5numpy_5ufunc_9functions___get__(PyUFuncObject *__pyx_v_self) { - PyUFuncGenericFunction *__pyx_r; - - { - - __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->functions; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE void **__pyx_f_5numpy_5ufunc_4data___get__(PyUFuncObject *__pyx_v_self) { - void **__pyx_r; - - { - - __pyx_r = ((void **)_PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->data); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE int __pyx_f_5numpy_5ufunc_6ntypes___get__(PyUFuncObject *__pyx_v_self) { - int __pyx_r; - - { - - __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->ntypes; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE char const *__pyx_f_5numpy_5ufunc_4name___get__(PyUFuncObject *__pyx_v_self) { - char const *__pyx_r; - - { - - __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->name; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE char const *__pyx_f_5numpy_5ufunc_3doc___get__(PyUFuncObject *__pyx_v_self) { - char const *__pyx_r; - - { - - __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->doc; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE void *__pyx_f_5numpy_5ufunc_3ptr___get__(PyUFuncObject *__pyx_v_self) { - void *__pyx_r; - - { - - __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->ptr; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_5ufunc_3obj___get__(PyUFuncObject *__pyx_v_self) { - PyObject *__pyx_r; - - { - - __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->obj; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_5ufunc_9userloops___get__(PyUFuncObject *__pyx_v_self) { - PyObject *__pyx_r; - - { - - __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->userloops; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { - int __pyx_t_1; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - - Py_INCREF(__pyx_v_base); - - __pyx_t_1 = PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(4, 1067, __pyx_L1_error) - - - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_AddTraceback("numpy.set_array_base", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - -} - - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { - PyObject *__pyx_v_base; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - __Pyx_RefNannySetupContext("get_array_base", 0); - - __pyx_v_base = PyArray_BASE(__pyx_v_arr); - - __pyx_t_1 = (__pyx_v_base == NULL); - - if (__pyx_t_1) { - - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(((PyObject *)__pyx_v_base)); - __pyx_r = ((PyObject *)__pyx_v_base); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - size_t __pyx_t_10; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("import_array", 0); - - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(4, 1079, __pyx_L3_error) - - - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_try_end; - __pyx_L3_error:; - - __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_Exception)))); - if (__pyx_t_4) { - __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(4, 1080, __pyx_L5_except_error) - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - - __pyx_t_9 = NULL; - __pyx_t_10 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_numpy__core_multiarray_failed_to}; - __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ImportError)), __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 1081, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_8); - } - __Pyx_Raise(__pyx_t_8, 0, 0, 0); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __PYX_ERR(4, 1081, __pyx_L5_except_error) - } - goto __pyx_L5_except_error; - - __pyx_L5_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_end:; - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - size_t __pyx_t_10; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("import_umath", 0); - - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(4, 1085, __pyx_L3_error) - - - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_try_end; - __pyx_L3_error:; - - __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_Exception)))); - if (__pyx_t_4) { - __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(4, 1086, __pyx_L5_except_error) - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - - __pyx_t_9 = NULL; - __pyx_t_10 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_numpy__core_umath_failed_to_impo}; - __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ImportError)), __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 1087, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_8); - } - __Pyx_Raise(__pyx_t_8, 0, 0, 0); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __PYX_ERR(4, 1087, __pyx_L5_except_error) - } - goto __pyx_L5_except_error; - - __pyx_L5_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_end:; - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - size_t __pyx_t_10; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("import_ufunc", 0); - - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(4, 1091, __pyx_L3_error) - - - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_try_end; - __pyx_L3_error:; - - __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_Exception)))); - if (__pyx_t_4) { - __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(4, 1092, __pyx_L5_except_error) - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - - __pyx_t_9 = NULL; - __pyx_t_10 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_numpy__core_umath_failed_to_impo}; - __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ImportError)), __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 1093, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_8); - } - __Pyx_Raise(__pyx_t_8, 0, 0, 0); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __PYX_ERR(4, 1093, __pyx_L5_except_error) - } - goto __pyx_L5_except_error; - - __pyx_L5_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_end:; - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_obj) { - int __pyx_r; - - { - - __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyTimedeltaArrType_Type)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - - return __pyx_r; -} - - -static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_obj) { - int __pyx_r; - - { - - __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyDatetimeArrType_Type)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - - return __pyx_r; -} - - -static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *__pyx_v_obj) { - npy_datetime __pyx_r; - - { - - __pyx_r = _PyDatetimeScalarObject_GetValue(__pyx_v_obj); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject *__pyx_v_obj) { - npy_timedelta __pyx_r; - - { - - __pyx_r = _PyTimedeltaScalarObject_GetValue(__pyx_v_obj); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObject *__pyx_v_obj) { - NPY_DATETIMEUNIT __pyx_r; - - { - - __pyx_r = _PyDatetimeScalarObject_GetMetadata(__pyx_v_obj).base; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static int __pyx_f_5talib_7_ta_lib__ta_begin_read(void) { - int __pyx_r; - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - - { - __pyx_t_1 = &__pyx_v_5talib_7_ta_lib__ta_gate; - __Pyx_Locks_PyMutex_Lock(*__pyx_t_1); - /*try:*/ { - - if (!__pyx_v_5talib_7_ta_lib__ta_writing) { - } else { - - __pyx_t_2 = __pyx_v_5talib_7_ta_lib__ta_writing; - goto __pyx_L7_bool_binop_done; - } - __pyx_t_3 = (!__pyx_v_5talib_7_ta_lib__ta_initialized); - - - __pyx_t_2 = __pyx_t_3; - - __pyx_L7_bool_binop_done:; - if (__pyx_t_2) { - - - { - - __pyx_r = 0; - } - goto __pyx_L3_return; - - } - - __pyx_v_5talib_7_ta_lib__ta_readers = (__pyx_v_5talib_7_ta_lib__ta_readers + 1); - - { - - __pyx_r = 1; - } - goto __pyx_L3_return; - } - - /*finally:*/ { - __pyx_L3_return: { - __pyx_t_2 = __pyx_r; - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - __pyx_r = __pyx_t_2; - goto __pyx_L0; - } - } - } - - - /* function exit code */ - __pyx_r = 0; - __pyx_L0:; - return __pyx_r; -} - - -static void __pyx_f_5talib_7_ta_lib__ta_end_read(void) { - __Pyx_Locks_PyMutex *__pyx_t_1; - - { - __pyx_t_1 = &__pyx_v_5talib_7_ta_lib__ta_gate; - __Pyx_Locks_PyMutex_Lock(*__pyx_t_1); - /*try:*/ { - - __pyx_v_5talib_7_ta_lib__ta_readers = (__pyx_v_5talib_7_ta_lib__ta_readers - 1); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ -} - - -static int __pyx_f_5talib_7_ta_lib__ta_begin_write(void) { - int __pyx_r; - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - - { - __pyx_t_1 = &__pyx_v_5talib_7_ta_lib__ta_gate; - __Pyx_Locks_PyMutex_Lock(*__pyx_t_1); - /*try:*/ { - - if (!__pyx_v_5talib_7_ta_lib__ta_writing) { - } else { - - __pyx_t_2 = __pyx_v_5talib_7_ta_lib__ta_writing; - goto __pyx_L7_bool_binop_done; - } - __pyx_t_3 = (__pyx_v_5talib_7_ta_lib__ta_readers != 0); - - if (!__pyx_t_3) { - - } else { - - __pyx_t_2 = __pyx_t_3; - - goto __pyx_L7_bool_binop_done; - } - __pyx_t_3 = (__pyx_v_5talib_7_ta_lib__ta_live_streams != 0); - - - __pyx_t_2 = __pyx_t_3; - - __pyx_L7_bool_binop_done:; - if (__pyx_t_2) { - - - { - - __pyx_r = 0; - } - goto __pyx_L3_return; - - } - - __pyx_v_5talib_7_ta_lib__ta_writing = 1; - - { - - __pyx_r = 1; - } - goto __pyx_L3_return; - } - - /*finally:*/ { - __pyx_L3_return: { - __pyx_t_2 = __pyx_r; - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - __pyx_r = __pyx_t_2; - goto __pyx_L0; - } - } - } - - - /* function exit code */ - __pyx_r = 0; - __pyx_L0:; - return __pyx_r; -} - - -static void __pyx_f_5talib_7_ta_lib__ta_end_write(void) { - __Pyx_Locks_PyMutex *__pyx_t_1; - - { - __pyx_t_1 = &__pyx_v_5talib_7_ta_lib__ta_gate; - __Pyx_Locks_PyMutex_Lock(*__pyx_t_1); - /*try:*/ { - - __pyx_v_5talib_7_ta_lib__ta_writing = 0; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ -} - - -static void __pyx_f_5talib_7_ta_lib__ta_stream_registered(void) { - __Pyx_Locks_PyMutex *__pyx_t_1; - - { - __pyx_t_1 = &__pyx_v_5talib_7_ta_lib__ta_gate; - __Pyx_Locks_PyMutex_Lock(*__pyx_t_1); - /*try:*/ { - - __pyx_v_5talib_7_ta_lib__ta_live_streams = (__pyx_v_5talib_7_ta_lib__ta_live_streams + 1); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ -} - - -static void __pyx_f_5talib_7_ta_lib__ta_stream_closed(void) { - __Pyx_Locks_PyMutex *__pyx_t_1; - - { - __pyx_t_1 = &__pyx_v_5talib_7_ta_lib__ta_gate; - __Pyx_Locks_PyMutex_Lock(*__pyx_t_1); - /*try:*/ { - - __pyx_v_5talib_7_ta_lib__ta_live_streams = (__pyx_v_5talib_7_ta_lib__ta_live_streams - 1); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ -} - - -static void __pyx_f_5talib_7_ta_lib__ta_acquire_read(void) { - int __pyx_v_acquired; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_acquire_read", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_acquired = __pyx_f_5talib_7_ta_lib__ta_begin_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_1 = (!__pyx_v_acquired); - - if (unlikely(__pyx_t_1)) { - - - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_TA_Lib_is_not_initialized_or_a_s}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 59, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(1, 59, __pyx_L1_error) - - } - - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib._ta_acquire_read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - - - __Pyx_RefNannyFinishContext(); -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_1__enter__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13_TA_ReadLease___enter__, "_TA_ReadLease.__enter__(self)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13_TA_ReadLease_1__enter__ = {"__enter__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_1__enter__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13_TA_ReadLease___enter__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_1__enter__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__enter__", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__enter__", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13_TA_ReadLease___enter__(((struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13_TA_ReadLease___enter__(CYTHON_UNUSED struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__enter__", 0); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 63, __pyx_L1_error) - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_AddTraceback("talib._ta_lib._TA_ReadLease.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_3__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13_TA_ReadLease_2__exit__, "_TA_ReadLease.__exit__(self, *args)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13_TA_ReadLease_3__exit__ = {"__exit__", (PyCFunction)(void(*)(void))(PyCFunctionWithKeywords)__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_3__exit__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13_TA_ReadLease_2__exit__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_3__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - CYTHON_UNUSED PyObject *__pyx_v_args = 0; - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0); - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__exit__", __pyx_kwds); return NULL;} - __Pyx_INCREF(__pyx_args); - __pyx_v_args = __pyx_args; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13_TA_ReadLease_2__exit__(((struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *)__pyx_v_self), __pyx_v_args); - - /* function exit code */ - __Pyx_DECREF(__pyx_v_args); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13_TA_ReadLease_2__exit__(CYTHON_UNUSED struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__exit__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_5__reduce_cython__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13_TA_ReadLease_4__reduce_cython__, "_TA_ReadLease.__reduce_cython__(self)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13_TA_ReadLease_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13_TA_ReadLease_4__reduce_cython__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_5__reduce_cython__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13_TA_ReadLease_4__reduce_cython__(((struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13_TA_ReadLease_4__reduce_cython__(struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *__pyx_v_self) { - PyObject *__pyx_v_state = 0; - PyObject *__pyx_v__dict = 0; - int __pyx_v_use_setstate; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__reduce_cython__", 0); - - { - __Pyx_PyCriticalSection __pyx_cs; - __pyx_t_1 = ((PyObject *)__pyx_v_self); - __Pyx_INCREF(__pyx_t_1); - __Pyx_PyCriticalSection_Begin(&__pyx_cs, (PyObject*)__pyx_t_1); - /*try:*/ { - - __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple); - __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple; - - __pyx_t_2 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_v__dict = __pyx_t_2; - __pyx_t_2 = 0; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_PyCriticalSection_End(&__pyx_cs); - goto __pyx_L5; - } - __pyx_L4_error: { - __Pyx_PyCriticalSection_End(&__pyx_cs); - goto __pyx_L1_error; - } - __pyx_L5:; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - - __pyx_t_4 = (__pyx_v__dict != Py_None); - if (__pyx_t_4) { - - } else { - - __pyx_t_3 = __pyx_t_4; - - goto __pyx_L7_bool_binop_done; - } - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(5, 8, __pyx_L1_error) - - __pyx_t_3 = __pyx_t_4; - - __pyx_L7_bool_binop_done:; - if (__pyx_t_3) { - - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v__dict); - __Pyx_GIVEREF(__pyx_v__dict); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 9, __pyx_L1_error); - __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_2)); - __pyx_t_2 = 0; - - __pyx_v_use_setstate = 1; - - goto __pyx_L6; - } - - /*else*/ { - __pyx_v_use_setstate = 0; - } - __pyx_L6:; - - if (__pyx_v_use_setstate) { - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_pyx_unpickle__TA_ReadLease); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 14, __pyx_L1_error); - __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788); - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 14, __pyx_L1_error); - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 14, __pyx_L1_error); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2) != (0)) __PYX_ERR(5, 14, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 14, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_state); - __Pyx_GIVEREF(__pyx_v_state); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 14, __pyx_L1_error); - __pyx_t_2 = 0; - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle__TA_ReadLease); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 16, __pyx_L1_error); - __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788); - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 16, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_state); - __Pyx_GIVEREF(__pyx_v_state); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 16, __pyx_L1_error); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 16, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 16, __pyx_L1_error); - __pyx_t_5 = 0; - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_2; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_2 = 0; - goto __pyx_L0; - } - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib._TA_ReadLease.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_state); - __Pyx_XDECREF(__pyx_v__dict); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_7__setstate_cython__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13_TA_ReadLease_6__setstate_cython__, "_TA_ReadLease.__setstate_cython__(self, __pyx_state)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13_TA_ReadLease_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13_TA_ReadLease_6__setstate_cython__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_7__setstate_cython__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v___pyx_state = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(5, 17, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 17, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 17, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 17, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 17, __pyx_L3_error) - } - __pyx_v___pyx_state = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 17, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._TA_ReadLease.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13_TA_ReadLease_6__setstate_cython__(((struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *)__pyx_v_self), __pyx_v___pyx_state); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13_TA_ReadLease_6__setstate_cython__(struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *__pyx_v_self, PyObject *__pyx_v___pyx_state) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__setstate_cython__", 0); - - __pyx_t_1 = __pyx_v___pyx_state; - __Pyx_INCREF(__pyx_t_1); - if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 18, __pyx_L1_error) - if (unlikely(__pyx_t_1 == Py_None)) { - PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared \047not None\047"); - __PYX_ERR(5, 18, __pyx_L1_error) - } - __pyx_t_2 = __pyx_f_5talib_7_ta_lib___pyx_unpickle__TA_ReadLease__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib._TA_ReadLease.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_1__enter__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14_TA_WriteLease___enter__, "_TA_WriteLease.__enter__(self)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_14_TA_WriteLease_1__enter__ = {"__enter__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_1__enter__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14_TA_WriteLease___enter__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_1__enter__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__enter__", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__enter__", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_14_TA_WriteLease___enter__(((struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14_TA_WriteLease___enter__(CYTHON_UNUSED struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *__pyx_v_self) { - int __pyx_v_acquired; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__enter__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_acquired = __pyx_f_5talib_7_ta_lib__ta_begin_write(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_1 = (!__pyx_v_acquired); - - if (unlikely(__pyx_t_1)) { - - - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_change_TA_Lib_settings_or}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 75, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(1, 75, __pyx_L1_error) - - } - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib._TA_WriteLease.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_3__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14_TA_WriteLease_2__exit__, "_TA_WriteLease.__exit__(self, *args)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_14_TA_WriteLease_3__exit__ = {"__exit__", (PyCFunction)(void(*)(void))(PyCFunctionWithKeywords)__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_3__exit__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14_TA_WriteLease_2__exit__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_3__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - CYTHON_UNUSED PyObject *__pyx_v_args = 0; - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0); - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__exit__", __pyx_kwds); return NULL;} - __Pyx_INCREF(__pyx_args); - __pyx_v_args = __pyx_args; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14_TA_WriteLease_2__exit__(((struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *)__pyx_v_self), __pyx_v_args); - - /* function exit code */ - __Pyx_DECREF(__pyx_v_args); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14_TA_WriteLease_2__exit__(CYTHON_UNUSED struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__exit__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_write(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_5__reduce_cython__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14_TA_WriteLease_4__reduce_cython__, "_TA_WriteLease.__reduce_cython__(self)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_14_TA_WriteLease_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14_TA_WriteLease_4__reduce_cython__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_5__reduce_cython__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_14_TA_WriteLease_4__reduce_cython__(((struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14_TA_WriteLease_4__reduce_cython__(struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *__pyx_v_self) { - PyObject *__pyx_v_state = 0; - PyObject *__pyx_v__dict = 0; - int __pyx_v_use_setstate; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__reduce_cython__", 0); - - { - __Pyx_PyCriticalSection __pyx_cs; - __pyx_t_1 = ((PyObject *)__pyx_v_self); - __Pyx_INCREF(__pyx_t_1); - __Pyx_PyCriticalSection_Begin(&__pyx_cs, (PyObject*)__pyx_t_1); - /*try:*/ { - - __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple); - __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple; - - __pyx_t_2 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_v__dict = __pyx_t_2; - __pyx_t_2 = 0; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_PyCriticalSection_End(&__pyx_cs); - goto __pyx_L5; - } - __pyx_L4_error: { - __Pyx_PyCriticalSection_End(&__pyx_cs); - goto __pyx_L1_error; - } - __pyx_L5:; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - - __pyx_t_4 = (__pyx_v__dict != Py_None); - if (__pyx_t_4) { - - } else { - - __pyx_t_3 = __pyx_t_4; - - goto __pyx_L7_bool_binop_done; - } - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(5, 8, __pyx_L1_error) - - __pyx_t_3 = __pyx_t_4; - - __pyx_L7_bool_binop_done:; - if (__pyx_t_3) { - - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v__dict); - __Pyx_GIVEREF(__pyx_v__dict); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 9, __pyx_L1_error); - __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_2)); - __pyx_t_2 = 0; - - __pyx_v_use_setstate = 1; - - goto __pyx_L6; - } - - /*else*/ { - __pyx_v_use_setstate = 0; - } - __pyx_L6:; - - if (__pyx_v_use_setstate) { - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_pyx_unpickle__TA_WriteLease); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 14, __pyx_L1_error); - __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788); - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 14, __pyx_L1_error); - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 14, __pyx_L1_error); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2) != (0)) __PYX_ERR(5, 14, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 14, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_state); - __Pyx_GIVEREF(__pyx_v_state); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 14, __pyx_L1_error); - __pyx_t_2 = 0; - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle__TA_WriteLease); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 16, __pyx_L1_error); - __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788); - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 16, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_state); - __Pyx_GIVEREF(__pyx_v_state); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 16, __pyx_L1_error); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 16, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 16, __pyx_L1_error); - __pyx_t_5 = 0; - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_2; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_2 = 0; - goto __pyx_L0; - } - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib._TA_WriteLease.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_state); - __Pyx_XDECREF(__pyx_v__dict); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_7__setstate_cython__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14_TA_WriteLease_6__setstate_cython__, "_TA_WriteLease.__setstate_cython__(self, __pyx_state)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_14_TA_WriteLease_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14_TA_WriteLease_6__setstate_cython__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_7__setstate_cython__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v___pyx_state = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(5, 17, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 17, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 17, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 17, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 17, __pyx_L3_error) - } - __pyx_v___pyx_state = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 17, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._TA_WriteLease.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14_TA_WriteLease_6__setstate_cython__(((struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *)__pyx_v_self), __pyx_v___pyx_state); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14_TA_WriteLease_6__setstate_cython__(struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *__pyx_v_self, PyObject *__pyx_v___pyx_state) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__setstate_cython__", 0); - - __pyx_t_1 = __pyx_v___pyx_state; - __Pyx_INCREF(__pyx_t_1); - if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 18, __pyx_L1_error) - if (unlikely(__pyx_t_1 == Py_None)) { - PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared \047not None\047"); - __PYX_ERR(5, 18, __pyx_L1_error) - } - __pyx_t_2 = __pyx_f_5talib_7_ta_lib___pyx_unpickle__TA_WriteLease__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib._TA_WriteLease.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static PyObject *__pyx_pw_5talib_7_ta_lib_1_ta_check_success(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyObject *__pyx_f_5talib_7_ta_lib__ta_check_success(PyObject *__pyx_v_function_name, TA_RetCode __pyx_v_ret_code, CYTHON_UNUSED int __pyx_skip_dispatch) { - PyObject *__pyx_v_description = NULL; - PyObject *__pyx_v_error = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7[5]; - Py_ssize_t __pyx_t_8; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - size_t __pyx_t_11; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_check_success", 0); - - switch (__pyx_v_ret_code) { - case 0: - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(Py_True); - __pyx_r = Py_True; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - break; - case 1: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Library_Not_Initialized_TA_LIB_N); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Library_Not_Initialized_TA_LIB_N; - - break; - case 2: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Bad_Parameter_TA_BAD_PARAM); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Bad_Parameter_TA_BAD_PARAM; - - break; - case 3: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Allocation_Error_TA_ALLOC_ERR); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Allocation_Error_TA_ALLOC_ERR; - - break; - case 4: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Group_Not_Found_TA_GROUP_NOT_FOU); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Group_Not_Found_TA_GROUP_NOT_FOU; - - break; - case 5: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Function_Not_Found_TA_FUNC_NOT_F); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Function_Not_Found_TA_FUNC_NOT_F; - - break; - case 6: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Invalid_Handle_TA_INVALID_HANDLE); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Invalid_Handle_TA_INVALID_HANDLE; - - break; - case 7: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Invalid_Parameter_Holder_TA_INVA); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Invalid_Parameter_Holder_TA_INVA; - - break; - case 8: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Invalid_Parameter_Holder_Type_TA); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Invalid_Parameter_Holder_Type_TA; - - break; - case 9: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Invalid_Parameter_Function_TA_IN); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Invalid_Parameter_Function_TA_IN; - - break; - case 10: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Input_Not_All_Initialized_TA_INP); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Input_Not_All_Initialized_TA_INP; - - break; - case 11: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Output_Not_All_Initialized_TA_OU); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Output_Not_All_Initialized_TA_OU; - - break; - case 12: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Out_of_Range_Start_Index_TA_OUT); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Out_of_Range_Start_Index_TA_OUT; - - break; - case 13: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Out_of_Range_End_Index_TA_OUT_OF); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Out_of_Range_End_Index_TA_OUT_OF; - - break; - case 14: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Invalid_List_Type_TA_INVALID_LIS); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Invalid_List_Type_TA_INVALID_LIS; - - break; - case 15: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Bad_Object_TA_BAD_OBJECT); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Bad_Object_TA_BAD_OBJECT; - - break; - case 16: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Not_Supported_TA_NOT_SUPPORTED); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Not_Supported_TA_NOT_SUPPORTED; - - break; - case 17: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Insufficient_History_TA_INSUFFIC); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Insufficient_History_TA_INSUFFIC; - - break; - case 0x1388: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Internal_Error_TA_INTERNAL_ERROR); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Internal_Error_TA_INTERNAL_ERROR; - - break; - case 0xFFFF: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Unknown_Error_TA_UNKNOWN_ERR); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Unknown_Error_TA_UNKNOWN_ERR; - - break; - default: - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Unknown_Error); - __pyx_v_description = __pyx_mstate_global->__pyx_kp_u_Unknown_Error; - break; - } - - __pyx_t_2 = (__pyx_v_ret_code == 17); - - if (__pyx_t_2) { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_InsufficientHistory); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __pyx_t_3; - __pyx_t_3 = 0; - } else { - __Pyx_INCREF((PyObject *)(((PyTypeObject*)PyExc_Exception))); - __pyx_t_1 = ((PyObject *)(((PyTypeObject*)PyExc_Exception))); - } - - __pyx_v_error = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = NULL; - __Pyx_INCREF(__pyx_v_error); - __pyx_t_4 = __pyx_v_error; - - __pyx_t_5 = __Pyx_PyUnicode_Unicode(__pyx_v_function_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyUnicode_From_TA_RetCode(__pyx_v_ret_code, 0, ' ', 'd'); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7[0] = __pyx_t_5; - __pyx_t_7[1] = __pyx_mstate_global->__pyx_kp_u_function_failed_with_error_code; - __pyx_t_7[2] = __pyx_t_6; - __pyx_t_7[3] = __pyx_mstate_global->__pyx_kp_u__2; - __pyx_t_7[4] = __pyx_v_description; - - __pyx_t_8 = 35; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7[0]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7[2]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7[4]); - #endif - __pyx_t_9 = 0; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_9 |= __Pyx_PyUnicode_KIND_04(__pyx_t_7[0]) | __Pyx_PyUnicode_KIND_04(__pyx_t_7[4]); - #endif - __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_7, 5, __pyx_t_8, __pyx_t_9); - if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_11 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - assert(__pyx_t_3); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_4, __pyx__function); - __pyx_t_11 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_10}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(1, 132, __pyx_L1_error) - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_AddTraceback("talib._ta_lib._ta_check_success", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_description); - __Pyx_XDECREF(__pyx_v_error); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_1_ta_check_success(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib__ta_check_success, "_ta_check_success(str function_name, TA_RetCode ret_code)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_1_ta_check_success = {"_ta_check_success", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_1_ta_check_success, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib__ta_check_success}; -static PyObject *__pyx_pw_5talib_7_ta_lib_1_ta_check_success(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_function_name = 0; - TA_RetCode __pyx_v_ret_code; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_check_success (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_function_name,&__pyx_mstate_global->__pyx_n_u_ret_code,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 88, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 88, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 88, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_ta_check_success", 0) < (0)) __PYX_ERR(1, 88, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_ta_check_success", 1, 2, 2, i); __PYX_ERR(1, 88, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 88, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 88, __pyx_L3_error) - } - __pyx_v_function_name = ((PyObject*)values[0]); - __pyx_v_ret_code = __Pyx_PyLong_As_TA_RetCode(values[1]); if (unlikely((__pyx_v_ret_code == ((TA_RetCode)-1)) && PyErr_Occurred())) __PYX_ERR(1, 88, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_ta_check_success", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 88, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._ta_check_success", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_function_name), (&PyUnicode_Type), 1, "function_name", 1))) __PYX_ERR(1, 88, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib__ta_check_success(__pyx_self, __pyx_v_function_name, __pyx_v_ret_code); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib__ta_check_success(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_function_name, TA_RetCode __pyx_v_ret_code) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_check_success", 0); - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_v_function_name, __pyx_v_ret_code, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib._ta_check_success", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_3_ta_initialize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_2_ta_initialize, "_ta_initialize()"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_3_ta_initialize = {"_ta_initialize", (PyCFunction)__pyx_pw_5talib_7_ta_lib_3_ta_initialize, METH_NOARGS, __pyx_doc_5talib_7_ta_lib_2_ta_initialize}; -static PyObject *__pyx_pw_5talib_7_ta_lib_3_ta_initialize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_initialize (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_2_ta_initialize(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_2_ta_initialize(CYTHON_UNUSED PyObject *__pyx_self) { - TA_RetCode __pyx_v_ret_code; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_initialize", 0); - - /*with:*/ { - __pyx_t_2 = NULL; - __pyx_t_3 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 138, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_1); - } - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 138, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - assert(__pyx_t_5); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_6, __pyx__function); - __pyx_t_3 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 138, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - /*try:*/ { - - __pyx_t_10 = (!__pyx_v_5talib_7_ta_lib__ta_initialized); - - if (__pyx_t_10) { - - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_ret_code = TA_Initialize(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_Initialize, __pyx_v_ret_code, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 142, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_v_5talib_7_ta_lib__ta_initialized = 1; - - } - - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /*except:*/ { - __Pyx_AddTraceback("talib._ta_lib._ta_initialize", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 138, __pyx_L9_except_error) - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_6); - { - PyObject* __pyx_temp[3] = {__pyx_t_1, __pyx_t_2, __pyx_t_6}; - __pyx_t_5 = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 138, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - } - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 138, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_10 < (0)) __PYX_ERR(1, 138, __pyx_L9_except_error) - __pyx_t_12 = (!__pyx_t_10); - - - if (unlikely(__pyx_t_12)) { - - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_6); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_6 = 0; - __PYX_ERR(1, 138, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L20; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L20:; - } - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib._ta_initialize", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_5_ta_shutdown(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_4_ta_shutdown, "_ta_shutdown(bool at_exit=False)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_5_ta_shutdown = {"_ta_shutdown", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_5_ta_shutdown, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_4_ta_shutdown}; -static PyObject *__pyx_pw_5talib_7_ta_lib_5_ta_shutdown(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - int __pyx_v_at_exit; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_shutdown (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_at_exit,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 145, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 145, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_ta_shutdown", 0) < (0)) __PYX_ERR(1, 145, __pyx_L3_error) - } else { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 145, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - } - if (values[0]) { - __pyx_v_at_exit = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_at_exit == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 145, __pyx_L3_error) - } else { - __pyx_v_at_exit = ((int)((int)0)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_ta_shutdown", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 145, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._ta_shutdown", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_4_ta_shutdown(__pyx_self, __pyx_v_at_exit); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_4_ta_shutdown(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_at_exit) { - TA_RetCode __pyx_v_ret_code; - int __pyx_v_acquired; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - char const *__pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_shutdown", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_acquired = __pyx_f_5talib_7_ta_lib__ta_begin_write(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_1 = (!__pyx_v_acquired); - - if (__pyx_t_1) { - - - if (__pyx_v_at_exit) { - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - } - - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_shut_down_TA_Lib_while_ca}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(1, 156, __pyx_L1_error) - - } - - /*try:*/ { - - if (__pyx_v_5talib_7_ta_lib__ta_initialized) { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_ret_code = TA_Shutdown(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L14; - } - __pyx_L14:; - } - } - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_Shutdown, __pyx_v_ret_code, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 161, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_v_5talib_7_ta_lib__ta_initialized = 0; - - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_write(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L17; - } - __pyx_L17:; - } - } - goto __pyx_L10; - } - __pyx_L9_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - if ( unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_write(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L22; - } - __pyx_L22:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7; - goto __pyx_L1_error; - } - __pyx_L10:; - } - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib._ta_shutdown", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_7MA_Type_1__init__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_7MA_Type___init__, "MA_Type.__init__(self)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_7MA_Type_1__init__ = {"__init__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_7MA_Type_1__init__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_7MA_Type___init__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_7MA_Type_1__init__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 171, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 171, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(1, 171, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(1, 171, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 171, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 171, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MA_Type.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_7MA_Type___init__(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_7MA_Type___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(14); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_SMA); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Simple_Moving_Average) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 174, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_EMA); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 174, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Exponential_Moving_Average) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 175, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_WMA); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 175, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Weighted_Moving_Average) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_DEMA); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Double_Exponential_Moving_Averag) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 177, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_TEMA); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 177, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Triple_Exponential_Moving_Averag) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_TRIMA); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Triangular_Moving_Average) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 179, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_KAMA); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 179, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Kaufman_Adaptive_Moving_Average) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_MAMA); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_mstate_global->__pyx_kp_u_MESA_Adaptive_Moving_Average) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_T3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Triple_Generalized_Double_Expone) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 182, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_HMA); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 182, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Hull_Moving_Average) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_DISABLED); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_mstate_global->__pyx_kp_u_No_Moving_Average_identity) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_DEFAULT); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_mstate_global->__pyx_kp_u_The_Function_s_Own_Default_Movin) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_ZLEMA); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Zero_Lag_Exponential_Moving_Aver) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_RMA); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Wilder_s_Smoothed_Moving_Average) < (0)) __PYX_ERR(1, 173, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_lookup, __pyx_t_1) < (0)) __PYX_ERR(1, 172, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MA_Type.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_7MA_Type_3__getitem__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_7MA_Type_2__getitem__, "MA_Type.__getitem__(self, type_)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_7MA_Type_3__getitem__ = {"__getitem__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_7MA_Type_3__getitem__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_7MA_Type_2__getitem__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_7MA_Type_3__getitem__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_type_ = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_type,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 189, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 189, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 189, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__getitem__", 0) < (0)) __PYX_ERR(1, 189, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__getitem__", 1, 2, 2, i); __PYX_ERR(1, 189, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 189, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 189, __pyx_L3_error) - } - __pyx_v_self = values[0]; - __pyx_v_type_ = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__getitem__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 189, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MA_Type.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_7MA_Type_2__getitem__(__pyx_self, __pyx_v_self, __pyx_v_type_); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_7MA_Type_2__getitem__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type_) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__getitem__", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_lookup); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 190, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_type_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 190, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_2; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_2 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MA_Type.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_7_ta_func_unst_id(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_6_ta_func_unst_id, "_ta_func_unst_id(name)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_7_ta_func_unst_id = {"_ta_func_unst_id", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_7_ta_func_unst_id, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_6_ta_func_unst_id}; -static PyObject *__pyx_pw_5talib_7_ta_lib_7_ta_func_unst_id(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_name = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_func_unst_id (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 238, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 238, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_ta_func_unst_id", 0) < (0)) __PYX_ERR(1, 238, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_ta_func_unst_id", 1, 1, 1, i); __PYX_ERR(1, 238, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 238, __pyx_L3_error) - } - __pyx_v_name = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_ta_func_unst_id", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 238, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._ta_func_unst_id", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_6_ta_func_unst_id(__pyx_self, __pyx_v_name); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_6_ta_func_unst_id(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8[4]; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - size_t __pyx_t_11; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_func_unst_id", 0); - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ta_func_unst_retired); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 239, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_1, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 239, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - - - __pyx_t_3 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_warnings); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_warn); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_name), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ta_func_unst_retired); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_7), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_8[0] = __pyx_mstate_global->__pyx_kp_u_unstable_period; - __pyx_t_8[1] = __pyx_t_4; - __pyx_t_8[2] = __pyx_mstate_global->__pyx_kp_u_is_deprecated_and_has_no_effect; - __pyx_t_8[3] = __pyx_t_6; - - __pyx_t_9 = 52; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8[1]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8[3]); - #endif - __pyx_t_10 = 0; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_10 |= __Pyx_PyUnicode_KIND_04(__pyx_t_8[1]) | __Pyx_PyUnicode_KIND_04(__pyx_t_8[3]); - #endif - __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_8, 4, __pyx_t_9, __pyx_t_10); - if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 241, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_11 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - assert(__pyx_t_3); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_5, __pyx__function); - __pyx_t_11 = 0; - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_t_7, ((PyObject *)(((PyTypeObject*)PyExc_DeprecationWarning))), __pyx_mstate_global->__pyx_int_3}; - #if CYTHON_VECTORCALL - __pyx_t_6 = __pyx_mstate_global->__pyx_tuple[1]; - if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 240, __pyx_L1_error) - __Pyx_INCREF(__pyx_t_6); - #else - { - PyObject *__pyx_temp[1] = {__pyx_mstate_global->__pyx_n_u_stacklevel}; - __pyx_t_6 = __Pyx_MakeKwargDict(__pyx_temp, __pyx_callargs+3, 1); - if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - } - #endif - __pyx_t_1 = __Pyx_Object_VectorcallKwds((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_11, (3-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ta_func_unst_ids); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 245, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 245, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("talib._ta_lib._ta_func_unst_id", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9_ta_set_unstable_period(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8_ta_set_unstable_period, "_ta_set_unstable_period(name, period)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_9_ta_set_unstable_period = {"_ta_set_unstable_period", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9_ta_set_unstable_period, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8_ta_set_unstable_period}; -static PyObject *__pyx_pw_5talib_7_ta_lib_9_ta_set_unstable_period(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_name = 0; - PyObject *__pyx_v_period = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_set_unstable_period (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_period,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 247, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 247, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 247, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_ta_set_unstable_period", 0) < (0)) __PYX_ERR(1, 247, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_ta_set_unstable_period", 1, 2, 2, i); __PYX_ERR(1, 247, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 247, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 247, __pyx_L3_error) - } - __pyx_v_name = values[0]; - __pyx_v_period = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_ta_set_unstable_period", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 247, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._ta_set_unstable_period", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8_ta_set_unstable_period(__pyx_self, __pyx_v_name, __pyx_v_period); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8_ta_set_unstable_period(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name, PyObject *__pyx_v_period) { - TA_RetCode __pyx_v_ret_code; - TA_FuncUnstId __pyx_v_id; - unsigned int __pyx_v_c_period; - PyObject *__pyx_v_unst_id = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - int __pyx_t_5; - TA_FuncUnstId __pyx_t_6; - unsigned int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_set_unstable_period", 0); - - __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ta_func_unst_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - assert(__pyx_t_2); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_3, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_v_unst_id = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_5 = (__pyx_v_unst_id == Py_None); - if (__pyx_t_5) { - - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - } - - __pyx_t_6 = __Pyx_PyLong_As_TA_FuncUnstId(__pyx_v_unst_id); if (unlikely((__pyx_t_6 == ((TA_FuncUnstId)-1)) && PyErr_Occurred())) __PYX_ERR(1, 254, __pyx_L1_error) - __pyx_v_id = __pyx_t_6; - - __pyx_t_7 = __Pyx_PyLong_As_unsigned_int(__pyx_v_period); if (unlikely((__pyx_t_7 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 255, __pyx_L1_error) - __pyx_v_c_period = __pyx_t_7; - - /*with:*/ { - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 256, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_1); - } - __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_2 = NULL; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 256, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); - assert(__pyx_t_2); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_9, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 256, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - (void)__pyx_t_10; (void)__pyx_t_11; (void)__pyx_t_12; /* mark used */ - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_ret_code = TA_SetUnstablePeriod(__pyx_v_id, __pyx_v_c_period); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - - } - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_8) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L7; - } - __pyx_L7:; - } - goto __pyx_L17; - __pyx_L4_error:; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L1_error; - __pyx_L17:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SetUnstablePeriod, __pyx_v_ret_code, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 259, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_AddTraceback("talib._ta_lib._ta_set_unstable_period", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XDECREF(__pyx_v_unst_id); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11_ta_get_unstable_period(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10_ta_get_unstable_period, "_ta_get_unstable_period(name)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11_ta_get_unstable_period = {"_ta_get_unstable_period", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11_ta_get_unstable_period, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10_ta_get_unstable_period}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11_ta_get_unstable_period(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_name = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_get_unstable_period (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 261, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 261, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_ta_get_unstable_period", 0) < (0)) __PYX_ERR(1, 261, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_ta_get_unstable_period", 1, 1, 1, i); __PYX_ERR(1, 261, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 261, __pyx_L3_error) - } - __pyx_v_name = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_ta_get_unstable_period", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 261, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._ta_get_unstable_period", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10_ta_get_unstable_period(__pyx_self, __pyx_v_name); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10_ta_get_unstable_period(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name) { - unsigned int __pyx_v_period; - TA_FuncUnstId __pyx_v_id; - PyObject *__pyx_v_unst_id = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - int __pyx_t_5; - TA_FuncUnstId __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_get_unstable_period", 0); - - __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ta_func_unst_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - assert(__pyx_t_2); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_3, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_v_unst_id = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_5 = (__pyx_v_unst_id == Py_None); - if (__pyx_t_5) { - - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0); - __pyx_r = __pyx_mstate_global->__pyx_int_0; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - } - - __pyx_t_6 = __Pyx_PyLong_As_TA_FuncUnstId(__pyx_v_unst_id); if (unlikely((__pyx_t_6 == ((TA_FuncUnstId)-1)) && PyErr_Occurred())) __PYX_ERR(1, 267, __pyx_L1_error) - __pyx_v_id = __pyx_t_6; - - /*with:*/ { - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 268, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_1); - } - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_2 = NULL; - __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 268, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8); - assert(__pyx_t_2); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_8, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 268, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - (void)__pyx_t_9; (void)__pyx_t_10; (void)__pyx_t_11; /* mark used */ - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_period = TA_GetUnstablePeriod(__pyx_v_id); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - - } - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_7) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L7; - } - __pyx_L7:; - } - goto __pyx_L17; - __pyx_L4_error:; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L1_error; - __pyx_L17:; - } - - __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(__pyx_v_period); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 271, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("talib._ta_lib._ta_get_unstable_period", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XDECREF(__pyx_v_unst_id); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13_ta_set_compatibility(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12_ta_set_compatibility, "_ta_set_compatibility(value)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13_ta_set_compatibility = {"_ta_set_compatibility", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13_ta_set_compatibility, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12_ta_set_compatibility}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13_ta_set_compatibility(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_value = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_set_compatibility (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 273, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 273, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_ta_set_compatibility", 0) < (0)) __PYX_ERR(1, 273, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_ta_set_compatibility", 1, 1, 1, i); __PYX_ERR(1, 273, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 273, __pyx_L3_error) - } - __pyx_v_value = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_ta_set_compatibility", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 273, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._ta_set_compatibility", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12_ta_set_compatibility(__pyx_self, __pyx_v_value); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12_ta_set_compatibility(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_value) { - TA_RetCode __pyx_v_ret_code; - int __pyx_v_c_value; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_set_compatibility", 0); - - __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 275, __pyx_L1_error) - __pyx_v_c_value = __pyx_t_1; - - /*with:*/ { - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 276, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_2); - } - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 276, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); - assert(__pyx_t_6); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_7, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 276, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - (void)__pyx_t_8; (void)__pyx_t_9; (void)__pyx_t_10; /* mark used */ - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_ret_code = TA_SetCompatibility(__pyx_v_c_value); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - - } - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_5) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SetCompatibility, __pyx_v_ret_code, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 279, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("talib._ta_lib._ta_set_compatibility", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15_ta_get_compatibility(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14_ta_get_compatibility, "_ta_get_compatibility()"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15_ta_get_compatibility = {"_ta_get_compatibility", (PyCFunction)__pyx_pw_5talib_7_ta_lib_15_ta_get_compatibility, METH_NOARGS, __pyx_doc_5talib_7_ta_lib_14_ta_get_compatibility}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15_ta_get_compatibility(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_get_compatibility (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_14_ta_get_compatibility(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14_ta_get_compatibility(CYTHON_UNUSED PyObject *__pyx_self) { - int __pyx_v_value; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_get_compatibility", 0); - - /*with:*/ { - __pyx_t_2 = NULL; - __pyx_t_3 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 283, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_1); - } - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 283, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 283, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - assert(__pyx_t_5); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_6, __pyx__function); - __pyx_t_3 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 283, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - (void)__pyx_t_7; (void)__pyx_t_8; (void)__pyx_t_9; /* mark used */ - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_value = TA_GetCompatibility(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - - } - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 283, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 286, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib._ta_get_compatibility", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17_ta_set_candle_settings(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16_ta_set_candle_settings, "_ta_set_candle_settings(int settingtype, int rangetype, int avgperiod, double factor)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_17_ta_set_candle_settings = {"_ta_set_candle_settings", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17_ta_set_candle_settings, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16_ta_set_candle_settings}; -static PyObject *__pyx_pw_5talib_7_ta_lib_17_ta_set_candle_settings(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - int __pyx_v_settingtype; - int __pyx_v_rangetype; - int __pyx_v_avgperiod; - double __pyx_v_factor; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_set_candle_settings (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_settingtype,&__pyx_mstate_global->__pyx_n_u_rangetype,&__pyx_mstate_global->__pyx_n_u_avgperiod,&__pyx_mstate_global->__pyx_n_u_factor,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 300, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(1, 300, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 300, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 300, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 300, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_ta_set_candle_settings", 0) < (0)) __PYX_ERR(1, 300, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_ta_set_candle_settings", 1, 4, 4, i); __PYX_ERR(1, 300, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 300, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 300, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 300, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(1, 300, __pyx_L3_error) - } - __pyx_v_settingtype = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_settingtype == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 300, __pyx_L3_error) - __pyx_v_rangetype = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_rangetype == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 300, __pyx_L3_error) - __pyx_v_avgperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_avgperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 300, __pyx_L3_error) - __pyx_v_factor = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_factor == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 300, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_ta_set_candle_settings", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 300, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._ta_set_candle_settings", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16_ta_set_candle_settings(__pyx_self, __pyx_v_settingtype, __pyx_v_rangetype, __pyx_v_avgperiod, __pyx_v_factor); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16_ta_set_candle_settings(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_settingtype, int __pyx_v_rangetype, int __pyx_v_avgperiod, double __pyx_v_factor) { - TA_RetCode __pyx_v_ret_code; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_set_candle_settings", 0); - - /*with:*/ { - __pyx_t_2 = NULL; - __pyx_t_3 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 302, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_1); - } - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 302, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 302, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - assert(__pyx_t_5); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_6, __pyx__function); - __pyx_t_3 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 302, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - (void)__pyx_t_7; (void)__pyx_t_8; (void)__pyx_t_9; /* mark used */ - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_ret_code = TA_SetCandleSettings(__pyx_v_settingtype, __pyx_v_rangetype, __pyx_v_avgperiod, __pyx_v_factor); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - - } - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 302, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SetCandleSettings, __pyx_v_ret_code, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib._ta_set_candle_settings", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19_ta_restore_candle_default_settings(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18_ta_restore_candle_default_settings, "_ta_restore_candle_default_settings(int settingtype)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_19_ta_restore_candle_default_settings = {"_ta_restore_candle_default_settings", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19_ta_restore_candle_default_settings, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18_ta_restore_candle_default_settings}; -static PyObject *__pyx_pw_5talib_7_ta_lib_19_ta_restore_candle_default_settings(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - int __pyx_v_settingtype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_restore_candle_default_settings (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_settingtype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 307, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 307, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_ta_restore_candle_default_settings", 0) < (0)) __PYX_ERR(1, 307, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_ta_restore_candle_default_settings", 1, 1, 1, i); __PYX_ERR(1, 307, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 307, __pyx_L3_error) - } - __pyx_v_settingtype = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_settingtype == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 307, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_ta_restore_candle_default_settings", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 307, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._ta_restore_candle_default_settings", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18_ta_restore_candle_default_settings(__pyx_self, __pyx_v_settingtype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18_ta_restore_candle_default_settings(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_settingtype) { - TA_RetCode __pyx_v_ret_code; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_restore_candle_default_settings", 0); - - /*with:*/ { - __pyx_t_2 = NULL; - __pyx_t_3 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 309, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_1); - } - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 309, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - assert(__pyx_t_5); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_6, __pyx__function); - __pyx_t_3 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 309, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - (void)__pyx_t_7; (void)__pyx_t_8; (void)__pyx_t_9; /* mark used */ - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_ret_code = TA_RestoreCandleDefaultSettings(__pyx_v_settingtype); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - - } - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RestoreCandleDefaultSettings, __pyx_v_ret_code, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 312, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib._ta_restore_candle_default_settings", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static PyArrayObject *__pyx_f_5talib_7_ta_lib_check_array(PyArrayObject *__pyx_v_real) { - PyArrayObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("check_array", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = (PyArray_TYPE(__pyx_v_real) != NPY_DOUBLE); - - if (unlikely(__pyx_t_1)) { - - - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_input_array_type_is_not_double}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(6, 22, __pyx_L1_error) - - } - - __pyx_t_1 = (__pyx_f_5numpy_7ndarray_4ndim___get__(__pyx_v_real) != 1); - - if (unlikely(__pyx_t_1)) { - - - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_input_array_has_wrong_dimensions}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(6, 24, __pyx_L1_error) - - } - - __pyx_t_1 = (!((PyArray_FLAGS(__pyx_v_real) & NPY_ARRAY_C_CONTIGUOUS) != 0)); - - if (__pyx_t_1) { - - - __pyx_t_2 = ((PyObject *)PyArray_GETCONTIGUOUS(__pyx_v_real)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_2)); - __pyx_t_2 = 0; - - } - - { - PyArrayObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_real); - __pyx_r = __pyx_v_real; - } - __Pyx_XDECREF((PyObject *)__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.check_array", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF((PyObject *)__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static npy_intp __pyx_f_5talib_7_ta_lib_check_length2(PyArrayObject *__pyx_v_a1, PyArrayObject *__pyx_v_a2) { - npy_intp __pyx_v_length; - npy_intp __pyx_r; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("check_length2", 0); - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_a1)[0]); - - __pyx_t_1 = (__pyx_v_length != (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_a2)[0])); - - if (unlikely(__pyx_t_1)) { - - - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_input_array_lengths_are_differen}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(6, 34, __pyx_L1_error) - - } - - { - - __pyx_r = __pyx_v_length; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.check_length2", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1L; - __pyx_L0:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static npy_intp __pyx_f_5talib_7_ta_lib_check_length3(PyArrayObject *__pyx_v_a1, PyArrayObject *__pyx_v_a2, PyArrayObject *__pyx_v_a3) { - npy_intp __pyx_v_length; - npy_intp __pyx_r; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("check_length3", 0); - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_a1)[0]); - - __pyx_t_1 = (__pyx_v_length != (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_a2)[0])); - - if (unlikely(__pyx_t_1)) { - - - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_input_array_lengths_are_differen}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 42, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(6, 42, __pyx_L1_error) - - } - - __pyx_t_1 = (__pyx_v_length != (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_a3)[0])); - - if (unlikely(__pyx_t_1)) { - - - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_input_array_lengths_are_differen}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 44, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(6, 44, __pyx_L1_error) - - } - - { - - __pyx_r = __pyx_v_length; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.check_length3", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1L; - __pyx_L0:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static npy_intp __pyx_f_5talib_7_ta_lib_check_length4(PyArrayObject *__pyx_v_a1, PyArrayObject *__pyx_v_a2, PyArrayObject *__pyx_v_a3, PyArrayObject *__pyx_v_a4) { - npy_intp __pyx_v_length; - npy_intp __pyx_r; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("check_length4", 0); - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_a1)[0]); - - __pyx_t_1 = (__pyx_v_length != (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_a2)[0])); - - if (unlikely(__pyx_t_1)) { - - - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_input_array_lengths_are_differen}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(6, 52, __pyx_L1_error) - - } - - __pyx_t_1 = (__pyx_v_length != (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_a3)[0])); - - if (unlikely(__pyx_t_1)) { - - - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_input_array_lengths_are_differen}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 54, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(6, 54, __pyx_L1_error) - - } - - __pyx_t_1 = (__pyx_v_length != (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_a4)[0])); - - if (unlikely(__pyx_t_1)) { - - - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_input_array_lengths_are_differen}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(6, 56, __pyx_L1_error) - - } - - { - - __pyx_r = __pyx_v_length; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.check_length4", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1L; - __pyx_L0:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static npy_int __pyx_f_5talib_7_ta_lib_check_begidx1(npy_intp __pyx_v_length, double *__pyx_v_a1) { - double __pyx_v_val; - long __pyx_v_i; - npy_int __pyx_r; - npy_intp __pyx_t_1; - int __pyx_t_2; - - __pyx_t_1 = __pyx_v_length; - - for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { - - __pyx_v_val = (__pyx_v_a1[__pyx_v_i]); - - __pyx_t_2 = (__pyx_v_val != __pyx_v_val); - - if (__pyx_t_2) { - - - goto __pyx_L3_continue; - - } - - { - - __pyx_r = __pyx_v_i; - } - goto __pyx_L0; - __pyx_L3_continue:; - } - /*else*/ { - - { - - __pyx_r = (__pyx_v_length - 1); - } - goto __pyx_L0; - } - - - - /* function exit code */ - __pyx_L0:; - - - return __pyx_r; -} - - -static npy_int __pyx_f_5talib_7_ta_lib_check_begidx2(npy_intp __pyx_v_length, double *__pyx_v_a1, double *__pyx_v_a2) { - double __pyx_v_val; - long __pyx_v_i; - npy_int __pyx_r; - npy_intp __pyx_t_1; - int __pyx_t_2; - - __pyx_t_1 = __pyx_v_length; - - for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { - - __pyx_v_val = (__pyx_v_a1[__pyx_v_i]); - - __pyx_t_2 = (__pyx_v_val != __pyx_v_val); - - if (__pyx_t_2) { - - - goto __pyx_L3_continue; - - } - - __pyx_v_val = (__pyx_v_a2[__pyx_v_i]); - - __pyx_t_2 = (__pyx_v_val != __pyx_v_val); - - if (__pyx_t_2) { - - - goto __pyx_L3_continue; - - } - - { - - __pyx_r = __pyx_v_i; - } - goto __pyx_L0; - __pyx_L3_continue:; - } - /*else*/ { - - { - - __pyx_r = (__pyx_v_length - 1); - } - goto __pyx_L0; - } - - - - /* function exit code */ - __pyx_L0:; - - - return __pyx_r; -} - - -static npy_int __pyx_f_5talib_7_ta_lib_check_begidx3(npy_intp __pyx_v_length, double *__pyx_v_a1, double *__pyx_v_a2, double *__pyx_v_a3) { - double __pyx_v_val; - long __pyx_v_i; - npy_int __pyx_r; - npy_intp __pyx_t_1; - int __pyx_t_2; - - __pyx_t_1 = __pyx_v_length; - - for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { - - __pyx_v_val = (__pyx_v_a1[__pyx_v_i]); - - __pyx_t_2 = (__pyx_v_val != __pyx_v_val); - - if (__pyx_t_2) { - - - goto __pyx_L3_continue; - - } - - __pyx_v_val = (__pyx_v_a2[__pyx_v_i]); - - __pyx_t_2 = (__pyx_v_val != __pyx_v_val); - - if (__pyx_t_2) { - - - goto __pyx_L3_continue; - - } - - __pyx_v_val = (__pyx_v_a3[__pyx_v_i]); - - __pyx_t_2 = (__pyx_v_val != __pyx_v_val); - - if (__pyx_t_2) { - - - goto __pyx_L3_continue; - - } - - { - - __pyx_r = __pyx_v_i; - } - goto __pyx_L0; - __pyx_L3_continue:; - } - /*else*/ { - - { - - __pyx_r = (__pyx_v_length - 1); - } - goto __pyx_L0; - } - - - - /* function exit code */ - __pyx_L0:; - - - return __pyx_r; -} - - -static npy_int __pyx_f_5talib_7_ta_lib_check_begidx4(npy_intp __pyx_v_length, double *__pyx_v_a1, double *__pyx_v_a2, double *__pyx_v_a3, double *__pyx_v_a4) { - double __pyx_v_val; - long __pyx_v_i; - npy_int __pyx_r; - npy_intp __pyx_t_1; - int __pyx_t_2; - - __pyx_t_1 = __pyx_v_length; - - for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { - - __pyx_v_val = (__pyx_v_a1[__pyx_v_i]); - - __pyx_t_2 = (__pyx_v_val != __pyx_v_val); - - if (__pyx_t_2) { - - - goto __pyx_L3_continue; - - } - - __pyx_v_val = (__pyx_v_a2[__pyx_v_i]); - - __pyx_t_2 = (__pyx_v_val != __pyx_v_val); - - if (__pyx_t_2) { - - - goto __pyx_L3_continue; - - } - - __pyx_v_val = (__pyx_v_a3[__pyx_v_i]); - - __pyx_t_2 = (__pyx_v_val != __pyx_v_val); - - if (__pyx_t_2) { - - - goto __pyx_L3_continue; - - } - - __pyx_v_val = (__pyx_v_a4[__pyx_v_i]); - - __pyx_t_2 = (__pyx_v_val != __pyx_v_val); - - if (__pyx_t_2) { - - - goto __pyx_L3_continue; - - } - - { - - __pyx_r = __pyx_v_i; - } - goto __pyx_L0; - __pyx_L3_continue:; - } - /*else*/ { - - { - - __pyx_r = (__pyx_v_length - 1); - } - goto __pyx_L0; - } - - - - /* function exit code */ - __pyx_L0:; - - - return __pyx_r; -} - - -static PyArrayObject *__pyx_f_5talib_7_ta_lib_make_double_array(npy_intp __pyx_v_length, int __pyx_v_lookback) { - PyArrayObject *__pyx_v_outreal = 0; - double *__pyx_v_outreal_data; - long __pyx_v_i; - PyArrayObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - npy_intp __pyx_t_4; - int __pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("make_double_array", 0); - - __pyx_t_1 = ((PyObject *)PyArray_EMPTY(1, (&__pyx_v_length), NPY_DOUBLE, NPY_ARRAY_DEFAULT)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 125, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_v_outreal_data = ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - - __pyx_t_2 = __pyx_v_length; - - __pyx_t_3 = __pyx_v_lookback; - __pyx_t_5 = (__pyx_t_2 < __pyx_t_3); - - if (__pyx_t_5) { - - __pyx_t_4 = __pyx_t_2; - } else { - - __pyx_t_4 = __pyx_t_3; - } - - __pyx_t_2 = __pyx_t_4; - - - for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_2; __pyx_v_i++) { - - (__pyx_v_outreal_data[__pyx_v_i]) = __pyx_v_5talib_7_ta_lib_NaN; - } - - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - { - PyArrayObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = __pyx_v_outreal; - } - __Pyx_XDECREF((PyObject *)__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.make_double_array", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - __Pyx_XGIVEREF((PyObject *)__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static PyArrayObject *__pyx_f_5talib_7_ta_lib_make_int_array(npy_intp __pyx_v_length, int __pyx_v_lookback) { - PyArrayObject *__pyx_v_outinteger = 0; - int *__pyx_v_outinteger_data; - long __pyx_v_i; - PyArrayObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - npy_intp __pyx_t_4; - int __pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("make_int_array", 0); - - __pyx_t_1 = ((PyObject *)PyArray_EMPTY(1, (&__pyx_v_length), NPY_INT32, NPY_ARRAY_DEFAULT)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_v_outinteger_data = ((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - - __pyx_t_2 = __pyx_v_length; - - __pyx_t_3 = __pyx_v_lookback; - __pyx_t_5 = (__pyx_t_2 < __pyx_t_3); - - if (__pyx_t_5) { - - __pyx_t_4 = __pyx_t_2; - } else { - - __pyx_t_4 = __pyx_t_3; - } - - __pyx_t_2 = __pyx_t_4; - - - for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_2; __pyx_v_i++) { - - (__pyx_v_outinteger_data[__pyx_v_i]) = 0; - } - - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - { - PyArrayObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = __pyx_v_outinteger; - } - __Pyx_XDECREF((PyObject *)__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.make_int_array", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - __Pyx_XGIVEREF((PyObject *)__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21AC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_20AC, "AC(ndarray high, ndarray low, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int signalperiod=-0x80000000)\n\nAC(high, low[, fastperiod=?, slowperiod=?, signalperiod=?])\n\nAccelerator/Decelerator Oscillator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n fastperiod: 5\n slowperiod: 34\n signalperiod: 5\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_21AC = {"AC", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21AC, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_20AC}; -static PyObject *__pyx_pw_5talib_7_ta_lib_21AC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_signalperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("AC (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_signalperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 144, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 144, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 144, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 144, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 144, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 144, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "AC", 0) < (0)) __PYX_ERR(6, 144, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("AC", 0, 2, 5, i); __PYX_ERR(6, 144, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 144, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 144, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 144, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 144, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 144, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 146, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)((int)-2147483648)); - } - if (values[3]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 146, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)((int)-2147483648)); - } - if (values[4]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 146, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("AC", 0, 2, 5, __pyx_nargs); __PYX_ERR(6, 144, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 146, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 146, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_20AC(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_20AC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("AC", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 168, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 169, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 175, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AC_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 179, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AC(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AC, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.AC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23ACCBANDS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22ACCBANDS, "ACCBANDS(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000)\n\nACCBANDS(high, low, close[, timeperiod=?])\n\nAcceleration Bands (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 20\nOutputs:\n upperband\n middleband\n lowerband"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_23ACCBANDS = {"ACCBANDS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23ACCBANDS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22ACCBANDS}; -static PyObject *__pyx_pw_5talib_7_ta_lib_23ACCBANDS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ACCBANDS (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 188, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 188, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 188, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 188, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 188, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ACCBANDS", 0) < (0)) __PYX_ERR(6, 188, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ACCBANDS", 0, 3, 4, i); __PYX_ERR(6, 188, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 188, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 188, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 188, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 188, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 190, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ACCBANDS", 0, 3, 4, __pyx_nargs); __PYX_ERR(6, 188, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ACCBANDS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 190, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 190, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 190, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_22ACCBANDS(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22ACCBANDS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outrealupperband = 0; - PyArrayObject *__pyx_v_outrealmiddleband = 0; - PyArrayObject *__pyx_v_outreallowerband = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - int __pyx_t_8; - char const *__pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ACCBANDS", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 216, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 218, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 218, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 218, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 218, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 218, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(6, 218, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(6, 218, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 222, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ACCBANDS_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_6 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 226, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_outrealupperband = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; - - __pyx_t_6 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 227, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_outrealmiddleband = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; - - __pyx_t_6 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 228, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_outreallowerband = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ACCBANDS(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outrealupperband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outrealmiddleband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreallowerband)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); - if ( unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __pyx_t_7 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_9; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_6 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ACCBANDS, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 234, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 235, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_INCREF((PyObject *)__pyx_v_outrealupperband); - __Pyx_GIVEREF((PyObject *)__pyx_v_outrealupperband); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_outrealupperband)) != (0)) __PYX_ERR(6, 235, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outrealmiddleband); - __Pyx_GIVEREF((PyObject *)__pyx_v_outrealmiddleband); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_outrealmiddleband)) != (0)) __PYX_ERR(6, 235, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outreallowerband); - __Pyx_GIVEREF((PyObject *)__pyx_v_outreallowerband); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, ((PyObject *)__pyx_v_outreallowerband)) != (0)) __PYX_ERR(6, 235, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.ACCBANDS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outrealupperband); - __Pyx_XDECREF((PyObject *)__pyx_v_outrealmiddleband); - __Pyx_XDECREF((PyObject *)__pyx_v_outreallowerband); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25ACOS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24ACOS, "ACOS(ndarray real)\n\nACOS(real)\n\nVector Trigonometric ACos (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_25ACOS = {"ACOS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25ACOS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24ACOS}; -static PyObject *__pyx_pw_5talib_7_ta_lib_25ACOS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ACOS (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 237, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 237, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ACOS", 0) < (0)) __PYX_ERR(6, 237, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ACOS", 1, 1, 1, i); __PYX_ERR(6, 237, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 237, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ACOS", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 237, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ACOS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 239, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_24ACOS(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24ACOS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ACOS", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 259, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 263, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ACOS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 267, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ACOS(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ACOS, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 273, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ACOS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_27AD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26AD, "AD(ndarray high, ndarray low, ndarray close, ndarray volume)\n\nAD(high, low, close, volume)\n\nChaikin A/D Line (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_27AD = {"AD", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_27AD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26AD}; -static PyObject *__pyx_pw_5talib_7_ta_lib_27AD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - PyArrayObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("AD (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 276, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 276, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 276, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 276, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 276, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "AD", 0) < (0)) __PYX_ERR(6, 276, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("AD", 1, 4, 4, i); __PYX_ERR(6, 276, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 276, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 276, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 276, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 276, __pyx_L3_error) - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - __pyx_v_volume = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("AD", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 276, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 278, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 278, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 278, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 278, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_26AD(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26AD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("AD", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 295, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 296, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 297, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 299, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 301, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 305, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AD_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 309, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AD(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AD, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.AD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_29ADD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_28ADD, "ADD(ndarray real0, ndarray real1)\n\nADD(real0, real1)\n\nVector Arithmetic Add (Math Operators)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_29ADD = {"ADD", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_29ADD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_28ADD}; -static PyObject *__pyx_pw_5talib_7_ta_lib_29ADD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real0 = 0; - PyArrayObject *__pyx_v_real1 = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ADD (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 318, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 318, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 318, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ADD", 0) < (0)) __PYX_ERR(6, 318, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ADD", 1, 2, 2, i); __PYX_ERR(6, 318, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 318, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 318, __pyx_L3_error) - } - __pyx_v_real0 = ((PyArrayObject *)values[0]); - __pyx_v_real1 = ((PyArrayObject *)values[1]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ADD", 1, 2, 2, __pyx_nargs); __PYX_ERR(6, 318, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real0), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real0", 0))) __PYX_ERR(6, 320, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real1), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real1", 0))) __PYX_ERR(6, 320, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_28ADD(__pyx_self, __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_28ADD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real0, PyArrayObject *__pyx_v_real1) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ADD", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real0); - __Pyx_INCREF((PyObject *)__pyx_v_real1); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real0, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real1, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_real0, __pyx_v_real1); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 340, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 342, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real0)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real1))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 346, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ADD_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 350, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ADD(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real1)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADD, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 356, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ADD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_real1); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_31ADOSC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_30ADOSC, "ADOSC(ndarray high, ndarray low, ndarray close, ndarray volume, int fastperiod=-0x80000000, int slowperiod=-0x80000000)\n\nADOSC(high, low, close, volume[, fastperiod=?, slowperiod=?])\n\nChaikin A/D Oscillator (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nParameters:\n fastperiod: 3\n slowperiod: 10\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_31ADOSC = {"ADOSC", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_31ADOSC, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_30ADOSC}; -static PyObject *__pyx_pw_5talib_7_ta_lib_31ADOSC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - PyArrayObject *__pyx_v_volume = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[6] = {0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ADOSC (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 359, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 359, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 359, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 359, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 359, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 359, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 359, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ADOSC", 0) < (0)) __PYX_ERR(6, 359, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ADOSC", 0, 4, 6, i); __PYX_ERR(6, 359, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 359, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 359, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 359, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 359, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 359, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 359, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - __pyx_v_volume = ((PyArrayObject *)values[3]); - if (values[4]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 361, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)((int)-2147483648)); - } - if (values[5]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 361, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ADOSC", 0, 4, 6, __pyx_nargs); __PYX_ERR(6, 359, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADOSC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 361, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 361, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 361, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 361, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_30ADOSC(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, __pyx_v_fastperiod, __pyx_v_slowperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_30ADOSC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume, int __pyx_v_fastperiod, int __pyx_v_slowperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ADOSC", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 381, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 383, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 384, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 385, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 391, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ADOSC_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 395, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ADOSC(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), __pyx_v_fastperiod, __pyx_v_slowperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADOSC, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 401, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ADOSC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_33ADR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_32ADR, "ADR(ndarray high, ndarray low, int timeperiod=-0x80000000)\n\nADR(high, low[, timeperiod=?])\n\nAverage Day Range (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_33ADR = {"ADR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_33ADR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_32ADR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_33ADR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ADR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 404, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 404, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 404, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 404, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ADR", 0) < (0)) __PYX_ERR(6, 404, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ADR", 0, 2, 3, i); __PYX_ERR(6, 404, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 404, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 404, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 404, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 406, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ADR", 0, 2, 3, __pyx_nargs); __PYX_ERR(6, 404, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 406, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 406, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_32ADR(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_32ADR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ADR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 425, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 427, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 429, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 433, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ADR_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 437, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ADR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 443, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ADR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_35ADX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_34ADX, "ADX(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000)\n\nADX(high, low, close[, timeperiod=?])\n\nAverage Directional Movement Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_35ADX = {"ADX", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_35ADX, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_34ADX}; -static PyObject *__pyx_pw_5talib_7_ta_lib_35ADX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ADX (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 446, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 446, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 446, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 446, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 446, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ADX", 0) < (0)) __PYX_ERR(6, 446, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ADX", 0, 3, 4, i); __PYX_ERR(6, 446, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 446, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 446, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 446, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 446, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 448, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ADX", 0, 3, 4, __pyx_nargs); __PYX_ERR(6, 446, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 448, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 448, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 448, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_34ADX(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_34ADX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ADX", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 467, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 468, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 469, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 470, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 472, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 476, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ADX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 480, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ADX(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADX, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 486, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ADX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_37ADXR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_36ADXR, "ADXR(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000)\n\nADXR(high, low, close[, timeperiod=?])\n\nAverage Directional Movement Index Rating (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_37ADXR = {"ADXR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_37ADXR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_36ADXR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_37ADXR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ADXR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 489, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 489, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 489, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 489, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 489, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ADXR", 0) < (0)) __PYX_ERR(6, 489, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ADXR", 0, 3, 4, i); __PYX_ERR(6, 489, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 489, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 489, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 489, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 489, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 491, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ADXR", 0, 3, 4, __pyx_nargs); __PYX_ERR(6, 489, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADXR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 491, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 491, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 491, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_36ADXR(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_36ADXR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ADXR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 510, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 511, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 512, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 513, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 519, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ADXR_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 523, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ADXR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADXR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 529, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ADXR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_39AO(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_38AO, "AO(ndarray high, ndarray low, int fastperiod=-0x80000000, int slowperiod=-0x80000000)\n\nAO(high, low[, fastperiod=?, slowperiod=?])\n\nAwesome Oscillator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n fastperiod: 5\n slowperiod: 34\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_39AO = {"AO", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_39AO, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_38AO}; -static PyObject *__pyx_pw_5talib_7_ta_lib_39AO(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("AO (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 532, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 532, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 532, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 532, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 532, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "AO", 0) < (0)) __PYX_ERR(6, 532, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("AO", 0, 2, 4, i); __PYX_ERR(6, 532, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 532, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 532, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 532, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 532, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 534, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)((int)-2147483648)); - } - if (values[3]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 534, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("AO", 0, 2, 4, __pyx_nargs); __PYX_ERR(6, 532, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AO", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 534, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 534, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_38AO(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_fastperiod, __pyx_v_slowperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_38AO(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("AO", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 554, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 555, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 556, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 558, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 562, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AO_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 566, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AO(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_fastperiod, __pyx_v_slowperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AO, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.AO", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_41APO(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_40APO, "APO(ndarray real, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int matype=1)\n\nAPO(real[, fastperiod=?, slowperiod=?, matype=?])\n\nAbsolute Price Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastperiod: 12\n slowperiod: 26\n matype: 1 (Exponential Moving Average)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_41APO = {"APO", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_41APO, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_40APO}; -static PyObject *__pyx_pw_5talib_7_ta_lib_41APO(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("APO (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 575, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 575, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 575, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 575, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 575, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "APO", 0) < (0)) __PYX_ERR(6, 575, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("APO", 0, 1, 4, i); __PYX_ERR(6, 575, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 575, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 575, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 575, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 575, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 577, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 577, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)((int)-2147483648)); - } - if (values[3]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 577, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)((int)1)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("APO", 0, 1, 4, __pyx_nargs); __PYX_ERR(6, 575, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.APO", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 577, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_40APO(__pyx_self, __pyx_v_real, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_40APO(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("APO", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 598, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 605, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_APO_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 609, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_APO(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_APO, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 615, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.APO", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_43AROON(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_42AROON, "AROON(ndarray high, ndarray low, int timeperiod=-0x80000000)\n\nAROON(high, low[, timeperiod=?])\n\nAroon (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n aroondown\n aroonup"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_43AROON = {"AROON", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_43AROON, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_42AROON}; -static PyObject *__pyx_pw_5talib_7_ta_lib_43AROON(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("AROON (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 618, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "AROON", 0) < (0)) __PYX_ERR(6, 618, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("AROON", 0, 2, 3, i); __PYX_ERR(6, 618, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 618, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 618, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 620, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("AROON", 0, 2, 3, __pyx_nargs); __PYX_ERR(6, 618, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AROON", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 620, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 620, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_42AROON(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_42AROON(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outaroondown = 0; - PyArrayObject *__pyx_v_outaroonup = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - char const *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("AROON", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 643, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 645, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(6, 645, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 649, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AROON_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 653, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outaroondown = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 654, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outaroonup = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AROON(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outaroondown)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outaroonup)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - if ( unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_5 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AROON, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 660, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 661, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF((PyObject *)__pyx_v_outaroondown); - __Pyx_GIVEREF((PyObject *)__pyx_v_outaroondown); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_outaroondown)) != (0)) __PYX_ERR(6, 661, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outaroonup); - __Pyx_GIVEREF((PyObject *)__pyx_v_outaroonup); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_outaroonup)) != (0)) __PYX_ERR(6, 661, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.AROON", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outaroondown); - __Pyx_XDECREF((PyObject *)__pyx_v_outaroonup); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_45AROONOSC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_44AROONOSC, "AROONOSC(ndarray high, ndarray low, int timeperiod=-0x80000000)\n\nAROONOSC(high, low[, timeperiod=?])\n\nAroon Oscillator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_45AROONOSC = {"AROONOSC", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_45AROONOSC, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_44AROONOSC}; -static PyObject *__pyx_pw_5talib_7_ta_lib_45AROONOSC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("AROONOSC (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 663, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 663, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 663, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 663, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "AROONOSC", 0) < (0)) __PYX_ERR(6, 663, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("AROONOSC", 0, 2, 3, i); __PYX_ERR(6, 663, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 663, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 663, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 663, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 665, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("AROONOSC", 0, 2, 3, __pyx_nargs); __PYX_ERR(6, 663, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AROONOSC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 665, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 665, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_44AROONOSC(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_44AROONOSC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("AROONOSC", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 686, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 688, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 692, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AROONOSC_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 696, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AROONOSC(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AROONOSC, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 702, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.AROONOSC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_47ASIN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_46ASIN, "ASIN(ndarray real)\n\nASIN(real)\n\nVector Trigonometric ASin (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_47ASIN = {"ASIN", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_47ASIN, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_46ASIN}; -static PyObject *__pyx_pw_5talib_7_ta_lib_47ASIN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ASIN (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 705, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 705, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ASIN", 0) < (0)) __PYX_ERR(6, 705, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ASIN", 1, 1, 1, i); __PYX_ERR(6, 705, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 705, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ASIN", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 705, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ASIN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 707, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_46ASIN(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_46ASIN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ASIN", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 724, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 727, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 731, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ASIN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 735, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ASIN(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ASIN, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 741, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ASIN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_49ATAN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_48ATAN, "ATAN(ndarray real)\n\nATAN(real)\n\nVector Trigonometric ATan (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_49ATAN = {"ATAN", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_49ATAN, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_48ATAN}; -static PyObject *__pyx_pw_5talib_7_ta_lib_49ATAN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ATAN (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 744, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 744, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ATAN", 0) < (0)) __PYX_ERR(6, 744, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ATAN", 1, 1, 1, i); __PYX_ERR(6, 744, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 744, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ATAN", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 744, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ATAN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 746, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_48ATAN(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_48ATAN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ATAN", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 763, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 766, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 770, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ATAN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 774, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ATAN(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ATAN, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 780, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ATAN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_51ATR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_50ATR, "ATR(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000)\n\nATR(high, low, close[, timeperiod=?])\n\nAverage True Range (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_51ATR = {"ATR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_51ATR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_50ATR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_51ATR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ATR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 783, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 783, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 783, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 783, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 783, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ATR", 0) < (0)) __PYX_ERR(6, 783, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ATR", 0, 3, 4, i); __PYX_ERR(6, 783, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 783, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 783, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 783, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 783, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 785, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ATR", 0, 3, 4, __pyx_nargs); __PYX_ERR(6, 783, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ATR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 785, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 785, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 785, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_50ATR(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_50ATR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ATR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 804, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 805, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 806, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 807, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 813, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ATR_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 817, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ATR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ATR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 823, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ATR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_53AVGDEV(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_52AVGDEV, "AVGDEV(ndarray real, int timeperiod=-0x80000000)\n\nAVGDEV(real[, timeperiod=?])\n\nAverage Deviation (Price Transform)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_53AVGDEV = {"AVGDEV", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_53AVGDEV, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_52AVGDEV}; -static PyObject *__pyx_pw_5talib_7_ta_lib_53AVGDEV(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("AVGDEV (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 826, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 826, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 826, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "AVGDEV", 0) < (0)) __PYX_ERR(6, 826, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("AVGDEV", 0, 1, 2, i); __PYX_ERR(6, 826, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 826, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 826, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 828, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("AVGDEV", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 826, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AVGDEV", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 828, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_52AVGDEV(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_52AVGDEV(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("AVGDEV", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 847, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 850, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 854, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AVGDEV_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 858, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AVGDEV(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AVGDEV, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 864, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.AVGDEV", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_55AVGPRICE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_54AVGPRICE, "AVGPRICE(ndarray open, ndarray high, ndarray low, ndarray close)\n\nAVGPRICE(open, high, low, close)\n\nAverage Price (Price Transform)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_55AVGPRICE = {"AVGPRICE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_55AVGPRICE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_54AVGPRICE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_55AVGPRICE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("AVGPRICE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 867, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 867, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 867, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 867, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 867, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "AVGPRICE", 0) < (0)) __PYX_ERR(6, 867, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("AVGPRICE", 1, 4, 4, i); __PYX_ERR(6, 867, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 867, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 867, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 867, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 867, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("AVGPRICE", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 867, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AVGPRICE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 869, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 869, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 869, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 869, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_54AVGPRICE(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_54AVGPRICE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("AVGPRICE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 886, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 887, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 888, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 890, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 892, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 896, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AVGPRICE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 900, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AVGPRICE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AVGPRICE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 906, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.AVGPRICE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_57BBANDS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_56BBANDS, "BBANDS(ndarray real, int timeperiod=-0x80000000, double nbdevup=-4e37, double nbdevdn=-4e37, int matype=0)\n\nBBANDS(real[, timeperiod=?, nbdevup=?, nbdevdn=?, matype=?])\n\nBollinger Bands (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 20\n nbdevup: 2.0\n nbdevdn: 2.0\n matype: 0 (Simple Moving Average)\nOutputs:\n upperband\n middleband\n lowerband"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_57BBANDS = {"BBANDS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_57BBANDS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_56BBANDS}; -static PyObject *__pyx_pw_5talib_7_ta_lib_57BBANDS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_nbdevup; - double __pyx_v_nbdevdn; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("BBANDS (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_nbdevup,&__pyx_mstate_global->__pyx_n_u_nbdevdn,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 909, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 909, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 909, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 909, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 909, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 909, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "BBANDS", 0) < (0)) __PYX_ERR(6, 909, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("BBANDS", 0, 1, 5, i); __PYX_ERR(6, 909, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 909, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 909, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 909, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 909, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 909, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 911, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_nbdevup = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_nbdevup == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 911, __pyx_L3_error) - } else { - __pyx_v_nbdevup = ((double)((double)-4e37)); - } - if (values[3]) { - __pyx_v_nbdevdn = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_nbdevdn == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 911, __pyx_L3_error) - } else { - __pyx_v_nbdevdn = ((double)((double)-4e37)); - } - if (values[4]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 911, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)((int)0)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("BBANDS", 0, 1, 5, __pyx_nargs); __PYX_ERR(6, 909, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BBANDS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 911, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_56BBANDS(__pyx_self, __pyx_v_real, __pyx_v_timeperiod, __pyx_v_nbdevup, __pyx_v_nbdevdn, __pyx_v_matype); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_56BBANDS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdevup, double __pyx_v_nbdevdn, int __pyx_v_matype) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outrealupperband = 0; - PyArrayObject *__pyx_v_outrealmiddleband = 0; - PyArrayObject *__pyx_v_outreallowerband = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - char const *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("BBANDS", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 937, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 940, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 940, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 940, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 940, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 940, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3) != (0)) __PYX_ERR(6, 940, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4) != (0)) __PYX_ERR(6, 940, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 944, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_BBANDS_Lookback(__pyx_v_timeperiod, __pyx_v_nbdevup, __pyx_v_nbdevdn, __pyx_v_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 948, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outrealupperband = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 949, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outrealmiddleband = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 950, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outreallowerband = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_BBANDS(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, __pyx_v_nbdevup, __pyx_v_nbdevdn, __pyx_v_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outrealupperband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outrealmiddleband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreallowerband)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - if ( unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_5 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BBANDS, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 956, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 957, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF((PyObject *)__pyx_v_outrealupperband); - __Pyx_GIVEREF((PyObject *)__pyx_v_outrealupperband); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_outrealupperband)) != (0)) __PYX_ERR(6, 957, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outrealmiddleband); - __Pyx_GIVEREF((PyObject *)__pyx_v_outrealmiddleband); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_outrealmiddleband)) != (0)) __PYX_ERR(6, 957, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outreallowerband); - __Pyx_GIVEREF((PyObject *)__pyx_v_outreallowerband); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, ((PyObject *)__pyx_v_outreallowerband)) != (0)) __PYX_ERR(6, 957, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.BBANDS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outrealupperband); - __Pyx_XDECREF((PyObject *)__pyx_v_outrealmiddleband); - __Pyx_XDECREF((PyObject *)__pyx_v_outreallowerband); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_59BETA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_58BETA, "BETA(ndarray real0, ndarray real1, int timeperiod=-0x80000000)\n\nBETA(real0, real1[, timeperiod=?])\n\nBeta (Statistic Functions)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nParameters:\n timeperiod: 5\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_59BETA = {"BETA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_59BETA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_58BETA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_59BETA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real0 = 0; - PyArrayObject *__pyx_v_real1 = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("BETA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 959, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "BETA", 0) < (0)) __PYX_ERR(6, 959, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("BETA", 0, 2, 3, i); __PYX_ERR(6, 959, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 959, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 959, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real0 = ((PyArrayObject *)values[0]); - __pyx_v_real1 = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 961, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("BETA", 0, 2, 3, __pyx_nargs); __PYX_ERR(6, 959, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BETA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real0), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real0", 0))) __PYX_ERR(6, 961, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real1), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real1", 0))) __PYX_ERR(6, 961, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_58BETA(__pyx_self, __pyx_v_real0, __pyx_v_real1, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_58BETA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real0, PyArrayObject *__pyx_v_real1, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("BETA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real0); - __Pyx_INCREF((PyObject *)__pyx_v_real1); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 981, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real0, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 982, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real1, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_real0, __pyx_v_real1); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 983, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 985, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real0)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real1))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 989, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_BETA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 993, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_BETA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real1)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BETA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 999, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.BETA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_real1); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_61BOP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_60BOP, "BOP(ndarray open, ndarray high, ndarray low, ndarray close)\n\nBOP(open, high, low, close)\n\nBalance Of Power (Momentum Indicators)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_61BOP = {"BOP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_61BOP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_60BOP}; -static PyObject *__pyx_pw_5talib_7_ta_lib_61BOP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("BOP (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1002, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1002, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1002, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1002, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1002, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "BOP", 0) < (0)) __PYX_ERR(6, 1002, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("BOP", 1, 4, 4, i); __PYX_ERR(6, 1002, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1002, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1002, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1002, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1002, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("BOP", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1002, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BOP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1004, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1004, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1004, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1004, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_60BOP(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_60BOP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("BOP", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1021, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1022, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1023, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1024, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1025, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1027, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1031, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_BOP_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1035, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_BOP(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BOP, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1041, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.BOP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_63CCI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_62CCI, "CCI(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000)\n\nCCI(high, low, close[, timeperiod=?])\n\nCommodity Channel Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_63CCI = {"CCI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_63CCI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_62CCI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_63CCI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CCI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1044, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1044, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1044, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1044, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1044, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CCI", 0) < (0)) __PYX_ERR(6, 1044, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CCI", 0, 3, 4, i); __PYX_ERR(6, 1044, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1044, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1044, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1044, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1044, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 1046, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CCI", 0, 3, 4, __pyx_nargs); __PYX_ERR(6, 1044, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CCI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1046, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1046, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1046, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_62CCI(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_62CCI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CCI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1065, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1066, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1067, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1068, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1070, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1074, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CCI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1078, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CCI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CCI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1084, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CCI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_65CDL2CROWS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_64CDL2CROWS, "CDL2CROWS(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDL2CROWS(open, high, low, close)\n\nTwo Crows (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_65CDL2CROWS = {"CDL2CROWS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_65CDL2CROWS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_64CDL2CROWS}; -static PyObject *__pyx_pw_5talib_7_ta_lib_65CDL2CROWS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDL2CROWS (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1087, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDL2CROWS", 0) < (0)) __PYX_ERR(6, 1087, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDL2CROWS", 1, 4, 4, i); __PYX_ERR(6, 1087, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1087, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1087, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1087, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1087, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDL2CROWS", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1087, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL2CROWS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1089, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1089, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1089, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1089, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_64CDL2CROWS(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_64CDL2CROWS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDL2CROWS", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1110, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1112, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1116, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL2CROWS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1120, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL2CROWS(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL2CROWS, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL2CROWS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_67CDL3BLACKCROWS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_66CDL3BLACKCROWS, "CDL3BLACKCROWS(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDL3BLACKCROWS(open, high, low, close)\n\nThree Black Crows (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_67CDL3BLACKCROWS = {"CDL3BLACKCROWS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_67CDL3BLACKCROWS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_66CDL3BLACKCROWS}; -static PyObject *__pyx_pw_5talib_7_ta_lib_67CDL3BLACKCROWS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDL3BLACKCROWS (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1129, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1129, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1129, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1129, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1129, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDL3BLACKCROWS", 0) < (0)) __PYX_ERR(6, 1129, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDL3BLACKCROWS", 1, 4, 4, i); __PYX_ERR(6, 1129, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1129, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1129, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1129, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1129, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDL3BLACKCROWS", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1129, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3BLACKCROWS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1131, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1131, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1131, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1131, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_66CDL3BLACKCROWS(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_66CDL3BLACKCROWS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDL3BLACKCROWS", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1148, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1152, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1158, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL3BLACKCROWS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1162, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3BLACKCROWS(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3BLACKCROWS, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1168, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL3BLACKCROWS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_69CDL3INSIDE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_68CDL3INSIDE, "CDL3INSIDE(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDL3INSIDE(open, high, low, close)\n\nThree Inside Up/Down (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_69CDL3INSIDE = {"CDL3INSIDE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_69CDL3INSIDE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_68CDL3INSIDE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_69CDL3INSIDE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDL3INSIDE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1171, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1171, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1171, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1171, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1171, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDL3INSIDE", 0) < (0)) __PYX_ERR(6, 1171, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDL3INSIDE", 1, 4, 4, i); __PYX_ERR(6, 1171, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1171, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1171, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1171, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1171, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDL3INSIDE", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1171, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3INSIDE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1173, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1173, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1173, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1173, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_68CDL3INSIDE(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_68CDL3INSIDE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDL3INSIDE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1190, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1192, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1194, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1200, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL3INSIDE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1204, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3INSIDE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3INSIDE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL3INSIDE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_71CDL3LINESTRIKE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_70CDL3LINESTRIKE, "CDL3LINESTRIKE(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDL3LINESTRIKE(open, high, low, close)\n\nThree-Line Strike (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_71CDL3LINESTRIKE = {"CDL3LINESTRIKE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_71CDL3LINESTRIKE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_70CDL3LINESTRIKE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_71CDL3LINESTRIKE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDL3LINESTRIKE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1213, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1213, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1213, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1213, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1213, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDL3LINESTRIKE", 0) < (0)) __PYX_ERR(6, 1213, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDL3LINESTRIKE", 1, 4, 4, i); __PYX_ERR(6, 1213, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1213, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1213, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1213, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1213, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDL3LINESTRIKE", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1213, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3LINESTRIKE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1215, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1215, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1215, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1215, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_70CDL3LINESTRIKE(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_70CDL3LINESTRIKE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDL3LINESTRIKE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1233, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1234, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1235, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1236, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1238, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1242, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL3LINESTRIKE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1246, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3LINESTRIKE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3LINESTRIKE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL3LINESTRIKE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_73CDL3OUTSIDE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_72CDL3OUTSIDE, "CDL3OUTSIDE(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDL3OUTSIDE(open, high, low, close)\n\nThree Outside Up/Down (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_73CDL3OUTSIDE = {"CDL3OUTSIDE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_73CDL3OUTSIDE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_72CDL3OUTSIDE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_73CDL3OUTSIDE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDL3OUTSIDE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1255, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1255, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1255, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1255, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1255, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDL3OUTSIDE", 0) < (0)) __PYX_ERR(6, 1255, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDL3OUTSIDE", 1, 4, 4, i); __PYX_ERR(6, 1255, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1255, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1255, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1255, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1255, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDL3OUTSIDE", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1255, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3OUTSIDE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1257, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1257, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1257, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1257, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_72CDL3OUTSIDE(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_72CDL3OUTSIDE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDL3OUTSIDE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1275, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1277, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1278, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1284, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL3OUTSIDE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1288, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3OUTSIDE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3OUTSIDE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1294, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL3OUTSIDE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_75CDL3STARSINSOUTH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_74CDL3STARSINSOUTH, "CDL3STARSINSOUTH(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDL3STARSINSOUTH(open, high, low, close)\n\nThree Stars In The South (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_75CDL3STARSINSOUTH = {"CDL3STARSINSOUTH", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_75CDL3STARSINSOUTH, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_74CDL3STARSINSOUTH}; -static PyObject *__pyx_pw_5talib_7_ta_lib_75CDL3STARSINSOUTH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDL3STARSINSOUTH (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1297, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1297, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1297, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1297, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1297, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDL3STARSINSOUTH", 0) < (0)) __PYX_ERR(6, 1297, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDL3STARSINSOUTH", 1, 4, 4, i); __PYX_ERR(6, 1297, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1297, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1297, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1297, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1297, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDL3STARSINSOUTH", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1297, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3STARSINSOUTH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1299, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1299, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1299, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1299, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_74CDL3STARSINSOUTH(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_74CDL3STARSINSOUTH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDL3STARSINSOUTH", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1316, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1317, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1319, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1320, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1326, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL3STARSINSOUTH_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1330, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3STARSINSOUTH(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3STARSINSOUTH, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1336, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL3STARSINSOUTH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_77CDL3WHITESOLDIERS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_76CDL3WHITESOLDIERS, "CDL3WHITESOLDIERS(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDL3WHITESOLDIERS(open, high, low, close)\n\nThree Advancing White Soldiers (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_77CDL3WHITESOLDIERS = {"CDL3WHITESOLDIERS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_77CDL3WHITESOLDIERS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_76CDL3WHITESOLDIERS}; -static PyObject *__pyx_pw_5talib_7_ta_lib_77CDL3WHITESOLDIERS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDL3WHITESOLDIERS (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1339, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1339, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1339, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1339, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1339, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDL3WHITESOLDIERS", 0) < (0)) __PYX_ERR(6, 1339, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDL3WHITESOLDIERS", 1, 4, 4, i); __PYX_ERR(6, 1339, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1339, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1339, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1339, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1339, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDL3WHITESOLDIERS", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1339, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3WHITESOLDIERS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1341, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1341, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1341, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1341, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_76CDL3WHITESOLDIERS(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_76CDL3WHITESOLDIERS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDL3WHITESOLDIERS", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1358, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1362, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1364, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1368, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL3WHITESOLDIERS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1372, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3WHITESOLDIERS(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3WHITESOLDIERS, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1378, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL3WHITESOLDIERS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_79CDLABANDONEDBABY(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_78CDLABANDONEDBABY, "CDLABANDONEDBABY(ndarray open, ndarray high, ndarray low, ndarray close, double penetration=0.3)\n\nCDLABANDONEDBABY(open, high, low, close[, penetration=?])\n\nAbandoned Baby (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_79CDLABANDONEDBABY = {"CDLABANDONEDBABY", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_79CDLABANDONEDBABY, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_78CDLABANDONEDBABY}; -static PyObject *__pyx_pw_5talib_7_ta_lib_79CDLABANDONEDBABY(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLABANDONEDBABY (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1381, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 1381, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1381, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1381, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1381, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1381, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLABANDONEDBABY", 0) < (0)) __PYX_ERR(6, 1381, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLABANDONEDBABY", 0, 4, 5, i); __PYX_ERR(6, 1381, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 1381, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1381, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1381, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1381, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1381, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 1383, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)((double)0.3)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLABANDONEDBABY", 0, 4, 5, __pyx_nargs); __PYX_ERR(6, 1381, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLABANDONEDBABY", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1383, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1383, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1383, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1383, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_78CDLABANDONEDBABY(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_78CDLABANDONEDBABY(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLABANDONEDBABY", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1402, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1403, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1404, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1405, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1406, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1412, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLABANDONEDBABY_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1416, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLABANDONEDBABY(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLABANDONEDBABY, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1422, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLABANDONEDBABY", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_81CDLADVANCEBLOCK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_80CDLADVANCEBLOCK, "CDLADVANCEBLOCK(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLADVANCEBLOCK(open, high, low, close)\n\nAdvance Block (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_81CDLADVANCEBLOCK = {"CDLADVANCEBLOCK", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_81CDLADVANCEBLOCK, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_80CDLADVANCEBLOCK}; -static PyObject *__pyx_pw_5talib_7_ta_lib_81CDLADVANCEBLOCK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLADVANCEBLOCK (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1425, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1425, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1425, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1425, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1425, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLADVANCEBLOCK", 0) < (0)) __PYX_ERR(6, 1425, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLADVANCEBLOCK", 1, 4, 4, i); __PYX_ERR(6, 1425, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1425, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1425, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1425, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1425, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLADVANCEBLOCK", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1425, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLADVANCEBLOCK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1427, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1427, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1427, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1427, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_80CDLADVANCEBLOCK(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_80CDLADVANCEBLOCK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLADVANCEBLOCK", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1444, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1448, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1450, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1454, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLADVANCEBLOCK_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1458, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLADVANCEBLOCK(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLADVANCEBLOCK, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1464, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLADVANCEBLOCK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_83CDLBELTHOLD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_82CDLBELTHOLD, "CDLBELTHOLD(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLBELTHOLD(open, high, low, close)\n\nBelt-hold (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_83CDLBELTHOLD = {"CDLBELTHOLD", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_83CDLBELTHOLD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_82CDLBELTHOLD}; -static PyObject *__pyx_pw_5talib_7_ta_lib_83CDLBELTHOLD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLBELTHOLD (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1467, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1467, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1467, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1467, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1467, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLBELTHOLD", 0) < (0)) __PYX_ERR(6, 1467, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLBELTHOLD", 1, 4, 4, i); __PYX_ERR(6, 1467, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1467, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1467, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1467, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1467, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLBELTHOLD", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1467, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLBELTHOLD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1469, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1469, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1469, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1469, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_82CDLBELTHOLD(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_82CDLBELTHOLD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLBELTHOLD", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1486, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1487, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1488, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1489, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1490, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1496, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLBELTHOLD_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1500, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLBELTHOLD(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLBELTHOLD, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1506, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLBELTHOLD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_85CDLBREAKAWAY(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_84CDLBREAKAWAY, "CDLBREAKAWAY(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLBREAKAWAY(open, high, low, close)\n\nBreakaway (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_85CDLBREAKAWAY = {"CDLBREAKAWAY", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_85CDLBREAKAWAY, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_84CDLBREAKAWAY}; -static PyObject *__pyx_pw_5talib_7_ta_lib_85CDLBREAKAWAY(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLBREAKAWAY (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1509, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1509, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1509, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1509, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1509, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLBREAKAWAY", 0) < (0)) __PYX_ERR(6, 1509, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLBREAKAWAY", 1, 4, 4, i); __PYX_ERR(6, 1509, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1509, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1509, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1509, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1509, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLBREAKAWAY", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1509, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLBREAKAWAY", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1511, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1511, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1511, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1511, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_84CDLBREAKAWAY(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_84CDLBREAKAWAY(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLBREAKAWAY", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1528, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1529, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1530, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1532, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1538, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLBREAKAWAY_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1542, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLBREAKAWAY(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLBREAKAWAY, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1548, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLBREAKAWAY", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_87CDLCLOSINGMARUBOZU(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_86CDLCLOSINGMARUBOZU, "CDLCLOSINGMARUBOZU(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLCLOSINGMARUBOZU(open, high, low, close)\n\nClosing Marubozu (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_87CDLCLOSINGMARUBOZU = {"CDLCLOSINGMARUBOZU", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_87CDLCLOSINGMARUBOZU, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_86CDLCLOSINGMARUBOZU}; -static PyObject *__pyx_pw_5talib_7_ta_lib_87CDLCLOSINGMARUBOZU(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLCLOSINGMARUBOZU (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1551, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1551, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1551, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1551, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1551, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLCLOSINGMARUBOZU", 0) < (0)) __PYX_ERR(6, 1551, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLCLOSINGMARUBOZU", 1, 4, 4, i); __PYX_ERR(6, 1551, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1551, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1551, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1551, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1551, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLCLOSINGMARUBOZU", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1551, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCLOSINGMARUBOZU", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1553, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1553, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1553, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1553, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_86CDLCLOSINGMARUBOZU(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_86CDLCLOSINGMARUBOZU(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLCLOSINGMARUBOZU", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1570, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1571, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1573, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1574, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1580, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLCLOSINGMARUBOZU_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1584, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCLOSINGMARUBOZU(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCLOSINGMARUBOZU, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1590, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLCLOSINGMARUBOZU", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_89CDLCONCEALBABYSWALL(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_88CDLCONCEALBABYSWALL, "CDLCONCEALBABYSWALL(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLCONCEALBABYSWALL(open, high, low, close)\n\nConcealing Baby Swallow (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_89CDLCONCEALBABYSWALL = {"CDLCONCEALBABYSWALL", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_89CDLCONCEALBABYSWALL, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_88CDLCONCEALBABYSWALL}; -static PyObject *__pyx_pw_5talib_7_ta_lib_89CDLCONCEALBABYSWALL(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLCONCEALBABYSWALL (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1593, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1593, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1593, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1593, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1593, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLCONCEALBABYSWALL", 0) < (0)) __PYX_ERR(6, 1593, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLCONCEALBABYSWALL", 1, 4, 4, i); __PYX_ERR(6, 1593, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1593, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1593, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1593, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1593, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLCONCEALBABYSWALL", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1593, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCONCEALBABYSWALL", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1595, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1595, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1595, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1595, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_88CDLCONCEALBABYSWALL(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_88CDLCONCEALBABYSWALL(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLCONCEALBABYSWALL", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1612, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1614, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1615, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1616, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1622, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLCONCEALBABYSWALL_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1626, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCONCEALBABYSWALL(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCONCEALBABYSWALL, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1632, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLCONCEALBABYSWALL", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_91CDLCOUNTERATTACK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_90CDLCOUNTERATTACK, "CDLCOUNTERATTACK(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLCOUNTERATTACK(open, high, low, close)\n\nCounterattack (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_91CDLCOUNTERATTACK = {"CDLCOUNTERATTACK", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_91CDLCOUNTERATTACK, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_90CDLCOUNTERATTACK}; -static PyObject *__pyx_pw_5talib_7_ta_lib_91CDLCOUNTERATTACK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLCOUNTERATTACK (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1635, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1635, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1635, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1635, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1635, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLCOUNTERATTACK", 0) < (0)) __PYX_ERR(6, 1635, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLCOUNTERATTACK", 1, 4, 4, i); __PYX_ERR(6, 1635, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1635, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1635, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1635, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1635, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLCOUNTERATTACK", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1635, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCOUNTERATTACK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1637, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1637, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1637, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1637, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_90CDLCOUNTERATTACK(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_90CDLCOUNTERATTACK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLCOUNTERATTACK", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1654, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1655, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1656, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1658, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1660, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1664, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLCOUNTERATTACK_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1668, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCOUNTERATTACK(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCOUNTERATTACK, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLCOUNTERATTACK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_93CDLDARKCLOUDCOVER(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_92CDLDARKCLOUDCOVER, "CDLDARKCLOUDCOVER(ndarray open, ndarray high, ndarray low, ndarray close, double penetration=0.5)\n\nCDLDARKCLOUDCOVER(open, high, low, close[, penetration=?])\n\nDark Cloud Cover (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.5\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_93CDLDARKCLOUDCOVER = {"CDLDARKCLOUDCOVER", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_93CDLDARKCLOUDCOVER, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_92CDLDARKCLOUDCOVER}; -static PyObject *__pyx_pw_5talib_7_ta_lib_93CDLDARKCLOUDCOVER(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLDARKCLOUDCOVER (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1677, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 1677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLDARKCLOUDCOVER", 0) < (0)) __PYX_ERR(6, 1677, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLDARKCLOUDCOVER", 0, 4, 5, i); __PYX_ERR(6, 1677, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 1677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1677, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1677, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1677, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1677, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 1679, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)((double)0.5)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLDARKCLOUDCOVER", 0, 4, 5, __pyx_nargs); __PYX_ERR(6, 1677, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDARKCLOUDCOVER", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1679, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1679, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1679, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1679, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_92CDLDARKCLOUDCOVER(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_92CDLDARKCLOUDCOVER(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLDARKCLOUDCOVER", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1698, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1699, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1700, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1702, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1704, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1708, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLDARKCLOUDCOVER_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1712, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDARKCLOUDCOVER(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDARKCLOUDCOVER, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1718, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLDARKCLOUDCOVER", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_95CDLDOJI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_94CDLDOJI, "CDLDOJI(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLDOJI(open, high, low, close)\n\nDoji (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_95CDLDOJI = {"CDLDOJI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_95CDLDOJI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_94CDLDOJI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_95CDLDOJI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLDOJI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1721, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1721, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1721, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1721, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1721, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLDOJI", 0) < (0)) __PYX_ERR(6, 1721, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLDOJI", 1, 4, 4, i); __PYX_ERR(6, 1721, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1721, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1721, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1721, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1721, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLDOJI", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1721, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDOJI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1723, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1723, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1723, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1723, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_94CDLDOJI(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_94CDLDOJI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLDOJI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1740, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1741, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1742, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1743, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1744, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1746, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1750, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLDOJI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1754, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDOJI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1760, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_97CDLDOJISTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_96CDLDOJISTAR, "CDLDOJISTAR(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLDOJISTAR(open, high, low, close)\n\nDoji Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_97CDLDOJISTAR = {"CDLDOJISTAR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_97CDLDOJISTAR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_96CDLDOJISTAR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_97CDLDOJISTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLDOJISTAR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1763, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1763, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1763, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1763, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1763, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLDOJISTAR", 0) < (0)) __PYX_ERR(6, 1763, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLDOJISTAR", 1, 4, 4, i); __PYX_ERR(6, 1763, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1763, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1763, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1763, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1763, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLDOJISTAR", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1763, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDOJISTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1765, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1765, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1765, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1765, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_96CDLDOJISTAR(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_96CDLDOJISTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLDOJISTAR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1782, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1783, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1784, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1786, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1788, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1792, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLDOJISTAR_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1796, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDOJISTAR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJISTAR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1802, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJISTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_99CDLDRAGONFLYDOJI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_98CDLDRAGONFLYDOJI, "CDLDRAGONFLYDOJI(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLDRAGONFLYDOJI(open, high, low, close)\n\nDragonfly Doji (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_99CDLDRAGONFLYDOJI = {"CDLDRAGONFLYDOJI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_99CDLDRAGONFLYDOJI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_98CDLDRAGONFLYDOJI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_99CDLDRAGONFLYDOJI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLDRAGONFLYDOJI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1805, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLDRAGONFLYDOJI", 0) < (0)) __PYX_ERR(6, 1805, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLDRAGONFLYDOJI", 1, 4, 4, i); __PYX_ERR(6, 1805, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1805, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1805, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1805, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1805, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLDRAGONFLYDOJI", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1805, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDRAGONFLYDOJI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1807, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1807, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1807, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1807, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_98CDLDRAGONFLYDOJI(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_98CDLDRAGONFLYDOJI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLDRAGONFLYDOJI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1826, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1828, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1830, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1834, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLDRAGONFLYDOJI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1838, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDRAGONFLYDOJI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDRAGONFLYDOJI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1844, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLDRAGONFLYDOJI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_101CDLENGULFING(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_100CDLENGULFING, "CDLENGULFING(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLENGULFING(open, high, low, close)\n\nEngulfing Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_101CDLENGULFING = {"CDLENGULFING", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_101CDLENGULFING, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_100CDLENGULFING}; -static PyObject *__pyx_pw_5talib_7_ta_lib_101CDLENGULFING(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLENGULFING (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1847, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1847, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1847, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1847, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1847, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLENGULFING", 0) < (0)) __PYX_ERR(6, 1847, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLENGULFING", 1, 4, 4, i); __PYX_ERR(6, 1847, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1847, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1847, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1847, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1847, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLENGULFING", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1847, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLENGULFING", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1849, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1849, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1849, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1849, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_100CDLENGULFING(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_100CDLENGULFING(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLENGULFING", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1866, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1867, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1868, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1869, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1870, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1872, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1876, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLENGULFING_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1880, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLENGULFING(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLENGULFING, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1886, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLENGULFING", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_103CDLEVENINGDOJISTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_102CDLEVENINGDOJISTAR, "CDLEVENINGDOJISTAR(ndarray open, ndarray high, ndarray low, ndarray close, double penetration=0.3)\n\nCDLEVENINGDOJISTAR(open, high, low, close[, penetration=?])\n\nEvening Doji Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_103CDLEVENINGDOJISTAR = {"CDLEVENINGDOJISTAR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_103CDLEVENINGDOJISTAR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_102CDLEVENINGDOJISTAR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_103CDLEVENINGDOJISTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLEVENINGDOJISTAR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1889, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 1889, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1889, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1889, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1889, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1889, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLEVENINGDOJISTAR", 0) < (0)) __PYX_ERR(6, 1889, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLEVENINGDOJISTAR", 0, 4, 5, i); __PYX_ERR(6, 1889, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 1889, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1889, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1889, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1889, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1889, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 1891, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)((double)0.3)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLEVENINGDOJISTAR", 0, 4, 5, __pyx_nargs); __PYX_ERR(6, 1889, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGDOJISTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1891, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1891, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1891, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1891, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_102CDLEVENINGDOJISTAR(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_102CDLEVENINGDOJISTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLEVENINGDOJISTAR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1910, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1911, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1912, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1913, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1914, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1920, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLEVENINGDOJISTAR_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1924, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLEVENINGDOJISTAR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGDOJISTAR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1930, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGDOJISTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_105CDLEVENINGSTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_104CDLEVENINGSTAR, "CDLEVENINGSTAR(ndarray open, ndarray high, ndarray low, ndarray close, double penetration=0.3)\n\nCDLEVENINGSTAR(open, high, low, close[, penetration=?])\n\nEvening Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_105CDLEVENINGSTAR = {"CDLEVENINGSTAR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_105CDLEVENINGSTAR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_104CDLEVENINGSTAR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_105CDLEVENINGSTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLEVENINGSTAR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1933, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 1933, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1933, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1933, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1933, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1933, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLEVENINGSTAR", 0) < (0)) __PYX_ERR(6, 1933, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLEVENINGSTAR", 0, 4, 5, i); __PYX_ERR(6, 1933, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 1933, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1933, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1933, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1933, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1933, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 1935, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)((double)0.3)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLEVENINGSTAR", 0, 4, 5, __pyx_nargs); __PYX_ERR(6, 1933, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGSTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1935, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1935, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1935, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1935, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_104CDLEVENINGSTAR(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_104CDLEVENINGSTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLEVENINGSTAR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1954, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1955, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1956, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1957, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 1958, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1960, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 1964, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLEVENINGSTAR_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1968, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLEVENINGSTAR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGSTAR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1974, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGSTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_107CDLGAPSIDESIDEWHITE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_106CDLGAPSIDESIDEWHITE, "CDLGAPSIDESIDEWHITE(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLGAPSIDESIDEWHITE(open, high, low, close)\n\nUp/Down-gap side-by-side white lines (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_107CDLGAPSIDESIDEWHITE = {"CDLGAPSIDESIDEWHITE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_107CDLGAPSIDESIDEWHITE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_106CDLGAPSIDESIDEWHITE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_107CDLGAPSIDESIDEWHITE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLGAPSIDESIDEWHITE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 1977, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1977, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1977, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1977, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1977, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLGAPSIDESIDEWHITE", 0) < (0)) __PYX_ERR(6, 1977, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLGAPSIDESIDEWHITE", 1, 4, 4, i); __PYX_ERR(6, 1977, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 1977, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 1977, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 1977, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 1977, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLGAPSIDESIDEWHITE", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 1977, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLGAPSIDESIDEWHITE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 1979, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 1979, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 1979, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 1979, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_106CDLGAPSIDESIDEWHITE(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_106CDLGAPSIDESIDEWHITE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLGAPSIDESIDEWHITE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1996, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1997, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1998, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1999, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2000, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2002, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2006, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLGAPSIDESIDEWHITE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2010, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLGAPSIDESIDEWHITE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLGAPSIDESIDEWHITE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2016, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLGAPSIDESIDEWHITE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_109CDLGRAVESTONEDOJI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_108CDLGRAVESTONEDOJI, "CDLGRAVESTONEDOJI(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLGRAVESTONEDOJI(open, high, low, close)\n\nGravestone Doji (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_109CDLGRAVESTONEDOJI = {"CDLGRAVESTONEDOJI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_109CDLGRAVESTONEDOJI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_108CDLGRAVESTONEDOJI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_109CDLGRAVESTONEDOJI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLGRAVESTONEDOJI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2019, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2019, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2019, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2019, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2019, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLGRAVESTONEDOJI", 0) < (0)) __PYX_ERR(6, 2019, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLGRAVESTONEDOJI", 1, 4, 4, i); __PYX_ERR(6, 2019, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2019, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2019, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2019, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2019, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLGRAVESTONEDOJI", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2019, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLGRAVESTONEDOJI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2021, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2021, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2021, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2021, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_108CDLGRAVESTONEDOJI(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_108CDLGRAVESTONEDOJI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLGRAVESTONEDOJI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2038, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2039, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2040, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2041, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2042, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2044, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2048, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLGRAVESTONEDOJI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2052, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLGRAVESTONEDOJI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLGRAVESTONEDOJI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2058, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLGRAVESTONEDOJI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_111CDLHAMMER(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_110CDLHAMMER, "CDLHAMMER(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLHAMMER(open, high, low, close)\n\nHammer (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_111CDLHAMMER = {"CDLHAMMER", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_111CDLHAMMER, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_110CDLHAMMER}; -static PyObject *__pyx_pw_5talib_7_ta_lib_111CDLHAMMER(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLHAMMER (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2061, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2061, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2061, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2061, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2061, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLHAMMER", 0) < (0)) __PYX_ERR(6, 2061, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLHAMMER", 1, 4, 4, i); __PYX_ERR(6, 2061, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2061, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2061, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2061, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2061, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLHAMMER", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2061, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHAMMER", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2063, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2063, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2063, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2063, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_110CDLHAMMER(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_110CDLHAMMER(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLHAMMER", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2080, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2081, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2082, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2084, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2086, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2090, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHAMMER_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2094, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHAMMER(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHAMMER, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHAMMER", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_113CDLHANGINGMAN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_112CDLHANGINGMAN, "CDLHANGINGMAN(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLHANGINGMAN(open, high, low, close)\n\nHanging Man (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_113CDLHANGINGMAN = {"CDLHANGINGMAN", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_113CDLHANGINGMAN, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_112CDLHANGINGMAN}; -static PyObject *__pyx_pw_5talib_7_ta_lib_113CDLHANGINGMAN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLHANGINGMAN (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2103, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLHANGINGMAN", 0) < (0)) __PYX_ERR(6, 2103, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLHANGINGMAN", 1, 4, 4, i); __PYX_ERR(6, 2103, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2103, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2103, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2103, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2103, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLHANGINGMAN", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2103, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHANGINGMAN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2105, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2105, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2105, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2105, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_112CDLHANGINGMAN(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_112CDLHANGINGMAN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLHANGINGMAN", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2122, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2125, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2126, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2132, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHANGINGMAN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2136, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHANGINGMAN(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHANGINGMAN, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHANGINGMAN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_115CDLHARAMI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_114CDLHARAMI, "CDLHARAMI(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLHARAMI(open, high, low, close)\n\nHarami Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_115CDLHARAMI = {"CDLHARAMI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_115CDLHARAMI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_114CDLHARAMI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_115CDLHARAMI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLHARAMI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2145, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2145, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2145, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2145, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2145, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLHARAMI", 0) < (0)) __PYX_ERR(6, 2145, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLHARAMI", 1, 4, 4, i); __PYX_ERR(6, 2145, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2145, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2145, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2145, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2145, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLHARAMI", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2145, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2147, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2147, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2147, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2147, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_114CDLHARAMI(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_114CDLHARAMI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLHARAMI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2168, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2170, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2174, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHARAMI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2178, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHARAMI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_117CDLHARAMICROSS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_116CDLHARAMICROSS, "CDLHARAMICROSS(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLHARAMICROSS(open, high, low, close)\n\nHarami Cross Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_117CDLHARAMICROSS = {"CDLHARAMICROSS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_117CDLHARAMICROSS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_116CDLHARAMICROSS}; -static PyObject *__pyx_pw_5talib_7_ta_lib_117CDLHARAMICROSS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLHARAMICROSS (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2187, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2187, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2187, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2187, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2187, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLHARAMICROSS", 0) < (0)) __PYX_ERR(6, 2187, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLHARAMICROSS", 1, 4, 4, i); __PYX_ERR(6, 2187, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2187, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2187, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2187, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2187, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLHARAMICROSS", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2187, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMICROSS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2189, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2189, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2189, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2189, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_116CDLHARAMICROSS(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_116CDLHARAMICROSS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLHARAMICROSS", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2209, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2210, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2212, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2216, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHARAMICROSS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2220, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHARAMICROSS(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMICROSS, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2226, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMICROSS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_119CDLHIGHWAVE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_118CDLHIGHWAVE, "CDLHIGHWAVE(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLHIGHWAVE(open, high, low, close)\n\nHigh-Wave Candle (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_119CDLHIGHWAVE = {"CDLHIGHWAVE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_119CDLHIGHWAVE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_118CDLHIGHWAVE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_119CDLHIGHWAVE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLHIGHWAVE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2229, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2229, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2229, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2229, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2229, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLHIGHWAVE", 0) < (0)) __PYX_ERR(6, 2229, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLHIGHWAVE", 1, 4, 4, i); __PYX_ERR(6, 2229, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2229, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2229, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2229, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2229, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLHIGHWAVE", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2229, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIGHWAVE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2231, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2231, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2231, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2231, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_118CDLHIGHWAVE(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_118CDLHIGHWAVE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLHIGHWAVE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2249, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2252, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2254, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2258, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHIGHWAVE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2262, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIGHWAVE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIGHWAVE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHIGHWAVE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_121CDLHIKKAKE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_120CDLHIKKAKE, "CDLHIKKAKE(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLHIKKAKE(open, high, low, close)\n\nHikkake Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_121CDLHIKKAKE = {"CDLHIKKAKE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_121CDLHIKKAKE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_120CDLHIKKAKE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_121CDLHIKKAKE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLHIKKAKE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2271, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2271, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2271, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2271, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2271, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLHIKKAKE", 0) < (0)) __PYX_ERR(6, 2271, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLHIKKAKE", 1, 4, 4, i); __PYX_ERR(6, 2271, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2271, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2271, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2271, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2271, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLHIKKAKE", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2271, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2273, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2273, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2273, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2273, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_120CDLHIKKAKE(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_120CDLHIKKAKE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLHIKKAKE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2290, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2291, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2292, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2293, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2294, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2296, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2300, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHIKKAKE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2304, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIKKAKE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2310, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_123CDLHIKKAKEMOD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_122CDLHIKKAKEMOD, "CDLHIKKAKEMOD(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLHIKKAKEMOD(open, high, low, close)\n\nModified Hikkake Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_123CDLHIKKAKEMOD = {"CDLHIKKAKEMOD", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_123CDLHIKKAKEMOD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_122CDLHIKKAKEMOD}; -static PyObject *__pyx_pw_5talib_7_ta_lib_123CDLHIKKAKEMOD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLHIKKAKEMOD (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2313, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2313, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2313, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2313, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2313, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLHIKKAKEMOD", 0) < (0)) __PYX_ERR(6, 2313, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLHIKKAKEMOD", 1, 4, 4, i); __PYX_ERR(6, 2313, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2313, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2313, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2313, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2313, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLHIKKAKEMOD", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2313, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKEMOD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2315, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2315, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2315, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2315, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_122CDLHIKKAKEMOD(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_122CDLHIKKAKEMOD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLHIKKAKEMOD", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2333, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2334, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2336, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2342, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHIKKAKEMOD_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2346, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIKKAKEMOD(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKEMOD, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2352, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKEMOD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_125CDLHOMINGPIGEON(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_124CDLHOMINGPIGEON, "CDLHOMINGPIGEON(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLHOMINGPIGEON(open, high, low, close)\n\nHoming Pigeon (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_125CDLHOMINGPIGEON = {"CDLHOMINGPIGEON", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_125CDLHOMINGPIGEON, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_124CDLHOMINGPIGEON}; -static PyObject *__pyx_pw_5talib_7_ta_lib_125CDLHOMINGPIGEON(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLHOMINGPIGEON (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2355, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2355, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2355, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2355, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2355, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLHOMINGPIGEON", 0) < (0)) __PYX_ERR(6, 2355, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLHOMINGPIGEON", 1, 4, 4, i); __PYX_ERR(6, 2355, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2355, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2355, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2355, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2355, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLHOMINGPIGEON", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2355, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHOMINGPIGEON", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2357, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2357, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2357, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2357, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_124CDLHOMINGPIGEON(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_124CDLHOMINGPIGEON(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLHOMINGPIGEON", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2375, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2378, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2380, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2384, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHOMINGPIGEON_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2388, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHOMINGPIGEON(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHOMINGPIGEON, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2394, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHOMINGPIGEON", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_127CDLIDENTICAL3CROWS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_126CDLIDENTICAL3CROWS, "CDLIDENTICAL3CROWS(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLIDENTICAL3CROWS(open, high, low, close)\n\nIdentical Three Crows (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_127CDLIDENTICAL3CROWS = {"CDLIDENTICAL3CROWS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_127CDLIDENTICAL3CROWS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_126CDLIDENTICAL3CROWS}; -static PyObject *__pyx_pw_5talib_7_ta_lib_127CDLIDENTICAL3CROWS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLIDENTICAL3CROWS (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2397, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2397, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2397, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2397, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2397, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLIDENTICAL3CROWS", 0) < (0)) __PYX_ERR(6, 2397, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLIDENTICAL3CROWS", 1, 4, 4, i); __PYX_ERR(6, 2397, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2397, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2397, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2397, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2397, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLIDENTICAL3CROWS", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2397, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLIDENTICAL3CROWS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2399, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2399, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2399, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2399, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_126CDLIDENTICAL3CROWS(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_126CDLIDENTICAL3CROWS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLIDENTICAL3CROWS", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2416, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2418, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2419, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2420, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2422, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2426, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLIDENTICAL3CROWS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2430, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLIDENTICAL3CROWS(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLIDENTICAL3CROWS, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLIDENTICAL3CROWS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_129CDLINNECK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_128CDLINNECK, "CDLINNECK(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLINNECK(open, high, low, close)\n\nIn-Neck Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_129CDLINNECK = {"CDLINNECK", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_129CDLINNECK, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_128CDLINNECK}; -static PyObject *__pyx_pw_5talib_7_ta_lib_129CDLINNECK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLINNECK (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2439, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2439, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2439, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2439, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2439, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLINNECK", 0) < (0)) __PYX_ERR(6, 2439, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLINNECK", 1, 4, 4, i); __PYX_ERR(6, 2439, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2439, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2439, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2439, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2439, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLINNECK", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2439, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLINNECK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2441, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2441, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2441, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2441, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_128CDLINNECK(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_128CDLINNECK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLINNECK", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2460, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2461, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2462, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2464, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2468, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLINNECK_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2472, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLINNECK(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLINNECK, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2478, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLINNECK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_131CDLINVERTEDHAMMER(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_130CDLINVERTEDHAMMER, "CDLINVERTEDHAMMER(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLINVERTEDHAMMER(open, high, low, close)\n\nInverted Hammer (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_131CDLINVERTEDHAMMER = {"CDLINVERTEDHAMMER", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_131CDLINVERTEDHAMMER, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_130CDLINVERTEDHAMMER}; -static PyObject *__pyx_pw_5talib_7_ta_lib_131CDLINVERTEDHAMMER(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLINVERTEDHAMMER (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2481, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2481, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2481, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2481, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2481, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLINVERTEDHAMMER", 0) < (0)) __PYX_ERR(6, 2481, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLINVERTEDHAMMER", 1, 4, 4, i); __PYX_ERR(6, 2481, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2481, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2481, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2481, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2481, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLINVERTEDHAMMER", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2481, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLINVERTEDHAMMER", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2483, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2483, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2483, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2483, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_130CDLINVERTEDHAMMER(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_130CDLINVERTEDHAMMER(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLINVERTEDHAMMER", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2500, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2501, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2502, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2503, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2504, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2506, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2510, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLINVERTEDHAMMER_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2514, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLINVERTEDHAMMER(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLINVERTEDHAMMER, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2520, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLINVERTEDHAMMER", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_133CDLKICKING(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_132CDLKICKING, "CDLKICKING(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLKICKING(open, high, low, close)\n\nKicking (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_133CDLKICKING = {"CDLKICKING", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_133CDLKICKING, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_132CDLKICKING}; -static PyObject *__pyx_pw_5talib_7_ta_lib_133CDLKICKING(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLKICKING (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2523, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2523, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2523, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2523, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2523, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLKICKING", 0) < (0)) __PYX_ERR(6, 2523, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLKICKING", 1, 4, 4, i); __PYX_ERR(6, 2523, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2523, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2523, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2523, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2523, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLKICKING", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2523, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLKICKING", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2525, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2525, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2525, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2525, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_132CDLKICKING(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_132CDLKICKING(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLKICKING", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2542, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2544, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2546, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2548, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2552, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLKICKING_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2556, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLKICKING(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKING, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2562, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKING", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_135CDLKICKINGBYLENGTH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_134CDLKICKINGBYLENGTH, "CDLKICKINGBYLENGTH(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLKICKINGBYLENGTH(open, high, low, close)\n\nKicking - bull/bear determined by the longer marubozu (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_135CDLKICKINGBYLENGTH = {"CDLKICKINGBYLENGTH", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_135CDLKICKINGBYLENGTH, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_134CDLKICKINGBYLENGTH}; -static PyObject *__pyx_pw_5talib_7_ta_lib_135CDLKICKINGBYLENGTH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLKICKINGBYLENGTH (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2565, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2565, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2565, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2565, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2565, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLKICKINGBYLENGTH", 0) < (0)) __PYX_ERR(6, 2565, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLKICKINGBYLENGTH", 1, 4, 4, i); __PYX_ERR(6, 2565, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2565, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2565, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2565, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2565, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLKICKINGBYLENGTH", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2565, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLKICKINGBYLENGTH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2567, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2567, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2567, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2567, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_134CDLKICKINGBYLENGTH(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_134CDLKICKINGBYLENGTH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLKICKINGBYLENGTH", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2584, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2585, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2586, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2587, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2588, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2590, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2594, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLKICKINGBYLENGTH_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2598, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLKICKINGBYLENGTH(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKINGBYLENGTH, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2604, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKINGBYLENGTH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_137CDLLADDERBOTTOM(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_136CDLLADDERBOTTOM, "CDLLADDERBOTTOM(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLLADDERBOTTOM(open, high, low, close)\n\nLadder Bottom (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_137CDLLADDERBOTTOM = {"CDLLADDERBOTTOM", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_137CDLLADDERBOTTOM, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_136CDLLADDERBOTTOM}; -static PyObject *__pyx_pw_5talib_7_ta_lib_137CDLLADDERBOTTOM(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLLADDERBOTTOM (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2607, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2607, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2607, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2607, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2607, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLLADDERBOTTOM", 0) < (0)) __PYX_ERR(6, 2607, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLLADDERBOTTOM", 1, 4, 4, i); __PYX_ERR(6, 2607, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2607, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2607, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2607, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2607, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLLADDERBOTTOM", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2607, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLADDERBOTTOM", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2609, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2609, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2609, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2609, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_136CDLLADDERBOTTOM(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_136CDLLADDERBOTTOM(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLLADDERBOTTOM", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2626, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2627, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2628, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2629, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2630, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2632, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2636, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLLADDERBOTTOM_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2640, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLADDERBOTTOM(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLADDERBOTTOM, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2646, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLLADDERBOTTOM", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_139CDLLONGLEGGEDDOJI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_138CDLLONGLEGGEDDOJI, "CDLLONGLEGGEDDOJI(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLLONGLEGGEDDOJI(open, high, low, close)\n\nLong Legged Doji (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_139CDLLONGLEGGEDDOJI = {"CDLLONGLEGGEDDOJI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_139CDLLONGLEGGEDDOJI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_138CDLLONGLEGGEDDOJI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_139CDLLONGLEGGEDDOJI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLLONGLEGGEDDOJI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2649, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2649, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2649, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2649, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2649, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLLONGLEGGEDDOJI", 0) < (0)) __PYX_ERR(6, 2649, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLLONGLEGGEDDOJI", 1, 4, 4, i); __PYX_ERR(6, 2649, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2649, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2649, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2649, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2649, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLLONGLEGGEDDOJI", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2649, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLEGGEDDOJI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2651, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2651, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2651, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2651, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_138CDLLONGLEGGEDDOJI(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_138CDLLONGLEGGEDDOJI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLLONGLEGGEDDOJI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2668, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2669, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2670, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2671, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2672, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2678, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLLONGLEGGEDDOJI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2682, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLONGLEGGEDDOJI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLEGGEDDOJI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2688, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLEGGEDDOJI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_141CDLLONGLINE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_140CDLLONGLINE, "CDLLONGLINE(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLLONGLINE(open, high, low, close)\n\nLong Line Candle (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_141CDLLONGLINE = {"CDLLONGLINE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_141CDLLONGLINE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_140CDLLONGLINE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_141CDLLONGLINE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLLONGLINE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2691, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2691, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2691, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2691, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2691, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLLONGLINE", 0) < (0)) __PYX_ERR(6, 2691, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLLONGLINE", 1, 4, 4, i); __PYX_ERR(6, 2691, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2691, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2691, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2691, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2691, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLLONGLINE", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2691, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLINE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2693, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2693, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2693, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2693, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_140CDLLONGLINE(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_140CDLLONGLINE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLLONGLINE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2711, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2712, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2713, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2714, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2716, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2720, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLLONGLINE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2724, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLONGLINE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLINE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2730, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLINE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_143CDLMARUBOZU(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_142CDLMARUBOZU, "CDLMARUBOZU(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLMARUBOZU(open, high, low, close)\n\nMarubozu (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_143CDLMARUBOZU = {"CDLMARUBOZU", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_143CDLMARUBOZU, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_142CDLMARUBOZU}; -static PyObject *__pyx_pw_5talib_7_ta_lib_143CDLMARUBOZU(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLMARUBOZU (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2733, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2733, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2733, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2733, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2733, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLMARUBOZU", 0) < (0)) __PYX_ERR(6, 2733, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLMARUBOZU", 1, 4, 4, i); __PYX_ERR(6, 2733, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2733, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2733, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2733, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2733, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLMARUBOZU", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2733, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMARUBOZU", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2735, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2735, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2735, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2735, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_142CDLMARUBOZU(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_142CDLMARUBOZU(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLMARUBOZU", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2752, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2753, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2754, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2755, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2756, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2758, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2762, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLMARUBOZU_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2766, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMARUBOZU(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMARUBOZU, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLMARUBOZU", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_145CDLMATCHINGLOW(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_144CDLMATCHINGLOW, "CDLMATCHINGLOW(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLMATCHINGLOW(open, high, low, close)\n\nMatching Low (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_145CDLMATCHINGLOW = {"CDLMATCHINGLOW", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_145CDLMATCHINGLOW, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_144CDLMATCHINGLOW}; -static PyObject *__pyx_pw_5talib_7_ta_lib_145CDLMATCHINGLOW(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLMATCHINGLOW (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2775, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2775, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2775, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2775, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2775, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLMATCHINGLOW", 0) < (0)) __PYX_ERR(6, 2775, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLMATCHINGLOW", 1, 4, 4, i); __PYX_ERR(6, 2775, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2775, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2775, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2775, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2775, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLMATCHINGLOW", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2775, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMATCHINGLOW", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2777, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2777, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2777, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2777, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_144CDLMATCHINGLOW(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_144CDLMATCHINGLOW(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLMATCHINGLOW", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2794, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2795, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2796, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2797, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2798, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2800, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2804, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLMATCHINGLOW_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2808, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMATCHINGLOW(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMATCHINGLOW, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2814, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLMATCHINGLOW", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_147CDLMATHOLD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_146CDLMATHOLD, "CDLMATHOLD(ndarray open, ndarray high, ndarray low, ndarray close, double penetration=0.5)\n\nCDLMATHOLD(open, high, low, close[, penetration=?])\n\nMat Hold (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.5\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_147CDLMATHOLD = {"CDLMATHOLD", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_147CDLMATHOLD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_146CDLMATHOLD}; -static PyObject *__pyx_pw_5talib_7_ta_lib_147CDLMATHOLD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLMATHOLD (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2817, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 2817, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2817, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2817, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2817, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2817, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLMATHOLD", 0) < (0)) __PYX_ERR(6, 2817, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLMATHOLD", 0, 4, 5, i); __PYX_ERR(6, 2817, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 2817, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2817, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2817, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2817, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2817, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 2819, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)((double)0.5)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLMATHOLD", 0, 4, 5, __pyx_nargs); __PYX_ERR(6, 2817, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMATHOLD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2819, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2819, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2819, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2819, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_146CDLMATHOLD(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_146CDLMATHOLD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLMATHOLD", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2839, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2840, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2841, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2842, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2844, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2848, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLMATHOLD_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2852, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMATHOLD(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMATHOLD, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2858, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLMATHOLD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_149CDLMORNINGDOJISTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_148CDLMORNINGDOJISTAR, "CDLMORNINGDOJISTAR(ndarray open, ndarray high, ndarray low, ndarray close, double penetration=0.3)\n\nCDLMORNINGDOJISTAR(open, high, low, close[, penetration=?])\n\nMorning Doji Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_149CDLMORNINGDOJISTAR = {"CDLMORNINGDOJISTAR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_149CDLMORNINGDOJISTAR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_148CDLMORNINGDOJISTAR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_149CDLMORNINGDOJISTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLMORNINGDOJISTAR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2861, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 2861, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2861, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2861, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2861, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2861, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLMORNINGDOJISTAR", 0) < (0)) __PYX_ERR(6, 2861, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLMORNINGDOJISTAR", 0, 4, 5, i); __PYX_ERR(6, 2861, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 2861, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2861, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2861, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2861, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2861, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 2863, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)((double)0.3)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLMORNINGDOJISTAR", 0, 4, 5, __pyx_nargs); __PYX_ERR(6, 2861, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGDOJISTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2863, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2863, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2863, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2863, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_148CDLMORNINGDOJISTAR(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_148CDLMORNINGDOJISTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLMORNINGDOJISTAR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2883, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2884, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2885, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2886, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2888, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2892, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLMORNINGDOJISTAR_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2896, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMORNINGDOJISTAR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGDOJISTAR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2902, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGDOJISTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_151CDLMORNINGSTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_150CDLMORNINGSTAR, "CDLMORNINGSTAR(ndarray open, ndarray high, ndarray low, ndarray close, double penetration=0.3)\n\nCDLMORNINGSTAR(open, high, low, close[, penetration=?])\n\nMorning Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_151CDLMORNINGSTAR = {"CDLMORNINGSTAR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_151CDLMORNINGSTAR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_150CDLMORNINGSTAR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_151CDLMORNINGSTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLMORNINGSTAR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2905, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 2905, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2905, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2905, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2905, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2905, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLMORNINGSTAR", 0) < (0)) __PYX_ERR(6, 2905, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLMORNINGSTAR", 0, 4, 5, i); __PYX_ERR(6, 2905, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 2905, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2905, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2905, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2905, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2905, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 2907, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)((double)0.3)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLMORNINGSTAR", 0, 4, 5, __pyx_nargs); __PYX_ERR(6, 2905, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGSTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2907, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2907, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2907, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2907, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_150CDLMORNINGSTAR(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_150CDLMORNINGSTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, double __pyx_v_penetration) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLMORNINGSTAR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2926, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2927, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2928, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2929, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2930, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2932, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2936, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLMORNINGSTAR_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2940, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMORNINGSTAR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGSTAR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2946, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGSTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_153CDLONNECK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_152CDLONNECK, "CDLONNECK(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLONNECK(open, high, low, close)\n\nOn-Neck Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_153CDLONNECK = {"CDLONNECK", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_153CDLONNECK, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_152CDLONNECK}; -static PyObject *__pyx_pw_5talib_7_ta_lib_153CDLONNECK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLONNECK (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2949, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2949, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2949, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2949, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2949, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLONNECK", 0) < (0)) __PYX_ERR(6, 2949, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLONNECK", 1, 4, 4, i); __PYX_ERR(6, 2949, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2949, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2949, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2949, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2949, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLONNECK", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2949, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLONNECK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2951, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2951, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2951, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2951, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_152CDLONNECK(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_152CDLONNECK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLONNECK", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2968, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2969, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2970, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2971, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 2972, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2974, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 2978, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLONNECK_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2982, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLONNECK(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLONNECK, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2988, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLONNECK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_155CDLPIERCING(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_154CDLPIERCING, "CDLPIERCING(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLPIERCING(open, high, low, close)\n\nPiercing Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_155CDLPIERCING = {"CDLPIERCING", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_155CDLPIERCING, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_154CDLPIERCING}; -static PyObject *__pyx_pw_5talib_7_ta_lib_155CDLPIERCING(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLPIERCING (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 2991, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLPIERCING", 0) < (0)) __PYX_ERR(6, 2991, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLPIERCING", 1, 4, 4, i); __PYX_ERR(6, 2991, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 2991, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 2991, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 2991, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 2991, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLPIERCING", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 2991, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLPIERCING", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 2993, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 2993, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 2993, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 2993, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_154CDLPIERCING(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_154CDLPIERCING(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLPIERCING", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3010, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3011, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3012, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3014, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3016, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3020, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLPIERCING_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3024, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLPIERCING(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLPIERCING, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3030, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLPIERCING", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_157CDLRICKSHAWMAN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_156CDLRICKSHAWMAN, "CDLRICKSHAWMAN(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLRICKSHAWMAN(open, high, low, close)\n\nRickshaw Man (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_157CDLRICKSHAWMAN = {"CDLRICKSHAWMAN", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_157CDLRICKSHAWMAN, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_156CDLRICKSHAWMAN}; -static PyObject *__pyx_pw_5talib_7_ta_lib_157CDLRICKSHAWMAN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLRICKSHAWMAN (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3033, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3033, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3033, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3033, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3033, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLRICKSHAWMAN", 0) < (0)) __PYX_ERR(6, 3033, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLRICKSHAWMAN", 1, 4, 4, i); __PYX_ERR(6, 3033, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3033, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3033, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3033, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3033, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLRICKSHAWMAN", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3033, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLRICKSHAWMAN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3035, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3035, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3035, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3035, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_156CDLRICKSHAWMAN(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_156CDLRICKSHAWMAN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLRICKSHAWMAN", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3052, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3053, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3054, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3055, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3056, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3058, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3062, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLRICKSHAWMAN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3066, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLRICKSHAWMAN(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLRICKSHAWMAN, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3072, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLRICKSHAWMAN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_159CDLRISEFALL3METHODS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_158CDLRISEFALL3METHODS, "CDLRISEFALL3METHODS(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLRISEFALL3METHODS(open, high, low, close)\n\nRising/Falling Three Methods (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_159CDLRISEFALL3METHODS = {"CDLRISEFALL3METHODS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_159CDLRISEFALL3METHODS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_158CDLRISEFALL3METHODS}; -static PyObject *__pyx_pw_5talib_7_ta_lib_159CDLRISEFALL3METHODS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLRISEFALL3METHODS (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3075, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3075, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3075, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3075, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3075, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLRISEFALL3METHODS", 0) < (0)) __PYX_ERR(6, 3075, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLRISEFALL3METHODS", 1, 4, 4, i); __PYX_ERR(6, 3075, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3075, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3075, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3075, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3075, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLRISEFALL3METHODS", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3075, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLRISEFALL3METHODS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3077, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3077, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3077, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3077, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_158CDLRISEFALL3METHODS(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_158CDLRISEFALL3METHODS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLRISEFALL3METHODS", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3094, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3095, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3096, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3097, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3098, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3104, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLRISEFALL3METHODS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3108, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLRISEFALL3METHODS(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLRISEFALL3METHODS, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLRISEFALL3METHODS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_161CDLSEPARATINGLINES(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_160CDLSEPARATINGLINES, "CDLSEPARATINGLINES(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLSEPARATINGLINES(open, high, low, close)\n\nSeparating Lines (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_161CDLSEPARATINGLINES = {"CDLSEPARATINGLINES", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_161CDLSEPARATINGLINES, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_160CDLSEPARATINGLINES}; -static PyObject *__pyx_pw_5talib_7_ta_lib_161CDLSEPARATINGLINES(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLSEPARATINGLINES (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3117, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3117, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3117, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3117, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3117, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLSEPARATINGLINES", 0) < (0)) __PYX_ERR(6, 3117, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLSEPARATINGLINES", 1, 4, 4, i); __PYX_ERR(6, 3117, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3117, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3117, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3117, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3117, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLSEPARATINGLINES", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3117, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSEPARATINGLINES", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3119, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3119, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3119, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3119, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_160CDLSEPARATINGLINES(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_160CDLSEPARATINGLINES(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLSEPARATINGLINES", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3137, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3140, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3146, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLSEPARATINGLINES_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3150, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSEPARATINGLINES(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSEPARATINGLINES, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLSEPARATINGLINES", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_163CDLSHOOTINGSTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_162CDLSHOOTINGSTAR, "CDLSHOOTINGSTAR(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLSHOOTINGSTAR(open, high, low, close)\n\nShooting Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_163CDLSHOOTINGSTAR = {"CDLSHOOTINGSTAR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_163CDLSHOOTINGSTAR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_162CDLSHOOTINGSTAR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_163CDLSHOOTINGSTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLSHOOTINGSTAR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3159, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3159, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3159, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3159, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3159, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLSHOOTINGSTAR", 0) < (0)) __PYX_ERR(6, 3159, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLSHOOTINGSTAR", 1, 4, 4, i); __PYX_ERR(6, 3159, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3159, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3159, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3159, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3159, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLSHOOTINGSTAR", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3159, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSHOOTINGSTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3161, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3161, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3161, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3161, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_162CDLSHOOTINGSTAR(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_162CDLSHOOTINGSTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLSHOOTINGSTAR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3179, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3182, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3188, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLSHOOTINGSTAR_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3192, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSHOOTINGSTAR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSHOOTINGSTAR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLSHOOTINGSTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_165CDLSHORTLINE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_164CDLSHORTLINE, "CDLSHORTLINE(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLSHORTLINE(open, high, low, close)\n\nShort Line Candle (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_165CDLSHORTLINE = {"CDLSHORTLINE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_165CDLSHORTLINE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_164CDLSHORTLINE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_165CDLSHORTLINE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLSHORTLINE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3201, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3201, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3201, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3201, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3201, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLSHORTLINE", 0) < (0)) __PYX_ERR(6, 3201, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLSHORTLINE", 1, 4, 4, i); __PYX_ERR(6, 3201, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3201, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3201, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3201, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3201, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLSHORTLINE", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3201, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSHORTLINE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3203, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3203, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3203, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3203, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_164CDLSHORTLINE(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_164CDLSHORTLINE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLSHORTLINE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3223, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3224, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3226, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3230, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLSHORTLINE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3234, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSHORTLINE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSHORTLINE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLSHORTLINE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_167CDLSPINNINGTOP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_166CDLSPINNINGTOP, "CDLSPINNINGTOP(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLSPINNINGTOP(open, high, low, close)\n\nSpinning Top (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_167CDLSPINNINGTOP = {"CDLSPINNINGTOP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_167CDLSPINNINGTOP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_166CDLSPINNINGTOP}; -static PyObject *__pyx_pw_5talib_7_ta_lib_167CDLSPINNINGTOP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLSPINNINGTOP (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3243, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3243, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3243, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3243, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3243, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLSPINNINGTOP", 0) < (0)) __PYX_ERR(6, 3243, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLSPINNINGTOP", 1, 4, 4, i); __PYX_ERR(6, 3243, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3243, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3243, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3243, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3243, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLSPINNINGTOP", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3243, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSPINNINGTOP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3245, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3245, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3245, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3245, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_166CDLSPINNINGTOP(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_166CDLSPINNINGTOP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLSPINNINGTOP", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3263, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3266, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3272, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLSPINNINGTOP_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3276, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSPINNINGTOP(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSPINNINGTOP, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3282, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLSPINNINGTOP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_169CDLSTALLEDPATTERN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_168CDLSTALLEDPATTERN, "CDLSTALLEDPATTERN(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLSTALLEDPATTERN(open, high, low, close)\n\nStalled Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_169CDLSTALLEDPATTERN = {"CDLSTALLEDPATTERN", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_169CDLSTALLEDPATTERN, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_168CDLSTALLEDPATTERN}; -static PyObject *__pyx_pw_5talib_7_ta_lib_169CDLSTALLEDPATTERN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLSTALLEDPATTERN (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3285, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLSTALLEDPATTERN", 0) < (0)) __PYX_ERR(6, 3285, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLSTALLEDPATTERN", 1, 4, 4, i); __PYX_ERR(6, 3285, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3285, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3285, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3285, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3285, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLSTALLEDPATTERN", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3285, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSTALLEDPATTERN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3287, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3287, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3287, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3287, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_168CDLSTALLEDPATTERN(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_168CDLSTALLEDPATTERN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLSTALLEDPATTERN", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3304, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3306, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3308, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3310, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3314, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLSTALLEDPATTERN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3318, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSTALLEDPATTERN(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSTALLEDPATTERN, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3324, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLSTALLEDPATTERN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_171CDLSTICKSANDWICH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_170CDLSTICKSANDWICH, "CDLSTICKSANDWICH(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLSTICKSANDWICH(open, high, low, close)\n\nStick Sandwich (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_171CDLSTICKSANDWICH = {"CDLSTICKSANDWICH", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_171CDLSTICKSANDWICH, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_170CDLSTICKSANDWICH}; -static PyObject *__pyx_pw_5talib_7_ta_lib_171CDLSTICKSANDWICH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLSTICKSANDWICH (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3327, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3327, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3327, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3327, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3327, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLSTICKSANDWICH", 0) < (0)) __PYX_ERR(6, 3327, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLSTICKSANDWICH", 1, 4, 4, i); __PYX_ERR(6, 3327, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3327, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3327, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3327, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3327, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLSTICKSANDWICH", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3327, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSTICKSANDWICH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3329, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3329, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3329, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3329, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_170CDLSTICKSANDWICH(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_170CDLSTICKSANDWICH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLSTICKSANDWICH", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3347, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3348, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3349, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3350, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3352, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3356, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLSTICKSANDWICH_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3360, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSTICKSANDWICH(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSTICKSANDWICH, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLSTICKSANDWICH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_173CDLTAKURI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_172CDLTAKURI, "CDLTAKURI(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLTAKURI(open, high, low, close)\n\nTakuri (Dragonfly Doji with very long lower shadow) (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_173CDLTAKURI = {"CDLTAKURI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_173CDLTAKURI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_172CDLTAKURI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_173CDLTAKURI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLTAKURI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3369, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3369, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3369, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3369, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3369, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLTAKURI", 0) < (0)) __PYX_ERR(6, 3369, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLTAKURI", 1, 4, 4, i); __PYX_ERR(6, 3369, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3369, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3369, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3369, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3369, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLTAKURI", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3369, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTAKURI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3371, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3371, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3371, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3371, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_172CDLTAKURI(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_172CDLTAKURI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLTAKURI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3388, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3389, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3390, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3391, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3392, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3394, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3398, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLTAKURI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3402, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTAKURI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTAKURI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLTAKURI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_175CDLTASUKIGAP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_174CDLTASUKIGAP, "CDLTASUKIGAP(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLTASUKIGAP(open, high, low, close)\n\nTasuki Gap (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_175CDLTASUKIGAP = {"CDLTASUKIGAP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_175CDLTASUKIGAP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_174CDLTASUKIGAP}; -static PyObject *__pyx_pw_5talib_7_ta_lib_175CDLTASUKIGAP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLTASUKIGAP (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3411, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3411, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3411, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3411, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3411, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLTASUKIGAP", 0) < (0)) __PYX_ERR(6, 3411, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLTASUKIGAP", 1, 4, 4, i); __PYX_ERR(6, 3411, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3411, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3411, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3411, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3411, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLTASUKIGAP", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3411, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTASUKIGAP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3413, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3413, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3413, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3413, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_174CDLTASUKIGAP(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_174CDLTASUKIGAP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLTASUKIGAP", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3432, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3434, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3440, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLTASUKIGAP_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3444, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTASUKIGAP(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTASUKIGAP, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3450, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLTASUKIGAP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_177CDLTHRUSTING(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_176CDLTHRUSTING, "CDLTHRUSTING(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLTHRUSTING(open, high, low, close)\n\nThrusting Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_177CDLTHRUSTING = {"CDLTHRUSTING", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_177CDLTHRUSTING, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_176CDLTHRUSTING}; -static PyObject *__pyx_pw_5talib_7_ta_lib_177CDLTHRUSTING(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLTHRUSTING (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3453, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3453, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3453, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3453, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3453, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLTHRUSTING", 0) < (0)) __PYX_ERR(6, 3453, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLTHRUSTING", 1, 4, 4, i); __PYX_ERR(6, 3453, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3453, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3453, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3453, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3453, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLTHRUSTING", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3453, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTHRUSTING", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3455, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3455, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3455, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3455, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_176CDLTHRUSTING(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_176CDLTHRUSTING(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLTHRUSTING", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3472, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3473, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3474, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3476, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3478, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3482, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLTHRUSTING_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3486, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTHRUSTING(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTHRUSTING, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLTHRUSTING", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_179CDLTRISTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_178CDLTRISTAR, "CDLTRISTAR(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLTRISTAR(open, high, low, close)\n\nTristar Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_179CDLTRISTAR = {"CDLTRISTAR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_179CDLTRISTAR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_178CDLTRISTAR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_179CDLTRISTAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLTRISTAR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3495, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3495, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3495, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3495, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3495, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLTRISTAR", 0) < (0)) __PYX_ERR(6, 3495, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLTRISTAR", 1, 4, 4, i); __PYX_ERR(6, 3495, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3495, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3495, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3495, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3495, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLTRISTAR", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3495, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTRISTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3497, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3497, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3497, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3497, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_178CDLTRISTAR(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_178CDLTRISTAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLTRISTAR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3514, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3516, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3517, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3518, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3520, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3524, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLTRISTAR_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3528, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTRISTAR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTRISTAR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLTRISTAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_181CDLUNIQUE3RIVER(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_180CDLUNIQUE3RIVER, "CDLUNIQUE3RIVER(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLUNIQUE3RIVER(open, high, low, close)\n\nUnique 3 River (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_181CDLUNIQUE3RIVER = {"CDLUNIQUE3RIVER", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_181CDLUNIQUE3RIVER, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_180CDLUNIQUE3RIVER}; -static PyObject *__pyx_pw_5talib_7_ta_lib_181CDLUNIQUE3RIVER(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLUNIQUE3RIVER (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3537, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3537, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3537, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3537, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3537, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLUNIQUE3RIVER", 0) < (0)) __PYX_ERR(6, 3537, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLUNIQUE3RIVER", 1, 4, 4, i); __PYX_ERR(6, 3537, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3537, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3537, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3537, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3537, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLUNIQUE3RIVER", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3537, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLUNIQUE3RIVER", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3539, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3539, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3539, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3539, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_180CDLUNIQUE3RIVER(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_180CDLUNIQUE3RIVER(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLUNIQUE3RIVER", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3556, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3557, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3558, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3559, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3560, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3562, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3566, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLUNIQUE3RIVER_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3570, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLUNIQUE3RIVER(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLUNIQUE3RIVER, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLUNIQUE3RIVER", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_183CDLUPSIDEGAP2CROWS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_182CDLUPSIDEGAP2CROWS, "CDLUPSIDEGAP2CROWS(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLUPSIDEGAP2CROWS(open, high, low, close)\n\nUpside Gap Two Crows (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_183CDLUPSIDEGAP2CROWS = {"CDLUPSIDEGAP2CROWS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_183CDLUPSIDEGAP2CROWS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_182CDLUPSIDEGAP2CROWS}; -static PyObject *__pyx_pw_5talib_7_ta_lib_183CDLUPSIDEGAP2CROWS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLUPSIDEGAP2CROWS (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3579, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3579, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3579, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3579, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3579, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLUPSIDEGAP2CROWS", 0) < (0)) __PYX_ERR(6, 3579, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLUPSIDEGAP2CROWS", 1, 4, 4, i); __PYX_ERR(6, 3579, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3579, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3579, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3579, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3579, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLUPSIDEGAP2CROWS", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3579, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLUPSIDEGAP2CROWS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3581, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3581, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3581, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3581, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_182CDLUPSIDEGAP2CROWS(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_182CDLUPSIDEGAP2CROWS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLUPSIDEGAP2CROWS", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3598, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3599, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3602, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3604, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3608, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLUPSIDEGAP2CROWS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3612, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLUPSIDEGAP2CROWS(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLUPSIDEGAP2CROWS, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLUPSIDEGAP2CROWS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_185CDLXSIDEGAP3METHODS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_184CDLXSIDEGAP3METHODS, "CDLXSIDEGAP3METHODS(ndarray open, ndarray high, ndarray low, ndarray close)\n\nCDLXSIDEGAP3METHODS(open, high, low, close)\n\nUpside/Downside Gap Three Methods (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_185CDLXSIDEGAP3METHODS = {"CDLXSIDEGAP3METHODS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_185CDLXSIDEGAP3METHODS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_184CDLXSIDEGAP3METHODS}; -static PyObject *__pyx_pw_5talib_7_ta_lib_185CDLXSIDEGAP3METHODS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CDLXSIDEGAP3METHODS (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3621, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3621, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3621, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3621, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3621, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CDLXSIDEGAP3METHODS", 0) < (0)) __PYX_ERR(6, 3621, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CDLXSIDEGAP3METHODS", 1, 4, 4, i); __PYX_ERR(6, 3621, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3621, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3621, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3621, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3621, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CDLXSIDEGAP3METHODS", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 3621, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLXSIDEGAP3METHODS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 3623, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3623, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3623, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3623, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_184CDLXSIDEGAP3METHODS(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_184CDLXSIDEGAP3METHODS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CDLXSIDEGAP3METHODS", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3640, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3644, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3646, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3650, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLXSIDEGAP3METHODS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3654, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLXSIDEGAP3METHODS(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLXSIDEGAP3METHODS, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3660, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLXSIDEGAP3METHODS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_187CEIL(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_186CEIL, "CEIL(ndarray real)\n\nCEIL(real)\n\nVector Ceil (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_187CEIL = {"CEIL", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_187CEIL, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_186CEIL}; -static PyObject *__pyx_pw_5talib_7_ta_lib_187CEIL(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CEIL (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3663, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3663, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CEIL", 0) < (0)) __PYX_ERR(6, 3663, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CEIL", 1, 1, 1, i); __PYX_ERR(6, 3663, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3663, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CEIL", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 3663, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CEIL", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 3665, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_186CEIL(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_186CEIL(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CEIL", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3682, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3689, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CEIL_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3693, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CEIL(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CEIL, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3699, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CEIL", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_189CMF(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_188CMF, "CMF(ndarray high, ndarray low, ndarray close, ndarray volume, int timeperiod=-0x80000000)\n\nCMF(high, low, close, volume[, timeperiod=?])\n\nChaikin Money Flow (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nParameters:\n timeperiod: 20\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_189CMF = {"CMF", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_189CMF, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_188CMF}; -static PyObject *__pyx_pw_5talib_7_ta_lib_189CMF(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - PyArrayObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CMF (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3702, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 3702, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3702, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3702, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3702, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3702, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CMF", 0) < (0)) __PYX_ERR(6, 3702, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CMF", 0, 4, 5, i); __PYX_ERR(6, 3702, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 3702, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3702, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3702, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3702, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3702, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - __pyx_v_volume = ((PyArrayObject *)values[3]); - if (values[4]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 3704, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CMF", 0, 4, 5, __pyx_nargs); __PYX_ERR(6, 3702, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMF", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 3704, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 3704, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 3704, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 3704, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_188CMF(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_188CMF(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CMF", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3723, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3724, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3725, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3726, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3727, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3729, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3733, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CMF_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3737, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CMF(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMF, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3743, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CMF", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_191CMO(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_190CMO, "CMO(ndarray real, int timeperiod=-0x80000000)\n\nCMO(real[, timeperiod=?])\n\nChande Momentum Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_191CMO = {"CMO", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_191CMO, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_190CMO}; -static PyObject *__pyx_pw_5talib_7_ta_lib_191CMO(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CMO (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3746, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3746, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3746, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CMO", 0) < (0)) __PYX_ERR(6, 3746, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CMO", 0, 1, 2, i); __PYX_ERR(6, 3746, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3746, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3746, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 3748, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CMO", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 3746, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMO", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 3748, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_190CMO(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_190CMO(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CMO", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3767, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3770, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3774, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CMO_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3778, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CMO(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMO, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3784, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CMO", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_193CMOU(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_192CMOU, "CMOU(ndarray real, int timeperiod=-0x80000000)\n\nCMOU(real[, timeperiod=?])\n\nChande Momentum Oscillator (Unsmoothed) (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_193CMOU = {"CMOU", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_193CMOU, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_192CMOU}; -static PyObject *__pyx_pw_5talib_7_ta_lib_193CMOU(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CMOU (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3787, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3787, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3787, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CMOU", 0) < (0)) __PYX_ERR(6, 3787, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CMOU", 0, 1, 2, i); __PYX_ERR(6, 3787, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3787, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3787, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 3789, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CMOU", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 3787, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMOU", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 3789, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_192CMOU(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_192CMOU(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CMOU", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3808, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3815, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CMOU_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3819, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CMOU(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMOU, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CMOU", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_195COPPOCK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_194COPPOCK, "COPPOCK(ndarray real, int wmaperiod=-0x80000000, int roc1period=-0x80000000, int roc2period=-0x80000000)\n\nCOPPOCK(real[, wmaperiod=?, roc1period=?, roc2period=?])\n\nCoppock Curve (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n wmaperiod: 10\n roc1period: 11\n roc2period: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_195COPPOCK = {"COPPOCK", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_195COPPOCK, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_194COPPOCK}; -static PyObject *__pyx_pw_5talib_7_ta_lib_195COPPOCK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_wmaperiod; - int __pyx_v_roc1period; - int __pyx_v_roc2period; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("COPPOCK (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_wmaperiod,&__pyx_mstate_global->__pyx_n_u_roc1period,&__pyx_mstate_global->__pyx_n_u_roc2period,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3828, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3828, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3828, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3828, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3828, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "COPPOCK", 0) < (0)) __PYX_ERR(6, 3828, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("COPPOCK", 0, 1, 4, i); __PYX_ERR(6, 3828, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 3828, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3828, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3828, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3828, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_wmaperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_wmaperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 3830, __pyx_L3_error) - } else { - __pyx_v_wmaperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_roc1period = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_roc1period == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 3830, __pyx_L3_error) - } else { - __pyx_v_roc1period = ((int)((int)-2147483648)); - } - if (values[3]) { - __pyx_v_roc2period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_roc2period == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 3830, __pyx_L3_error) - } else { - __pyx_v_roc2period = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("COPPOCK", 0, 1, 4, __pyx_nargs); __PYX_ERR(6, 3828, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COPPOCK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 3830, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_194COPPOCK(__pyx_self, __pyx_v_real, __pyx_v_wmaperiod, __pyx_v_roc1period, __pyx_v_roc2period); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_194COPPOCK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_wmaperiod, int __pyx_v_roc1period, int __pyx_v_roc2period) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("COPPOCK", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3851, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3858, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_COPPOCK_Lookback(__pyx_v_wmaperiod, __pyx_v_roc1period, __pyx_v_roc2period)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3862, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_COPPOCK(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_wmaperiod, __pyx_v_roc1period, __pyx_v_roc2period, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COPPOCK, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3868, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.COPPOCK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_197CORREL(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_196CORREL, "CORREL(ndarray real0, ndarray real1, int timeperiod=-0x80000000)\n\nCORREL(real0, real1[, timeperiod=?])\n\nPearson\047s Correlation Coefficient (r) (Statistic Functions)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_197CORREL = {"CORREL", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_197CORREL, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_196CORREL}; -static PyObject *__pyx_pw_5talib_7_ta_lib_197CORREL(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real0 = 0; - PyArrayObject *__pyx_v_real1 = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CORREL (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3871, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3871, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3871, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3871, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CORREL", 0) < (0)) __PYX_ERR(6, 3871, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CORREL", 0, 2, 3, i); __PYX_ERR(6, 3871, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 3871, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 3871, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3871, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real0 = ((PyArrayObject *)values[0]); - __pyx_v_real1 = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 3873, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CORREL", 0, 2, 3, __pyx_nargs); __PYX_ERR(6, 3871, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CORREL", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real0), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real0", 0))) __PYX_ERR(6, 3873, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real1), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real1", 0))) __PYX_ERR(6, 3873, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_196CORREL(__pyx_self, __pyx_v_real0, __pyx_v_real1, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_196CORREL(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real0, PyArrayObject *__pyx_v_real1, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CORREL", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real0); - __Pyx_INCREF((PyObject *)__pyx_v_real1); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3893, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real0, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3894, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real1, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_real0, __pyx_v_real1); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 3895, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3897, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real0)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real1))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3901, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CORREL_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3905, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CORREL(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real1)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CORREL, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3911, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CORREL", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_real1); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_199COS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_198COS, "COS(ndarray real)\n\nCOS(real)\n\nVector Trigonometric Cos (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_199COS = {"COS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_199COS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_198COS}; -static PyObject *__pyx_pw_5talib_7_ta_lib_199COS(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("COS (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3914, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3914, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "COS", 0) < (0)) __PYX_ERR(6, 3914, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("COS", 1, 1, 1, i); __PYX_ERR(6, 3914, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3914, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("COS", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 3914, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 3916, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_198COS(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_198COS(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("COS", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3936, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3940, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_COS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3944, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_COS(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COS, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3950, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.COS", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_201COSH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_200COSH, "COSH(ndarray real)\n\nCOSH(real)\n\nVector Trigonometric Cosh (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_201COSH = {"COSH", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_201COSH, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_200COSH}; -static PyObject *__pyx_pw_5talib_7_ta_lib_201COSH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("COSH (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3953, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3953, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "COSH", 0) < (0)) __PYX_ERR(6, 3953, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("COSH", 1, 1, 1, i); __PYX_ERR(6, 3953, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3953, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("COSH", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 3953, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COSH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 3955, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_200COSH(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_200COSH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("COSH", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3972, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3975, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 3979, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_COSH_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3983, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_COSH(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COSH, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 3989, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.COSH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_203CUMSUM(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_202CUMSUM, "CUMSUM(ndarray real)\n\nCUMSUM(real)\n\nCumulative Sum (Math Operators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_203CUMSUM = {"CUMSUM", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_203CUMSUM, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_202CUMSUM}; -static PyObject *__pyx_pw_5talib_7_ta_lib_203CUMSUM(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CUMSUM (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 3992, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3992, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUMSUM", 0) < (0)) __PYX_ERR(6, 3992, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUMSUM", 1, 1, 1, i); __PYX_ERR(6, 3992, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 3992, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CUMSUM", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 3992, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CUMSUM", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 3994, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_202CUMSUM(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_202CUMSUM(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CUMSUM", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4011, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4014, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4018, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CUMSUM_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4022, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CUMSUM(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CUMSUM, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4028, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CUMSUM", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_205CVI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_204CVI, "CVI(ndarray high, ndarray low, int timeperiod=-0x80000000, int rocperiod=-0x80000000)\n\nCVI(high, low[, timeperiod=?, rocperiod=?])\n\nChaikin\047s Volatility (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 10\n rocperiod: 10\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_205CVI = {"CVI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_205CVI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_204CVI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_205CVI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - int __pyx_v_rocperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("CVI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_rocperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4031, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 4031, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4031, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4031, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4031, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CVI", 0) < (0)) __PYX_ERR(6, 4031, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CVI", 0, 2, 4, i); __PYX_ERR(6, 4031, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 4031, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4031, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4031, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4031, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4033, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - if (values[3]) { - __pyx_v_rocperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_rocperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4033, __pyx_L3_error) - } else { - __pyx_v_rocperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("CVI", 0, 2, 4, __pyx_nargs); __PYX_ERR(6, 4031, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CVI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 4033, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 4033, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_204CVI(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod, __pyx_v_rocperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_204CVI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod, int __pyx_v_rocperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("CVI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4053, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4054, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 4055, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4057, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4061, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CVI_Lookback(__pyx_v_timeperiod, __pyx_v_rocperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4065, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CVI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_timeperiod, __pyx_v_rocperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CVI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4071, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CVI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_207DEMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_206DEMA, "DEMA(ndarray real, int timeperiod=-0x80000000)\n\nDEMA(real[, timeperiod=?])\n\nDouble Exponential Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_207DEMA = {"DEMA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_207DEMA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_206DEMA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_207DEMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("DEMA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4074, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4074, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4074, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "DEMA", 0) < (0)) __PYX_ERR(6, 4074, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("DEMA", 0, 1, 2, i); __PYX_ERR(6, 4074, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4074, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4074, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4076, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("DEMA", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 4074, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DEMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4076, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_206DEMA(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_206DEMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("DEMA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4095, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4102, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_DEMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4106, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_DEMA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DEMA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4112, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.DEMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_209DIV(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_208DIV, "DIV(ndarray real0, ndarray real1)\n\nDIV(real0, real1)\n\nVector Arithmetic Div (Math Operators)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_209DIV = {"DIV", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_209DIV, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_208DIV}; -static PyObject *__pyx_pw_5talib_7_ta_lib_209DIV(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real0 = 0; - PyArrayObject *__pyx_v_real1 = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("DIV (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4115, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4115, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4115, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "DIV", 0) < (0)) __PYX_ERR(6, 4115, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("DIV", 1, 2, 2, i); __PYX_ERR(6, 4115, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4115, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4115, __pyx_L3_error) - } - __pyx_v_real0 = ((PyArrayObject *)values[0]); - __pyx_v_real1 = ((PyArrayObject *)values[1]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("DIV", 1, 2, 2, __pyx_nargs); __PYX_ERR(6, 4115, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DIV", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real0), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real0", 0))) __PYX_ERR(6, 4117, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real1), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real1", 0))) __PYX_ERR(6, 4117, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_208DIV(__pyx_self, __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_208DIV(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real0, PyArrayObject *__pyx_v_real1) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("DIV", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real0); - __Pyx_INCREF((PyObject *)__pyx_v_real1); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real0, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real1, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_real0, __pyx_v_real1); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 4137, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real0)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real1))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4143, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_DIV_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4147, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_DIV(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real1)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DIV, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.DIV", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_real1); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_211DONCHIAN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_210DONCHIAN, "DONCHIAN(ndarray high, ndarray low, int timeperiod=-0x80000000)\n\nDONCHIAN(high, low[, timeperiod=?])\n\nDonchian Channels (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 20\nOutputs:\n upperband\n middleband\n lowerband"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_211DONCHIAN = {"DONCHIAN", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_211DONCHIAN, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_210DONCHIAN}; -static PyObject *__pyx_pw_5talib_7_ta_lib_211DONCHIAN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("DONCHIAN (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4156, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4156, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4156, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4156, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "DONCHIAN", 0) < (0)) __PYX_ERR(6, 4156, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("DONCHIAN", 0, 2, 3, i); __PYX_ERR(6, 4156, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4156, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4156, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4156, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4158, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("DONCHIAN", 0, 2, 3, __pyx_nargs); __PYX_ERR(6, 4156, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DONCHIAN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 4158, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 4158, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_210DONCHIAN(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_210DONCHIAN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outrealupperband = 0; - PyArrayObject *__pyx_v_outrealmiddleband = 0; - PyArrayObject *__pyx_v_outreallowerband = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - int __pyx_t_8; - char const *__pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("DONCHIAN", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4182, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 4183, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 4185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 4185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 4185, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(6, 4185, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(6, 4185, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4189, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_DONCHIAN_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_6 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 4193, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_outrealupperband = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; - - __pyx_t_6 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 4194, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_outrealmiddleband = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; - - __pyx_t_6 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 4195, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_outreallowerband = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_DONCHIAN(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outrealupperband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outrealmiddleband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreallowerband)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); - if ( unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __pyx_t_7 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_9; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_6 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DONCHIAN, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 4201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 4202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_INCREF((PyObject *)__pyx_v_outrealupperband); - __Pyx_GIVEREF((PyObject *)__pyx_v_outrealupperband); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_outrealupperband)) != (0)) __PYX_ERR(6, 4202, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outrealmiddleband); - __Pyx_GIVEREF((PyObject *)__pyx_v_outrealmiddleband); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_outrealmiddleband)) != (0)) __PYX_ERR(6, 4202, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outreallowerband); - __Pyx_GIVEREF((PyObject *)__pyx_v_outreallowerband); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, ((PyObject *)__pyx_v_outreallowerband)) != (0)) __PYX_ERR(6, 4202, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.DONCHIAN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outrealupperband); - __Pyx_XDECREF((PyObject *)__pyx_v_outrealmiddleband); - __Pyx_XDECREF((PyObject *)__pyx_v_outreallowerband); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_213DPO(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_212DPO, "DPO(ndarray real, int timeperiod=-0x80000000)\n\nDPO(real[, timeperiod=?])\n\nDetrended Price Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 20\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_213DPO = {"DPO", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_213DPO, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_212DPO}; -static PyObject *__pyx_pw_5talib_7_ta_lib_213DPO(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("DPO (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4204, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4204, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4204, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "DPO", 0) < (0)) __PYX_ERR(6, 4204, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("DPO", 0, 1, 2, i); __PYX_ERR(6, 4204, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4204, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4204, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4206, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("DPO", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 4204, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DPO", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4206, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_212DPO(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_212DPO(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("DPO", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4225, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4232, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_DPO_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4236, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_DPO(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DPO, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.DPO", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_215DX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_214DX, "DX(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000)\n\nDX(high, low, close[, timeperiod=?])\n\nDirectional Movement Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_215DX = {"DX", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_215DX, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_214DX}; -static PyObject *__pyx_pw_5talib_7_ta_lib_215DX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("DX (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4245, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 4245, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4245, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4245, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4245, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "DX", 0) < (0)) __PYX_ERR(6, 4245, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("DX", 0, 3, 4, i); __PYX_ERR(6, 4245, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 4245, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4245, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4245, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4245, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4247, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("DX", 0, 3, 4, __pyx_nargs); __PYX_ERR(6, 4245, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 4247, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 4247, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 4247, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_214DX(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_214DX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("DX", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4266, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 4269, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4271, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4275, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_DX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4279, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_DX(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DX, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4285, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.DX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_217EFI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_216EFI, "EFI(ndarray close, ndarray volume, int timeperiod=-0x80000000)\n\nEFI(close, volume[, timeperiod=?])\n\nElder\047s Force Index (Volume Indicators)\n\nInputs:\n prices: [\047close\047, \047volume\047]\nParameters:\n timeperiod: 13\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_217EFI = {"EFI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_217EFI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_216EFI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_217EFI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_close = 0; - PyArrayObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("EFI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4288, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4288, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4288, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4288, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "EFI", 0) < (0)) __PYX_ERR(6, 4288, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("EFI", 0, 2, 3, i); __PYX_ERR(6, 4288, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4288, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4288, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4288, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_close = ((PyArrayObject *)values[0]); - __pyx_v_volume = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4290, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("EFI", 0, 2, 3, __pyx_nargs); __PYX_ERR(6, 4288, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EFI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 4290, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 4290, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_216EFI(__pyx_self, __pyx_v_close, __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_216EFI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("EFI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_close); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4310, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_close, __pyx_v_volume); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 4311, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4313, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4317, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_EFI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4321, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_EFI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EFI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.EFI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_219EMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_218EMA, "EMA(ndarray real, int timeperiod=-0x80000000)\n\nEMA(real[, timeperiod=?])\n\nExponential Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_219EMA = {"EMA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_219EMA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_218EMA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_219EMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("EMA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4330, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4330, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4330, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "EMA", 0) < (0)) __PYX_ERR(6, 4330, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("EMA", 0, 1, 2, i); __PYX_ERR(6, 4330, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4330, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4330, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4332, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("EMA", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 4330, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4332, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_218EMA(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_218EMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("EMA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4354, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4358, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_EMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4362, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_EMA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EMA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4368, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.EMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_221ER(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_220ER, "ER(ndarray real, int timeperiod=-0x80000000)\n\nER(real[, timeperiod=?])\n\nKaufman Efficiency Ratio (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_221ER = {"ER", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_221ER, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_220ER}; -static PyObject *__pyx_pw_5talib_7_ta_lib_221ER(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ER (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4371, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4371, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4371, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ER", 0) < (0)) __PYX_ERR(6, 4371, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ER", 0, 1, 2, i); __PYX_ERR(6, 4371, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4371, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4371, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4373, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ER", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 4371, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ER", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4373, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_220ER(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_220ER(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ER", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4392, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4395, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4399, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ER_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4403, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ER(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ER, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ER", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_223ERI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_222ERI, "ERI(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000)\n\nERI(high, low, close[, timeperiod=?])\n\nElder Ray Index (Bull Power / Bear Power) (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 13\nOutputs:\n bullpower\n bearpower"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_223ERI = {"ERI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_223ERI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_222ERI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_223ERI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ERI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4412, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 4412, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4412, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4412, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4412, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ERI", 0) < (0)) __PYX_ERR(6, 4412, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ERI", 0, 3, 4, i); __PYX_ERR(6, 4412, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 4412, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4412, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4412, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4412, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4414, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ERI", 0, 3, 4, __pyx_nargs); __PYX_ERR(6, 4412, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ERI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 4414, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 4414, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 4414, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_222ERI(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_222ERI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outbullpower = 0; - PyArrayObject *__pyx_v_outbearpower = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - char const *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ERI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4435, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4437, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 4438, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4440, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4440, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 4440, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 4440, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(6, 4440, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4444, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ERI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 4448, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outbullpower = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 4449, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outbearpower = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ERI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outbullpower)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outbearpower)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - if ( unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_5 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ERI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 4455, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 4456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF((PyObject *)__pyx_v_outbullpower); - __Pyx_GIVEREF((PyObject *)__pyx_v_outbullpower); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_outbullpower)) != (0)) __PYX_ERR(6, 4456, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outbearpower); - __Pyx_GIVEREF((PyObject *)__pyx_v_outbearpower); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_outbearpower)) != (0)) __PYX_ERR(6, 4456, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.ERI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outbullpower); - __Pyx_XDECREF((PyObject *)__pyx_v_outbearpower); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_225EXP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_224EXP, "EXP(ndarray real)\n\nEXP(real)\n\nVector Arithmetic Exp (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_225EXP = {"EXP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_225EXP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_224EXP}; -static PyObject *__pyx_pw_5talib_7_ta_lib_225EXP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("EXP (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4458, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4458, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "EXP", 0) < (0)) __PYX_ERR(6, 4458, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("EXP", 1, 1, 1, i); __PYX_ERR(6, 4458, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4458, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("EXP", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 4458, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EXP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4460, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_224EXP(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_224EXP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("EXP", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4477, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4484, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_EXP_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4488, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_EXP(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EXP, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4494, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.EXP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_227FLOOR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_226FLOOR, "FLOOR(ndarray real)\n\nFLOOR(real)\n\nVector Floor (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_227FLOOR = {"FLOOR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_227FLOOR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_226FLOOR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_227FLOOR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("FLOOR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4497, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4497, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "FLOOR", 0) < (0)) __PYX_ERR(6, 4497, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("FLOOR", 1, 1, 1, i); __PYX_ERR(6, 4497, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4497, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("FLOOR", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 4497, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FLOOR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4499, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_226FLOOR(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_226FLOOR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("FLOOR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4516, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4519, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4523, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_FLOOR_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4527, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_FLOOR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FLOOR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4533, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.FLOOR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_229FOSC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_228FOSC, "FOSC(ndarray real, int timeperiod=-0x80000000)\n\nFOSC(real[, timeperiod=?])\n\nForecast Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 5\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_229FOSC = {"FOSC", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_229FOSC, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_228FOSC}; -static PyObject *__pyx_pw_5talib_7_ta_lib_229FOSC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("FOSC (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4536, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "FOSC", 0) < (0)) __PYX_ERR(6, 4536, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("FOSC", 0, 1, 2, i); __PYX_ERR(6, 4536, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4536, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4538, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("FOSC", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 4536, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FOSC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4538, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_228FOSC(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_228FOSC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("FOSC", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4557, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4560, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4564, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_FOSC_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4568, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_FOSC(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FOSC, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4574, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.FOSC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_231FRACTAL(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_230FRACTAL, "FRACTAL(ndarray high, ndarray low, int leftbars=-0x80000000, int rightbars=-0x80000000)\n\nFRACTAL(high, low[, leftbars=?, rightbars=?])\n\nWilliams Fractal (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n leftbars: 2\n rightbars: 2\nOutputs:\n swinghigh\n swinglow"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_231FRACTAL = {"FRACTAL", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_231FRACTAL, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_230FRACTAL}; -static PyObject *__pyx_pw_5talib_7_ta_lib_231FRACTAL(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - int __pyx_v_leftbars; - int __pyx_v_rightbars; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("FRACTAL (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_leftbars,&__pyx_mstate_global->__pyx_n_u_rightbars,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4577, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 4577, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4577, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4577, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4577, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "FRACTAL", 0) < (0)) __PYX_ERR(6, 4577, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("FRACTAL", 0, 2, 4, i); __PYX_ERR(6, 4577, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 4577, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4577, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4577, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4577, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_leftbars = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_leftbars == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4579, __pyx_L3_error) - } else { - __pyx_v_leftbars = ((int)((int)-2147483648)); - } - if (values[3]) { - __pyx_v_rightbars = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_rightbars == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4579, __pyx_L3_error) - } else { - __pyx_v_rightbars = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("FRACTAL", 0, 2, 4, __pyx_nargs); __PYX_ERR(6, 4577, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FRACTAL", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 4579, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 4579, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_230FRACTAL(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_leftbars, __pyx_v_rightbars); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_230FRACTAL(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_leftbars, int __pyx_v_rightbars) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outswinghigh = 0; - PyArrayObject *__pyx_v_outswinglow = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - char const *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("FRACTAL", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4602, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 4603, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4605, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4605, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 4605, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 4605, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(6, 4605, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4609, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_FRACTAL_Lookback(__pyx_v_leftbars, __pyx_v_rightbars)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 4613, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outswinghigh = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 4614, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outswinglow = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_FRACTAL(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_leftbars, __pyx_v_rightbars, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outswinghigh)) + __pyx_v_lookback), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outswinglow)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - if ( unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_5 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FRACTAL, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 4620, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 4621, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF((PyObject *)__pyx_v_outswinghigh); - __Pyx_GIVEREF((PyObject *)__pyx_v_outswinghigh); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_outswinghigh)) != (0)) __PYX_ERR(6, 4621, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outswinglow); - __Pyx_GIVEREF((PyObject *)__pyx_v_outswinglow); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_outswinglow)) != (0)) __PYX_ERR(6, 4621, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.FRACTAL", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outswinghigh); - __Pyx_XDECREF((PyObject *)__pyx_v_outswinglow); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_233HA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_232HA, "HA(ndarray open, ndarray high, ndarray low, ndarray close)\n\nHA(open, high, low, close)\n\nHeikin-Ashi Candles (Price Transform)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n haopen\n hahigh\n halow\n haclose"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_233HA = {"HA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_233HA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_232HA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_233HA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("HA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4623, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 4623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "HA", 0) < (0)) __PYX_ERR(6, 4623, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("HA", 1, 4, 4, i); __PYX_ERR(6, 4623, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4623, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4623, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4623, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 4623, __pyx_L3_error) - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_high = ((PyArrayObject *)values[1]); - __pyx_v_low = ((PyArrayObject *)values[2]); - __pyx_v_close = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("HA", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 4623, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 4625, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 4625, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 4625, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 4625, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_232HA(__pyx_self, __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_232HA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outhaopen = 0; - PyArrayObject *__pyx_v_outhahigh = 0; - PyArrayObject *__pyx_v_outhalow = 0; - PyArrayObject *__pyx_v_outhaclose = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_t_8; - int __pyx_t_9; - char const *__pyx_t_10; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("HA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4648, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4649, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4650, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 4652, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4654, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4654, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 4654, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 4654, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 4654, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 4654, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4) != (0)) __PYX_ERR(6, 4654, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_5) != (0)) __PYX_ERR(6, 4654, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_6); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_6) != (0)) __PYX_ERR(6, 4654, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - __pyx_t_6 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_7; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_7 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4658, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HA_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_7 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 4662, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_v_outhaopen = ((PyArrayObject *)__pyx_t_7); - __pyx_t_7 = 0; - - __pyx_t_7 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 4663, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_v_outhahigh = ((PyArrayObject *)__pyx_t_7); - __pyx_t_7 = 0; - - __pyx_t_7 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 4664, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_v_outhalow = ((PyArrayObject *)__pyx_t_7); - __pyx_t_7 = 0; - - __pyx_t_7 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 4665, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_v_outhaclose = ((PyArrayObject *)__pyx_t_7); - __pyx_t_7 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outhaopen)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outhahigh)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outhalow)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outhaclose)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_ExceptionSwap(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); - if ( unlikely(__Pyx_GetException(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13) < 0)) __Pyx_ErrFetch(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_8 = __pyx_lineno; __pyx_t_9 = __pyx_clineno; __pyx_t_10 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ErrRestore(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; - __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_9; __pyx_filename = __pyx_t_10; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_7 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 4671, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 4672, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_INCREF((PyObject *)__pyx_v_outhaopen); - __Pyx_GIVEREF((PyObject *)__pyx_v_outhaopen); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_v_outhaopen)) != (0)) __PYX_ERR(6, 4672, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outhahigh); - __Pyx_GIVEREF((PyObject *)__pyx_v_outhahigh); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_outhahigh)) != (0)) __PYX_ERR(6, 4672, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outhalow); - __Pyx_GIVEREF((PyObject *)__pyx_v_outhalow); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, ((PyObject *)__pyx_v_outhalow)) != (0)) __PYX_ERR(6, 4672, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outhaclose); - __Pyx_GIVEREF((PyObject *)__pyx_v_outhaclose); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 3, ((PyObject *)__pyx_v_outhaclose)) != (0)) __PYX_ERR(6, 4672, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_7; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_7 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("talib._ta_lib.HA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outhaopen); - __Pyx_XDECREF((PyObject *)__pyx_v_outhahigh); - __Pyx_XDECREF((PyObject *)__pyx_v_outhalow); - __Pyx_XDECREF((PyObject *)__pyx_v_outhaclose); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_235HMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_234HMA, "HMA(ndarray real, int timeperiod=-0x80000000)\n\nHMA(real[, timeperiod=?])\n\nHull Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 20\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_235HMA = {"HMA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_235HMA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_234HMA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_235HMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("HMA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4674, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4674, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4674, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "HMA", 0) < (0)) __PYX_ERR(6, 4674, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("HMA", 0, 1, 2, i); __PYX_ERR(6, 4674, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4674, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4674, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4676, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("HMA", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 4674, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4676, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_234HMA(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_234HMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("HMA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4695, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4698, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4702, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4706, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HMA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HMA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4712, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.HMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_237HT_DCPERIOD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_236HT_DCPERIOD, "HT_DCPERIOD(ndarray real)\n\nHT_DCPERIOD(real)\n\nHilbert Transform - Dominant Cycle Period (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_237HT_DCPERIOD = {"HT_DCPERIOD", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_237HT_DCPERIOD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_236HT_DCPERIOD}; -static PyObject *__pyx_pw_5talib_7_ta_lib_237HT_DCPERIOD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("HT_DCPERIOD (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4715, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4715, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "HT_DCPERIOD", 0) < (0)) __PYX_ERR(6, 4715, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("HT_DCPERIOD", 1, 1, 1, i); __PYX_ERR(6, 4715, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4715, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("HT_DCPERIOD", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 4715, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_DCPERIOD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4717, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_236HT_DCPERIOD(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_236HT_DCPERIOD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("HT_DCPERIOD", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4734, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4737, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4741, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HT_DCPERIOD_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4745, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HT_DCPERIOD(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPERIOD, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4751, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPERIOD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_239HT_DCPHASE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_238HT_DCPHASE, "HT_DCPHASE(ndarray real)\n\nHT_DCPHASE(real)\n\nHilbert Transform - Dominant Cycle Phase (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_239HT_DCPHASE = {"HT_DCPHASE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_239HT_DCPHASE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_238HT_DCPHASE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_239HT_DCPHASE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("HT_DCPHASE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4754, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4754, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "HT_DCPHASE", 0) < (0)) __PYX_ERR(6, 4754, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("HT_DCPHASE", 1, 1, 1, i); __PYX_ERR(6, 4754, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4754, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("HT_DCPHASE", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 4754, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_DCPHASE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4756, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_238HT_DCPHASE(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_238HT_DCPHASE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("HT_DCPHASE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4773, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4776, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4780, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HT_DCPHASE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4784, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HT_DCPHASE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPHASE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4790, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPHASE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_241HT_PHASOR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_240HT_PHASOR, "HT_PHASOR(ndarray real)\n\nHT_PHASOR(real)\n\nHilbert Transform - Phasor Components (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n inphase\n quadrature"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_241HT_PHASOR = {"HT_PHASOR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_241HT_PHASOR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_240HT_PHASOR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_241HT_PHASOR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("HT_PHASOR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4793, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4793, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "HT_PHASOR", 0) < (0)) __PYX_ERR(6, 4793, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("HT_PHASOR", 1, 1, 1, i); __PYX_ERR(6, 4793, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4793, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("HT_PHASOR", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 4793, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_PHASOR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4795, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_240HT_PHASOR(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_240HT_PHASOR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinphase = 0; - PyArrayObject *__pyx_v_outquadrature = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - int __pyx_t_6; - char const *__pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("HT_PHASOR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4814, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4817, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4817, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4817, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 4817, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3) != (0)) __PYX_ERR(6, 4817, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4821, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HT_PHASOR_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4825, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_outinphase = ((PyArrayObject *)__pyx_t_4); - __pyx_t_4 = 0; - - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4826, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_outquadrature = ((PyArrayObject *)__pyx_t_4); - __pyx_t_4 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HT_PHASOR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinphase)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outquadrature)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - if ( unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_PHASOR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4832, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4833, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF((PyObject *)__pyx_v_outinphase); - __Pyx_GIVEREF((PyObject *)__pyx_v_outinphase); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_outinphase)) != (0)) __PYX_ERR(6, 4833, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outquadrature); - __Pyx_GIVEREF((PyObject *)__pyx_v_outquadrature); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_outquadrature)) != (0)) __PYX_ERR(6, 4833, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.HT_PHASOR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinphase); - __Pyx_XDECREF((PyObject *)__pyx_v_outquadrature); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_243HT_SINE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_242HT_SINE, "HT_SINE(ndarray real)\n\nHT_SINE(real)\n\nHilbert Transform - SineWave (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n sine\n leadsine"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_243HT_SINE = {"HT_SINE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_243HT_SINE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_242HT_SINE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_243HT_SINE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("HT_SINE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4835, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4835, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "HT_SINE", 0) < (0)) __PYX_ERR(6, 4835, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("HT_SINE", 1, 1, 1, i); __PYX_ERR(6, 4835, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4835, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("HT_SINE", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 4835, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_SINE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4837, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_242HT_SINE(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_242HT_SINE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outsine = 0; - PyArrayObject *__pyx_v_outleadsine = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - int __pyx_t_6; - char const *__pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("HT_SINE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4856, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 4859, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3) != (0)) __PYX_ERR(6, 4859, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4863, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HT_SINE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4867, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_outsine = ((PyArrayObject *)__pyx_t_4); - __pyx_t_4 = 0; - - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4868, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_outleadsine = ((PyArrayObject *)__pyx_t_4); - __pyx_t_4 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HT_SINE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outsine)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outleadsine)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - if ( unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_SINE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4874, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4875, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF((PyObject *)__pyx_v_outsine); - __Pyx_GIVEREF((PyObject *)__pyx_v_outsine); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_outsine)) != (0)) __PYX_ERR(6, 4875, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outleadsine); - __Pyx_GIVEREF((PyObject *)__pyx_v_outleadsine); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_outleadsine)) != (0)) __PYX_ERR(6, 4875, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.HT_SINE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outsine); - __Pyx_XDECREF((PyObject *)__pyx_v_outleadsine); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_245HT_TRENDLINE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_244HT_TRENDLINE, "HT_TRENDLINE(ndarray real)\n\nHT_TRENDLINE(real)\n\nHilbert Transform - Instantaneous Trendline (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_245HT_TRENDLINE = {"HT_TRENDLINE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_245HT_TRENDLINE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_244HT_TRENDLINE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_245HT_TRENDLINE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("HT_TRENDLINE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4877, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4877, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "HT_TRENDLINE", 0) < (0)) __PYX_ERR(6, 4877, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("HT_TRENDLINE", 1, 1, 1, i); __PYX_ERR(6, 4877, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4877, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("HT_TRENDLINE", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 4877, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDLINE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4879, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_244HT_TRENDLINE(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_244HT_TRENDLINE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("HT_TRENDLINE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4896, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4899, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4903, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HT_TRENDLINE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4907, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HT_TRENDLINE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDLINE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4913, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDLINE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_247HT_TRENDMODE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_246HT_TRENDMODE, "HT_TRENDMODE(ndarray real)\n\nHT_TRENDMODE(real)\n\nHilbert Transform - Trend vs Cycle Mode (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n integer"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_247HT_TRENDMODE = {"HT_TRENDMODE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_247HT_TRENDMODE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_246HT_TRENDMODE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_247HT_TRENDMODE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("HT_TRENDMODE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4916, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4916, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "HT_TRENDMODE", 0) < (0)) __PYX_ERR(6, 4916, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("HT_TRENDMODE", 1, 1, 1, i); __PYX_ERR(6, 4916, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4916, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("HT_TRENDMODE", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 4916, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDMODE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4918, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_246HT_TRENDMODE(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_246HT_TRENDMODE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("HT_TRENDMODE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4935, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4938, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4942, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HT_TRENDMODE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4946, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HT_TRENDMODE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDMODE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4952, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDMODE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_249IMI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_248IMI, "IMI(ndarray open, ndarray close, int timeperiod=-0x80000000)\n\nIMI(open, close[, timeperiod=?])\n\nIntraday Momentum Index (Momentum Indicators)\n\nInputs:\n prices: [\047open\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_249IMI = {"IMI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_249IMI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_248IMI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_249IMI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("IMI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4955, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4955, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4955, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4955, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "IMI", 0) < (0)) __PYX_ERR(6, 4955, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("IMI", 0, 2, 3, i); __PYX_ERR(6, 4955, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 4955, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4955, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4955, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_close = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4957, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("IMI", 0, 2, 3, __pyx_nargs); __PYX_ERR(6, 4955, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.IMI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 4957, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 4957, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_248IMI(__pyx_self, __pyx_v_open, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_248IMI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("IMI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4976, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4977, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_open, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 4978, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4980, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 4984, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_IMI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4988, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_IMI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_IMI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 4994, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.IMI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_251KAMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_250KAMA, "KAMA(ndarray real, int timeperiod=-0x80000000)\n\nKAMA(real[, timeperiod=?])\n\nKaufman Adaptive Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_251KAMA = {"KAMA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_251KAMA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_250KAMA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_251KAMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("KAMA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 4997, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4997, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4997, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "KAMA", 0) < (0)) __PYX_ERR(6, 4997, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("KAMA", 0, 1, 2, i); __PYX_ERR(6, 4997, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 4997, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 4997, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 4999, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("KAMA", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 4997, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KAMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 4999, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_250KAMA(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_250KAMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("KAMA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5018, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5021, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5025, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_KAMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5029, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_KAMA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KAMA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5035, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.KAMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_253KC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_252KC, "KC(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000, int atrperiod=-0x80000000, double nbdev=-4e37)\n\nKC(high, low, close[, timeperiod=?, atrperiod=?, nbdev=?])\n\nKeltner Channels (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 20\n atrperiod: 10\n nbdev: 2.0\nOutputs:\n upperband\n middleband\n lowerband"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_253KC = {"KC", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_253KC, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_252KC}; -static PyObject *__pyx_pw_5talib_7_ta_lib_253KC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - int __pyx_v_atrperiod; - double __pyx_v_nbdev; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[6] = {0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("KC (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_atrperiod,&__pyx_mstate_global->__pyx_n_u_nbdev,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5038, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 5038, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 5038, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5038, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5038, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5038, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5038, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "KC", 0) < (0)) __PYX_ERR(6, 5038, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("KC", 0, 3, 6, i); __PYX_ERR(6, 5038, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 5038, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 5038, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5038, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5038, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5038, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5038, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5040, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - if (values[4]) { - __pyx_v_atrperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_atrperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5040, __pyx_L3_error) - } else { - __pyx_v_atrperiod = ((int)((int)-2147483648)); - } - if (values[5]) { - __pyx_v_nbdev = __Pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_nbdev == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 5040, __pyx_L3_error) - } else { - __pyx_v_nbdev = ((double)((double)-4e37)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("KC", 0, 3, 6, __pyx_nargs); __PYX_ERR(6, 5038, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 5040, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 5040, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 5040, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_252KC(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod, __pyx_v_atrperiod, __pyx_v_nbdev); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_252KC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod, int __pyx_v_atrperiod, double __pyx_v_nbdev) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outrealupperband = 0; - PyArrayObject *__pyx_v_outrealmiddleband = 0; - PyArrayObject *__pyx_v_outreallowerband = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - int __pyx_t_8; - char const *__pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("KC", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5065, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5066, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5067, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 5068, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5070, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5070, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5070, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 5070, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 5070, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(6, 5070, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(6, 5070, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5074, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_KC_Lookback(__pyx_v_timeperiod, __pyx_v_atrperiod, __pyx_v_nbdev)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_6 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 5078, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_outrealupperband = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; - - __pyx_t_6 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 5079, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_outrealmiddleband = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; - - __pyx_t_6 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 5080, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_outreallowerband = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_KC(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, __pyx_v_atrperiod, __pyx_v_nbdev, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outrealupperband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outrealmiddleband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreallowerband)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); - if ( unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __pyx_t_7 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_9; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_6 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KC, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 5086, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 5087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_INCREF((PyObject *)__pyx_v_outrealupperband); - __Pyx_GIVEREF((PyObject *)__pyx_v_outrealupperband); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_outrealupperband)) != (0)) __PYX_ERR(6, 5087, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outrealmiddleband); - __Pyx_GIVEREF((PyObject *)__pyx_v_outrealmiddleband); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_outrealmiddleband)) != (0)) __PYX_ERR(6, 5087, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outreallowerband); - __Pyx_GIVEREF((PyObject *)__pyx_v_outreallowerband); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, ((PyObject *)__pyx_v_outreallowerband)) != (0)) __PYX_ERR(6, 5087, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.KC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outrealupperband); - __Pyx_XDECREF((PyObject *)__pyx_v_outrealmiddleband); - __Pyx_XDECREF((PyObject *)__pyx_v_outreallowerband); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_255KDJ(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_254KDJ, "KDJ(ndarray high, ndarray low, ndarray close, int fastk_period=-0x80000000, int slowk_period=-0x80000000, int slowk_matype=13, int slowd_period=-0x80000000, int slowd_matype=13)\n\nKDJ(high, low, close[, fastk_period=?, slowk_period=?, slowk_matype=?, slowd_period=?, slowd_matype=?])\n\nKDJ Stochastic (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n fastk_period: 9\n slowk_period: 3\n slowk_matype: 13 (Wilder\047s Smoothed Moving Average)\n slowd_period: 3\n slowd_matype: 13 (Wilder\047s Smoothed Moving Average)\nOutputs:\n k\n d\n j"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_255KDJ = {"KDJ", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_255KDJ, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_254KDJ}; -static PyObject *__pyx_pw_5talib_7_ta_lib_255KDJ(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_fastk_period; - int __pyx_v_slowk_period; - int __pyx_v_slowk_matype; - int __pyx_v_slowd_period; - int __pyx_v_slowd_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[8] = {0,0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("KDJ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_fastk_period,&__pyx_mstate_global->__pyx_n_u_slowk_period,&__pyx_mstate_global->__pyx_n_u_slowk_matype,&__pyx_mstate_global->__pyx_n_u_slowd_period,&__pyx_mstate_global->__pyx_n_u_slowd_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5089, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 8: - values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(6, 5089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(6, 5089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 5089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 5089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "KDJ", 0) < (0)) __PYX_ERR(6, 5089, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("KDJ", 0, 3, 8, i); __PYX_ERR(6, 5089, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 8: - values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(6, 5089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(6, 5089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 5089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 5089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5089, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5089, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5089, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_fastk_period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_fastk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5091, __pyx_L3_error) - } else { - __pyx_v_fastk_period = ((int)((int)-2147483648)); - } - if (values[4]) { - __pyx_v_slowk_period = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_slowk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5091, __pyx_L3_error) - } else { - __pyx_v_slowk_period = ((int)((int)-2147483648)); - } - if (values[5]) { - __pyx_v_slowk_matype = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_slowk_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5091, __pyx_L3_error) - } else { - __pyx_v_slowk_matype = ((int)((int)13)); - } - if (values[6]) { - __pyx_v_slowd_period = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_slowd_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5091, __pyx_L3_error) - } else { - __pyx_v_slowd_period = ((int)((int)-2147483648)); - } - if (values[7]) { - __pyx_v_slowd_matype = __Pyx_PyLong_As_int(values[7]); if (unlikely((__pyx_v_slowd_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5091, __pyx_L3_error) - } else { - __pyx_v_slowd_matype = ((int)((int)13)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("KDJ", 0, 3, 8, __pyx_nargs); __PYX_ERR(6, 5089, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KDJ", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 5091, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 5091, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 5091, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_254KDJ(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_254KDJ(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_slowk_period, int __pyx_v_slowk_matype, int __pyx_v_slowd_period, int __pyx_v_slowd_matype) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outk = 0; - PyArrayObject *__pyx_v_outd = 0; - PyArrayObject *__pyx_v_outj = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - int __pyx_t_8; - char const *__pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("KDJ", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5119, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 5121, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 5123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 5123, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(6, 5123, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(6, 5123, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5127, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_KDJ_Lookback(__pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_6 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 5131, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_outk = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; - - __pyx_t_6 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 5132, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_outd = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; - - __pyx_t_6 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 5133, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_outj = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_KDJ(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outk)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outd)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outj)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); - if ( unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __pyx_t_7 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_9; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_6 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KDJ, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 5139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 5140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_INCREF((PyObject *)__pyx_v_outk); - __Pyx_GIVEREF((PyObject *)__pyx_v_outk); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_outk)) != (0)) __PYX_ERR(6, 5140, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outd); - __Pyx_GIVEREF((PyObject *)__pyx_v_outd); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_outd)) != (0)) __PYX_ERR(6, 5140, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outj); - __Pyx_GIVEREF((PyObject *)__pyx_v_outj); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, ((PyObject *)__pyx_v_outj)) != (0)) __PYX_ERR(6, 5140, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.KDJ", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outk); - __Pyx_XDECREF((PyObject *)__pyx_v_outd); - __Pyx_XDECREF((PyObject *)__pyx_v_outj); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_257LINEARREG(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_256LINEARREG, "LINEARREG(ndarray real, int timeperiod=-0x80000000)\n\nLINEARREG(real[, timeperiod=?])\n\nLinear Regression (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_257LINEARREG = {"LINEARREG", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_257LINEARREG, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_256LINEARREG}; -static PyObject *__pyx_pw_5talib_7_ta_lib_257LINEARREG(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("LINEARREG (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5142, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5142, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5142, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "LINEARREG", 0) < (0)) __PYX_ERR(6, 5142, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("LINEARREG", 0, 1, 2, i); __PYX_ERR(6, 5142, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5142, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5142, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5144, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("LINEARREG", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 5142, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5144, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_256LINEARREG(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_256LINEARREG(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("LINEARREG", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5170, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_LINEARREG_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5174, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_259LINEARREG_ANGLE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_258LINEARREG_ANGLE, "LINEARREG_ANGLE(ndarray real, int timeperiod=-0x80000000)\n\nLINEARREG_ANGLE(real[, timeperiod=?])\n\nLinear Regression Angle (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_259LINEARREG_ANGLE = {"LINEARREG_ANGLE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_259LINEARREG_ANGLE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_258LINEARREG_ANGLE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_259LINEARREG_ANGLE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("LINEARREG_ANGLE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5183, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5183, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5183, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "LINEARREG_ANGLE", 0) < (0)) __PYX_ERR(6, 5183, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("LINEARREG_ANGLE", 0, 1, 2, i); __PYX_ERR(6, 5183, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5183, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5183, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5185, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("LINEARREG_ANGLE", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 5183, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_ANGLE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5185, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_258LINEARREG_ANGLE(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_258LINEARREG_ANGLE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("LINEARREG_ANGLE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5211, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_LINEARREG_ANGLE_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5215, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_ANGLE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_ANGLE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_ANGLE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_261LINEARREG_INTERCEPT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_260LINEARREG_INTERCEPT, "LINEARREG_INTERCEPT(ndarray real, int timeperiod=-0x80000000)\n\nLINEARREG_INTERCEPT(real[, timeperiod=?])\n\nLinear Regression Intercept (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_261LINEARREG_INTERCEPT = {"LINEARREG_INTERCEPT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_261LINEARREG_INTERCEPT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_260LINEARREG_INTERCEPT}; -static PyObject *__pyx_pw_5talib_7_ta_lib_261LINEARREG_INTERCEPT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("LINEARREG_INTERCEPT (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5224, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5224, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5224, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "LINEARREG_INTERCEPT", 0) < (0)) __PYX_ERR(6, 5224, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("LINEARREG_INTERCEPT", 0, 1, 2, i); __PYX_ERR(6, 5224, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5224, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5224, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5226, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("LINEARREG_INTERCEPT", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 5224, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_INTERCEPT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5226, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_260LINEARREG_INTERCEPT(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_260LINEARREG_INTERCEPT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("LINEARREG_INTERCEPT", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5245, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5252, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_LINEARREG_INTERCEPT_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5256, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_INTERCEPT(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_INTERCEPT, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_INTERCEPT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_263LINEARREG_SLOPE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_262LINEARREG_SLOPE, "LINEARREG_SLOPE(ndarray real, int timeperiod=-0x80000000)\n\nLINEARREG_SLOPE(real[, timeperiod=?])\n\nLinear Regression Slope (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_263LINEARREG_SLOPE = {"LINEARREG_SLOPE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_263LINEARREG_SLOPE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_262LINEARREG_SLOPE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_263LINEARREG_SLOPE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("LINEARREG_SLOPE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5265, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5265, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5265, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "LINEARREG_SLOPE", 0) < (0)) __PYX_ERR(6, 5265, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("LINEARREG_SLOPE", 0, 1, 2, i); __PYX_ERR(6, 5265, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5265, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5265, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5267, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("LINEARREG_SLOPE", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 5265, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_SLOPE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5267, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_262LINEARREG_SLOPE(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_262LINEARREG_SLOPE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("LINEARREG_SLOPE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5286, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5289, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5293, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_LINEARREG_SLOPE_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5297, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_SLOPE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_SLOPE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5303, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_SLOPE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_265LN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_264LN, "LN(ndarray real)\n\nLN(real)\n\nVector Log Natural (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_265LN = {"LN", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_265LN, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_264LN}; -static PyObject *__pyx_pw_5talib_7_ta_lib_265LN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("LN (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5306, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5306, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "LN", 0) < (0)) __PYX_ERR(6, 5306, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("LN", 1, 1, 1, i); __PYX_ERR(6, 5306, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5306, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("LN", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 5306, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5308, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_264LN(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_264LN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("LN", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5325, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5328, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5332, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_LN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5336, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_LN(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LN, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5342, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.LN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_267LOG10(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_266LOG10, "LOG10(ndarray real)\n\nLOG10(real)\n\nVector Log10 (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_267LOG10 = {"LOG10", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_267LOG10, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_266LOG10}; -static PyObject *__pyx_pw_5talib_7_ta_lib_267LOG10(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("LOG10 (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5345, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5345, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "LOG10", 0) < (0)) __PYX_ERR(6, 5345, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("LOG10", 1, 1, 1, i); __PYX_ERR(6, 5345, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5345, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("LOG10", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 5345, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LOG10", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5347, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_266LOG10(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_266LOG10(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("LOG10", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5364, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5371, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_LOG10_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5375, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_LOG10(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LOG10, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5381, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.LOG10", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_269MA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_268MA, "MA(ndarray real, int timeperiod=-0x80000000, int matype=0)\n\nMA(real[, timeperiod=?, matype=?])\n\nMoving average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\n matype: 0 (Simple Moving Average)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_269MA = {"MA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_269MA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_268MA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_269MA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5384, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5384, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5384, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5384, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MA", 0) < (0)) __PYX_ERR(6, 5384, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MA", 0, 1, 3, i); __PYX_ERR(6, 5384, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5384, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5384, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5384, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5386, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5386, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)((int)0)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MA", 0, 1, 3, __pyx_nargs); __PYX_ERR(6, 5384, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5386, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_268MA(__pyx_self, __pyx_v_real, __pyx_v_timeperiod, __pyx_v_matype); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_268MA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_matype) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5406, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5413, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MA_Lookback(__pyx_v_timeperiod, __pyx_v_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5417, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, __pyx_v_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_271MACD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_270MACD, "MACD(ndarray real, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int signalperiod=-0x80000000)\n\nMACD(real[, fastperiod=?, slowperiod=?, signalperiod=?])\n\nMoving Average Convergence/Divergence (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastperiod: 12\n slowperiod: 26\n signalperiod: 9\nOutputs:\n macd\n macdsignal\n macdhist"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_271MACD = {"MACD", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_271MACD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_270MACD}; -static PyObject *__pyx_pw_5talib_7_ta_lib_271MACD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_signalperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MACD (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_signalperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5426, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5426, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5426, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5426, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5426, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MACD", 0) < (0)) __PYX_ERR(6, 5426, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MACD", 0, 1, 4, i); __PYX_ERR(6, 5426, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5426, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5426, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5426, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5426, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5428, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5428, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)((int)-2147483648)); - } - if (values[3]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5428, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MACD", 0, 1, 4, __pyx_nargs); __PYX_ERR(6, 5426, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5428, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_270MACD(__pyx_self, __pyx_v_real, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_270MACD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outmacd = 0; - PyArrayObject *__pyx_v_outmacdsignal = 0; - PyArrayObject *__pyx_v_outmacdhist = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - char const *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MACD", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5453, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 5456, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3) != (0)) __PYX_ERR(6, 5456, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4) != (0)) __PYX_ERR(6, 5456, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5460, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MACD_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5464, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outmacd = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5465, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outmacdsignal = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5466, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outmacdhist = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MACD(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacd)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacdsignal)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacdhist)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - if ( unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_5 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACD, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5472, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5473, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF((PyObject *)__pyx_v_outmacd); - __Pyx_GIVEREF((PyObject *)__pyx_v_outmacd); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_outmacd)) != (0)) __PYX_ERR(6, 5473, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outmacdsignal); - __Pyx_GIVEREF((PyObject *)__pyx_v_outmacdsignal); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_outmacdsignal)) != (0)) __PYX_ERR(6, 5473, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outmacdhist); - __Pyx_GIVEREF((PyObject *)__pyx_v_outmacdhist); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, ((PyObject *)__pyx_v_outmacdhist)) != (0)) __PYX_ERR(6, 5473, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.MACD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outmacd); - __Pyx_XDECREF((PyObject *)__pyx_v_outmacdsignal); - __Pyx_XDECREF((PyObject *)__pyx_v_outmacdhist); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_273MACDEXT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_272MACDEXT, "MACDEXT(ndarray real, int fastperiod=-0x80000000, int fastmatype=0, int slowperiod=-0x80000000, int slowmatype=0, int signalperiod=-0x80000000, int signalmatype=0)\n\nMACDEXT(real[, fastperiod=?, fastmatype=?, slowperiod=?, slowmatype=?, signalperiod=?, signalmatype=?])\n\nMACD with controllable MA type (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastperiod: 12\n fastmatype: 0 (Simple Moving Average)\n slowperiod: 26\n slowmatype: 0 (Simple Moving Average)\n signalperiod: 9\n signalmatype: 0 (Simple Moving Average)\nOutputs:\n macd\n macdsignal\n macdhist"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_273MACDEXT = {"MACDEXT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_273MACDEXT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_272MACDEXT}; -static PyObject *__pyx_pw_5talib_7_ta_lib_273MACDEXT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_fastperiod; - int __pyx_v_fastmatype; - int __pyx_v_slowperiod; - int __pyx_v_slowmatype; - int __pyx_v_signalperiod; - int __pyx_v_signalmatype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[7] = {0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MACDEXT (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_fastmatype,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_slowmatype,&__pyx_mstate_global->__pyx_n_u_signalperiod,&__pyx_mstate_global->__pyx_n_u_signalmatype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5475, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(6, 5475, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 5475, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 5475, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5475, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5475, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5475, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5475, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MACDEXT", 0) < (0)) __PYX_ERR(6, 5475, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MACDEXT", 0, 1, 7, i); __PYX_ERR(6, 5475, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(6, 5475, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 5475, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 5475, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5475, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5475, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5475, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5475, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5477, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_fastmatype = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastmatype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5477, __pyx_L3_error) - } else { - __pyx_v_fastmatype = ((int)((int)0)); - } - if (values[3]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5477, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)((int)-2147483648)); - } - if (values[4]) { - __pyx_v_slowmatype = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_slowmatype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5477, __pyx_L3_error) - } else { - __pyx_v_slowmatype = ((int)((int)0)); - } - if (values[5]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5477, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)((int)-2147483648)); - } - if (values[6]) { - __pyx_v_signalmatype = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_signalmatype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5477, __pyx_L3_error) - } else { - __pyx_v_signalmatype = ((int)((int)0)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MACDEXT", 0, 1, 7, __pyx_nargs); __PYX_ERR(6, 5475, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACDEXT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5477, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_272MACDEXT(__pyx_self, __pyx_v_real, __pyx_v_fastperiod, __pyx_v_fastmatype, __pyx_v_slowperiod, __pyx_v_slowmatype, __pyx_v_signalperiod, __pyx_v_signalmatype); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_272MACDEXT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_fastmatype, int __pyx_v_slowperiod, int __pyx_v_slowmatype, int __pyx_v_signalperiod, int __pyx_v_signalmatype) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outmacd = 0; - PyArrayObject *__pyx_v_outmacdsignal = 0; - PyArrayObject *__pyx_v_outmacdhist = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - char const *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MACDEXT", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5508, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5508, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5508, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5508, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 5508, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3) != (0)) __PYX_ERR(6, 5508, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4) != (0)) __PYX_ERR(6, 5508, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5512, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MACDEXT_Lookback(__pyx_v_fastperiod, __pyx_v_fastmatype, __pyx_v_slowperiod, __pyx_v_slowmatype, __pyx_v_signalperiod, __pyx_v_signalmatype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5516, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outmacd = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5517, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outmacdsignal = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5518, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outmacdhist = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MACDEXT(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_fastperiod, __pyx_v_fastmatype, __pyx_v_slowperiod, __pyx_v_slowmatype, __pyx_v_signalperiod, __pyx_v_signalmatype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacd)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacdsignal)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacdhist)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - if ( unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_5 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACDEXT, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5524, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF((PyObject *)__pyx_v_outmacd); - __Pyx_GIVEREF((PyObject *)__pyx_v_outmacd); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_outmacd)) != (0)) __PYX_ERR(6, 5525, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outmacdsignal); - __Pyx_GIVEREF((PyObject *)__pyx_v_outmacdsignal); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_outmacdsignal)) != (0)) __PYX_ERR(6, 5525, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outmacdhist); - __Pyx_GIVEREF((PyObject *)__pyx_v_outmacdhist); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, ((PyObject *)__pyx_v_outmacdhist)) != (0)) __PYX_ERR(6, 5525, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.MACDEXT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outmacd); - __Pyx_XDECREF((PyObject *)__pyx_v_outmacdsignal); - __Pyx_XDECREF((PyObject *)__pyx_v_outmacdhist); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_275MACDFIX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_274MACDFIX, "MACDFIX(ndarray real, int signalperiod=-0x80000000)\n\nMACDFIX(real[, signalperiod=?])\n\nMoving Average Convergence/Divergence Fix 12/26 (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n signalperiod: 9\nOutputs:\n macd\n macdsignal\n macdhist"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_275MACDFIX = {"MACDFIX", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_275MACDFIX, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_274MACDFIX}; -static PyObject *__pyx_pw_5talib_7_ta_lib_275MACDFIX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_signalperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MACDFIX (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_signalperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5527, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5527, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5527, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MACDFIX", 0) < (0)) __PYX_ERR(6, 5527, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MACDFIX", 0, 1, 2, i); __PYX_ERR(6, 5527, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5527, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5527, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5529, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MACDFIX", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 5527, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACDFIX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5529, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_274MACDFIX(__pyx_self, __pyx_v_real, __pyx_v_signalperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_274MACDFIX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_signalperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outmacd = 0; - PyArrayObject *__pyx_v_outmacdsignal = 0; - PyArrayObject *__pyx_v_outmacdhist = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - char const *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MACDFIX", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5552, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5555, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5555, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5555, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5555, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 5555, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3) != (0)) __PYX_ERR(6, 5555, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4) != (0)) __PYX_ERR(6, 5555, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5559, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MACDFIX_Lookback(__pyx_v_signalperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5563, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outmacd = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5564, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outmacdsignal = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5565, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outmacdhist = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MACDFIX(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_signalperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacd)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacdsignal)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacdhist)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - if ( unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_5 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACDFIX, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5571, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF((PyObject *)__pyx_v_outmacd); - __Pyx_GIVEREF((PyObject *)__pyx_v_outmacd); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_outmacd)) != (0)) __PYX_ERR(6, 5572, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outmacdsignal); - __Pyx_GIVEREF((PyObject *)__pyx_v_outmacdsignal); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_outmacdsignal)) != (0)) __PYX_ERR(6, 5572, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outmacdhist); - __Pyx_GIVEREF((PyObject *)__pyx_v_outmacdhist); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, ((PyObject *)__pyx_v_outmacdhist)) != (0)) __PYX_ERR(6, 5572, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.MACDFIX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outmacd); - __Pyx_XDECREF((PyObject *)__pyx_v_outmacdsignal); - __Pyx_XDECREF((PyObject *)__pyx_v_outmacdhist); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_277MAMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_276MAMA, "MAMA(ndarray real, double fastlimit=-4e37, double slowlimit=-4e37)\n\nMAMA(real[, fastlimit=?, slowlimit=?])\n\nMESA Adaptive Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastlimit: 0.5\n slowlimit: 0.05\nOutputs:\n mama\n fama"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_277MAMA = {"MAMA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_277MAMA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_276MAMA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_277MAMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - double __pyx_v_fastlimit; - double __pyx_v_slowlimit; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MAMA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastlimit,&__pyx_mstate_global->__pyx_n_u_slowlimit,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5574, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5574, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5574, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5574, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MAMA", 0) < (0)) __PYX_ERR(6, 5574, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MAMA", 0, 1, 3, i); __PYX_ERR(6, 5574, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5574, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5574, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5574, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_fastlimit = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_fastlimit == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 5576, __pyx_L3_error) - } else { - __pyx_v_fastlimit = ((double)((double)-4e37)); - } - if (values[2]) { - __pyx_v_slowlimit = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_slowlimit == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 5576, __pyx_L3_error) - } else { - __pyx_v_slowlimit = ((double)((double)-4e37)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MAMA", 0, 1, 3, __pyx_nargs); __PYX_ERR(6, 5574, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5576, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_276MAMA(__pyx_self, __pyx_v_real, __pyx_v_fastlimit, __pyx_v_slowlimit); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_276MAMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, double __pyx_v_fastlimit, double __pyx_v_slowlimit) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outmama = 0; - PyArrayObject *__pyx_v_outfama = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - int __pyx_t_6; - char const *__pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MAMA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5598, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 5601, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3) != (0)) __PYX_ERR(6, 5601, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5605, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MAMA_Lookback(__pyx_v_fastlimit, __pyx_v_slowlimit)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5609, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_outmama = ((PyArrayObject *)__pyx_t_4); - __pyx_t_4 = 0; - - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5610, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_outfama = ((PyArrayObject *)__pyx_t_4); - __pyx_t_4 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MAMA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_fastlimit, __pyx_v_slowlimit, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmama)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outfama)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - if ( unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAMA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5616, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF((PyObject *)__pyx_v_outmama); - __Pyx_GIVEREF((PyObject *)__pyx_v_outmama); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_outmama)) != (0)) __PYX_ERR(6, 5617, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outfama); - __Pyx_GIVEREF((PyObject *)__pyx_v_outfama); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_outfama)) != (0)) __PYX_ERR(6, 5617, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.MAMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outmama); - __Pyx_XDECREF((PyObject *)__pyx_v_outfama); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_279MARKETFI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_278MARKETFI, "MARKETFI(ndarray high, ndarray low, ndarray volume)\n\nMARKETFI(high, low, volume)\n\nMarket Facilitation Index (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047volume\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_279MARKETFI = {"MARKETFI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_279MARKETFI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_278MARKETFI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_279MARKETFI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MARKETFI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5619, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5619, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5619, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5619, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MARKETFI", 0) < (0)) __PYX_ERR(6, 5619, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MARKETFI", 1, 3, 3, i); __PYX_ERR(6, 5619, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5619, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5619, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5619, __pyx_L3_error) - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_volume = ((PyArrayObject *)values[2]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MARKETFI", 1, 3, 3, __pyx_nargs); __PYX_ERR(6, 5619, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MARKETFI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 5621, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 5621, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 5621, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_278MARKETFI(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_volume); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_278MARKETFI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_volume) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MARKETFI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5638, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5639, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5640, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_volume); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 5641, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5647, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MARKETFI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5651, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MARKETFI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MARKETFI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MARKETFI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_281MASSI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_280MASSI, "MASSI(ndarray high, ndarray low, int fastperiod=-0x80000000, int slowperiod=-0x80000000)\n\nMASSI(high, low[, fastperiod=?, slowperiod=?])\n\nMass Index (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n fastperiod: 9\n slowperiod: 25\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_281MASSI = {"MASSI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_281MASSI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_280MASSI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_281MASSI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MASSI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5660, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5660, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5660, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5660, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5660, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MASSI", 0) < (0)) __PYX_ERR(6, 5660, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MASSI", 0, 2, 4, i); __PYX_ERR(6, 5660, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5660, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5660, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5660, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5660, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5662, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)((int)-2147483648)); - } - if (values[3]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5662, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MASSI", 0, 2, 4, __pyx_nargs); __PYX_ERR(6, 5660, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MASSI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 5662, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 5662, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_280MASSI(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_fastperiod, __pyx_v_slowperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_280MASSI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MASSI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5682, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5683, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 5684, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5686, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5690, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MASSI_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5694, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MASSI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_fastperiod, __pyx_v_slowperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MASSI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5700, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MASSI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_283MAVP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_282MAVP, "MAVP(ndarray real, ndarray periods, int minperiod=-0x80000000, int maxperiod=-0x80000000, int matype=0)\n\nMAVP(real, periods[, minperiod=?, maxperiod=?, matype=?])\n\nMoving average with variable period (Overlap Studies)\n\nInputs:\n real: (any ndarray)\n periods: (any ndarray)\nParameters:\n minperiod: 2\n maxperiod: 30\n matype: 0 (Simple Moving Average)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_283MAVP = {"MAVP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_283MAVP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_282MAVP}; -static PyObject *__pyx_pw_5talib_7_ta_lib_283MAVP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - PyArrayObject *__pyx_v_periods = 0; - int __pyx_v_minperiod; - int __pyx_v_maxperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MAVP (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_periods,&__pyx_mstate_global->__pyx_n_u_minperiod,&__pyx_mstate_global->__pyx_n_u_maxperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5703, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 5703, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5703, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5703, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5703, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5703, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MAVP", 0) < (0)) __PYX_ERR(6, 5703, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MAVP", 0, 2, 5, i); __PYX_ERR(6, 5703, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 5703, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5703, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5703, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5703, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5703, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - __pyx_v_periods = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_minperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_minperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5705, __pyx_L3_error) - } else { - __pyx_v_minperiod = ((int)((int)-2147483648)); - } - if (values[3]) { - __pyx_v_maxperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_maxperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5705, __pyx_L3_error) - } else { - __pyx_v_maxperiod = ((int)((int)-2147483648)); - } - if (values[4]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5705, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)((int)0)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MAVP", 0, 2, 5, __pyx_nargs); __PYX_ERR(6, 5703, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAVP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5705, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_periods), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "periods", 0))) __PYX_ERR(6, 5705, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_282MAVP(__pyx_self, __pyx_v_real, __pyx_v_periods, __pyx_v_minperiod, __pyx_v_maxperiod, __pyx_v_matype); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_282MAVP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, PyArrayObject *__pyx_v_periods, int __pyx_v_minperiod, int __pyx_v_maxperiod, int __pyx_v_matype) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MAVP", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - __Pyx_INCREF((PyObject *)__pyx_v_periods); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5727, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_periods)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5728, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_periods, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_real, __pyx_v_periods); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 5729, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5731, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_periods))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5735, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MAVP_Lookback(__pyx_v_minperiod, __pyx_v_maxperiod, __pyx_v_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5739, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MAVP(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_periods)) + __pyx_v_begidx), __pyx_v_minperiod, __pyx_v_maxperiod, __pyx_v_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAVP, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5745, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MAVP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XDECREF((PyObject *)__pyx_v_periods); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_285MAX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_284MAX, "MAX(ndarray real, int timeperiod=-0x80000000)\n\nMAX(real[, timeperiod=?])\n\nHighest value over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_285MAX = {"MAX", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_285MAX, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_284MAX}; -static PyObject *__pyx_pw_5talib_7_ta_lib_285MAX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MAX (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5748, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5748, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5748, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MAX", 0) < (0)) __PYX_ERR(6, 5748, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MAX", 0, 1, 2, i); __PYX_ERR(6, 5748, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5748, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5748, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5750, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MAX", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 5748, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5750, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_284MAX(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_284MAX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MAX", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5769, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5776, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MAX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5780, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MAX(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAX, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5786, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MAX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_287MAXINDEX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_286MAXINDEX, "MAXINDEX(ndarray real, int timeperiod=-0x80000000)\n\nMAXINDEX(real[, timeperiod=?])\n\nIndex of highest value over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n integer"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_287MAXINDEX = {"MAXINDEX", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_287MAXINDEX, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_286MAXINDEX}; -static PyObject *__pyx_pw_5talib_7_ta_lib_287MAXINDEX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MAXINDEX (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5789, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5789, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5789, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MAXINDEX", 0) < (0)) __PYX_ERR(6, 5789, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MAXINDEX", 0, 1, 2, i); __PYX_ERR(6, 5789, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5789, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5789, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5791, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MAXINDEX", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 5789, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAXINDEX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5791, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_286MAXINDEX(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_286MAXINDEX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - int *__pyx_v_outinteger_data; - int __pyx_v_i; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - npy_intp __pyx_t_12; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MAXINDEX", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5813, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5817, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MAXINDEX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5821, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MAXINDEX(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAXINDEX, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_v_outinteger_data = ((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_12 = __pyx_v_length; - - for (__pyx_v_i = __pyx_v_lookback; __pyx_v_i < __pyx_t_12; __pyx_v_i++) { - - - __pyx_t_4 = __pyx_v_i; - (__pyx_v_outinteger_data[__pyx_t_4]) = ((__pyx_v_outinteger_data[__pyx_t_4]) + __pyx_v_begidx); - } - - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L26; - } - __pyx_L26:; - } - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MAXINDEX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_289MEDPRICE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_288MEDPRICE, "MEDPRICE(ndarray high, ndarray low)\n\nMEDPRICE(high, low)\n\nMedian Price (Price Transform)\n\nInputs:\n prices: [\047high\047, \047low\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_289MEDPRICE = {"MEDPRICE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_289MEDPRICE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_288MEDPRICE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_289MEDPRICE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MEDPRICE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5834, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5834, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5834, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MEDPRICE", 0) < (0)) __PYX_ERR(6, 5834, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MEDPRICE", 1, 2, 2, i); __PYX_ERR(6, 5834, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5834, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5834, __pyx_L3_error) - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MEDPRICE", 1, 2, 2, __pyx_nargs); __PYX_ERR(6, 5834, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MEDPRICE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 5836, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 5836, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_288MEDPRICE(__pyx_self, __pyx_v_high, __pyx_v_low); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_288MEDPRICE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MEDPRICE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5853, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 5855, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5857, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5861, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MEDPRICE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5865, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MEDPRICE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MEDPRICE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MEDPRICE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_291MFI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_290MFI, "MFI(ndarray high, ndarray low, ndarray close, ndarray volume, int timeperiod=-0x80000000)\n\nMFI(high, low, close, volume[, timeperiod=?])\n\nMoney Flow Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_291MFI = {"MFI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_291MFI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_290MFI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_291MFI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - PyArrayObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MFI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5874, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 5874, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5874, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5874, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5874, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5874, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MFI", 0) < (0)) __PYX_ERR(6, 5874, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MFI", 0, 4, 5, i); __PYX_ERR(6, 5874, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 5874, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 5874, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5874, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5874, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5874, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - __pyx_v_volume = ((PyArrayObject *)values[3]); - if (values[4]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5876, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MFI", 0, 4, 5, __pyx_nargs); __PYX_ERR(6, 5874, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MFI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 5876, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 5876, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 5876, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 5876, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_290MFI(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_290MFI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MFI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5895, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5896, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5897, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5898, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 5899, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5901, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5905, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MFI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5909, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MFI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MFI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5915, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MFI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_293MIDPOINT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_292MIDPOINT, "MIDPOINT(ndarray real, int timeperiod=-0x80000000)\n\nMIDPOINT(real[, timeperiod=?])\n\nMidPoint over period (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_293MIDPOINT = {"MIDPOINT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_293MIDPOINT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_292MIDPOINT}; -static PyObject *__pyx_pw_5talib_7_ta_lib_293MIDPOINT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MIDPOINT (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5918, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5918, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5918, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MIDPOINT", 0) < (0)) __PYX_ERR(6, 5918, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MIDPOINT", 0, 1, 2, i); __PYX_ERR(6, 5918, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5918, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5918, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5920, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MIDPOINT", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 5918, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIDPOINT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 5920, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_292MIDPOINT(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_292MIDPOINT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MIDPOINT", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5939, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5942, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5946, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MIDPOINT_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5950, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MIDPOINT(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIDPOINT, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5956, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MIDPOINT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_295MIDPRICE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_294MIDPRICE, "MIDPRICE(ndarray high, ndarray low, int timeperiod=-0x80000000)\n\nMIDPRICE(high, low[, timeperiod=?])\n\nMidpoint Price over period (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_295MIDPRICE = {"MIDPRICE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_295MIDPRICE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_294MIDPRICE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_295MIDPRICE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MIDPRICE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 5959, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MIDPRICE", 0) < (0)) __PYX_ERR(6, 5959, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MIDPRICE", 0, 2, 3, i); __PYX_ERR(6, 5959, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 5959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 5959, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 5959, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 5961, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MIDPRICE", 0, 2, 3, __pyx_nargs); __PYX_ERR(6, 5959, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIDPRICE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 5961, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 5961, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_294MIDPRICE(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_294MIDPRICE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MIDPRICE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5980, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5981, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 5982, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5984, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 5988, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MIDPRICE_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5992, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MIDPRICE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIDPRICE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 5998, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MIDPRICE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_297MIN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_296MIN, "MIN(ndarray real, int timeperiod=-0x80000000)\n\nMIN(real[, timeperiod=?])\n\nLowest value over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_297MIN = {"MIN", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_297MIN, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_296MIN}; -static PyObject *__pyx_pw_5talib_7_ta_lib_297MIN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MIN (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6001, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6001, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6001, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MIN", 0) < (0)) __PYX_ERR(6, 6001, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MIN", 0, 1, 2, i); __PYX_ERR(6, 6001, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6001, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6001, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6003, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MIN", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 6001, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 6003, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_296MIN(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_296MIN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MIN", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6022, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6029, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MIN_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6033, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MIN(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIN, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6039, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MIN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_299MININDEX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_298MININDEX, "MININDEX(ndarray real, int timeperiod=-0x80000000)\n\nMININDEX(real[, timeperiod=?])\n\nIndex of lowest value over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n integer"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_299MININDEX = {"MININDEX", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_299MININDEX, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_298MININDEX}; -static PyObject *__pyx_pw_5talib_7_ta_lib_299MININDEX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MININDEX (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6042, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6042, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6042, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MININDEX", 0) < (0)) __PYX_ERR(6, 6042, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MININDEX", 0, 1, 2, i); __PYX_ERR(6, 6042, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6042, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6042, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6044, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MININDEX", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 6042, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MININDEX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 6044, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_298MININDEX(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_298MININDEX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outinteger = 0; - int *__pyx_v_outinteger_data; - int __pyx_v_i; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - npy_intp __pyx_t_12; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MININDEX", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6063, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6066, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6070, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MININDEX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6074, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MININDEX(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MININDEX, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6080, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_v_outinteger_data = ((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_12 = __pyx_v_length; - - for (__pyx_v_i = __pyx_v_lookback; __pyx_v_i < __pyx_t_12; __pyx_v_i++) { - - - __pyx_t_4 = __pyx_v_i; - (__pyx_v_outinteger_data[__pyx_t_4]) = ((__pyx_v_outinteger_data[__pyx_t_4]) + __pyx_v_begidx); - } - - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L26; - } - __pyx_L26:; - } - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outinteger); - __pyx_r = ((PyObject *)__pyx_v_outinteger); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MININDEX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_301MINMAX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_300MINMAX, "MINMAX(ndarray real, int timeperiod=-0x80000000)\n\nMINMAX(real[, timeperiod=?])\n\nLowest and highest values over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n min\n max"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_301MINMAX = {"MINMAX", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_301MINMAX, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_300MINMAX}; -static PyObject *__pyx_pw_5talib_7_ta_lib_301MINMAX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MINMAX (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6087, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MINMAX", 0) < (0)) __PYX_ERR(6, 6087, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MINMAX", 0, 1, 2, i); __PYX_ERR(6, 6087, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6087, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6089, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MINMAX", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 6087, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINMAX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 6089, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_300MINMAX(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_300MINMAX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outmin = 0; - PyArrayObject *__pyx_v_outmax = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - int __pyx_t_6; - char const *__pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MINMAX", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6113, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6113, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 6113, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 6113, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3) != (0)) __PYX_ERR(6, 6113, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6117, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MINMAX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 6121, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_outmin = ((PyArrayObject *)__pyx_t_4); - __pyx_t_4 = 0; - - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 6122, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_outmax = ((PyArrayObject *)__pyx_t_4); - __pyx_t_4 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MINMAX(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmin)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmax)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - if ( unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINMAX, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 6128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 6129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF((PyObject *)__pyx_v_outmin); - __Pyx_GIVEREF((PyObject *)__pyx_v_outmin); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_outmin)) != (0)) __PYX_ERR(6, 6129, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outmax); - __Pyx_GIVEREF((PyObject *)__pyx_v_outmax); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_outmax)) != (0)) __PYX_ERR(6, 6129, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.MINMAX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outmin); - __Pyx_XDECREF((PyObject *)__pyx_v_outmax); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_303MINMAXINDEX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_302MINMAXINDEX, "MINMAXINDEX(ndarray real, int timeperiod=-0x80000000)\n\nMINMAXINDEX(real[, timeperiod=?])\n\nIndexes of lowest and highest values over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n minidx\n maxidx"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_303MINMAXINDEX = {"MINMAXINDEX", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_303MINMAXINDEX, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_302MINMAXINDEX}; -static PyObject *__pyx_pw_5talib_7_ta_lib_303MINMAXINDEX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MINMAXINDEX (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6131, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6131, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6131, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MINMAXINDEX", 0) < (0)) __PYX_ERR(6, 6131, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MINMAXINDEX", 0, 1, 2, i); __PYX_ERR(6, 6131, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6131, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6131, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6133, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MINMAXINDEX", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 6131, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINMAXINDEX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 6133, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_302MINMAXINDEX(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_302MINMAXINDEX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outminidx = 0; - PyArrayObject *__pyx_v_outmaxidx = 0; - int *__pyx_v_outminidx_data; - int __pyx_v_i; - int *__pyx_v_outmaxidx_data; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - int __pyx_t_6; - char const *__pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - npy_intp __pyx_t_14; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MINMAXINDEX", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6157, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6157, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 6157, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 6157, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3) != (0)) __PYX_ERR(6, 6157, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6161, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MINMAXINDEX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 6165, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_outminidx = ((PyArrayObject *)__pyx_t_4); - __pyx_t_4 = 0; - - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 6166, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_outmaxidx = ((PyArrayObject *)__pyx_t_4); - __pyx_t_4 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MINMAXINDEX(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outminidx)) + __pyx_v_lookback), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmaxidx)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - if ( unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINMAXINDEX, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 6172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_v_outminidx_data = ((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outminidx)); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_14 = __pyx_v_length; - - for (__pyx_v_i = __pyx_v_lookback; __pyx_v_i < __pyx_t_14; __pyx_v_i++) { - - - __pyx_t_6 = __pyx_v_i; - (__pyx_v_outminidx_data[__pyx_t_6]) = ((__pyx_v_outminidx_data[__pyx_t_6]) + __pyx_v_begidx); - } - - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L26; - } - __pyx_L26:; - } - } - - __pyx_v_outmaxidx_data = ((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmaxidx)); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_14 = __pyx_v_length; - - for (__pyx_v_i = __pyx_v_lookback; __pyx_v_i < __pyx_t_14; __pyx_v_i++) { - - - __pyx_t_6 = __pyx_v_i; - (__pyx_v_outmaxidx_data[__pyx_t_6]) = ((__pyx_v_outmaxidx_data[__pyx_t_6]) + __pyx_v_begidx); - } - - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L31; - } - __pyx_L31:; - } - } - - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 6181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF((PyObject *)__pyx_v_outminidx); - __Pyx_GIVEREF((PyObject *)__pyx_v_outminidx); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_outminidx)) != (0)) __PYX_ERR(6, 6181, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outmaxidx); - __Pyx_GIVEREF((PyObject *)__pyx_v_outmaxidx); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_outmaxidx)) != (0)) __PYX_ERR(6, 6181, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.MINMAXINDEX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outminidx); - __Pyx_XDECREF((PyObject *)__pyx_v_outmaxidx); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_305MINUS_DI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_304MINUS_DI, "MINUS_DI(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000)\n\nMINUS_DI(high, low, close[, timeperiod=?])\n\nMinus Directional Indicator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_305MINUS_DI = {"MINUS_DI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_305MINUS_DI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_304MINUS_DI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_305MINUS_DI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MINUS_DI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6183, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 6183, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6183, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6183, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6183, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MINUS_DI", 0) < (0)) __PYX_ERR(6, 6183, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MINUS_DI", 0, 3, 4, i); __PYX_ERR(6, 6183, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 6183, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6183, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6183, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6183, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6185, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MINUS_DI", 0, 3, 4, __pyx_nargs); __PYX_ERR(6, 6183, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINUS_DI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 6185, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 6185, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 6185, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_304MINUS_DI(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_304MINUS_DI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MINUS_DI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 6207, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6209, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6213, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MINUS_DI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6217, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MINUS_DI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6223, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_307MINUS_DM(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_306MINUS_DM, "MINUS_DM(ndarray high, ndarray low, int timeperiod=-0x80000000)\n\nMINUS_DM(high, low[, timeperiod=?])\n\nMinus Directional Movement (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_307MINUS_DM = {"MINUS_DM", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_307MINUS_DM, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_306MINUS_DM}; -static PyObject *__pyx_pw_5talib_7_ta_lib_307MINUS_DM(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MINUS_DM (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6226, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6226, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6226, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6226, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MINUS_DM", 0) < (0)) __PYX_ERR(6, 6226, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MINUS_DM", 0, 2, 3, i); __PYX_ERR(6, 6226, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6226, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6226, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6226, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6228, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MINUS_DM", 0, 2, 3, __pyx_nargs); __PYX_ERR(6, 6226, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINUS_DM", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 6228, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 6228, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_306MINUS_DM(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_306MINUS_DM(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MINUS_DM", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 6249, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6255, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MINUS_DM_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6259, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MINUS_DM(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DM, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DM", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_309MOM(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_308MOM, "MOM(ndarray real, int timeperiod=-0x80000000)\n\nMOM(real[, timeperiod=?])\n\nMomentum (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_309MOM = {"MOM", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_309MOM, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_308MOM}; -static PyObject *__pyx_pw_5talib_7_ta_lib_309MOM(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MOM (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6268, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6268, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6268, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MOM", 0) < (0)) __PYX_ERR(6, 6268, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MOM", 0, 1, 2, i); __PYX_ERR(6, 6268, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6268, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6268, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6270, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MOM", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 6268, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MOM", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 6270, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_308MOM(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_308MOM(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MOM", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6289, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6292, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6296, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MOM_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6300, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MOM(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MOM, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6306, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MOM", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_311MULT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_310MULT, "MULT(ndarray real0, ndarray real1)\n\nMULT(real0, real1)\n\nVector Arithmetic Mult (Math Operators)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_311MULT = {"MULT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_311MULT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_310MULT}; -static PyObject *__pyx_pw_5talib_7_ta_lib_311MULT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real0 = 0; - PyArrayObject *__pyx_v_real1 = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("MULT (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6309, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6309, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6309, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "MULT", 0) < (0)) __PYX_ERR(6, 6309, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("MULT", 1, 2, 2, i); __PYX_ERR(6, 6309, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6309, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6309, __pyx_L3_error) - } - __pyx_v_real0 = ((PyArrayObject *)values[0]); - __pyx_v_real1 = ((PyArrayObject *)values[1]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("MULT", 1, 2, 2, __pyx_nargs); __PYX_ERR(6, 6309, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MULT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real0), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real0", 0))) __PYX_ERR(6, 6311, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real1), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real1", 0))) __PYX_ERR(6, 6311, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_310MULT(__pyx_self, __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_310MULT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real0, PyArrayObject *__pyx_v_real1) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("MULT", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real0); - __Pyx_INCREF((PyObject *)__pyx_v_real1); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6329, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real0, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real1, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_real0, __pyx_v_real1); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 6331, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6333, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real0)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real1))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6337, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MULT_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6341, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MULT(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real1)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MULT, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6347, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MULT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_real1); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_313NATR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_312NATR, "NATR(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000)\n\nNATR(high, low, close[, timeperiod=?])\n\nNormalized Average True Range (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_313NATR = {"NATR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_313NATR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_312NATR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_313NATR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("NATR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6350, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 6350, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6350, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6350, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6350, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "NATR", 0) < (0)) __PYX_ERR(6, 6350, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("NATR", 0, 3, 4, i); __PYX_ERR(6, 6350, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 6350, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6350, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6350, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6350, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6352, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("NATR", 0, 3, 4, __pyx_nargs); __PYX_ERR(6, 6350, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.NATR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 6352, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 6352, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 6352, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_312NATR(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_312NATR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("NATR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6371, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6372, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6373, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 6374, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6380, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_NATR_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6384, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_NATR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_NATR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6390, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.NATR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_315NVI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_314NVI, "NVI(ndarray close, ndarray volume)\n\nNVI(close, volume)\n\nNegative Volume Index (Volume Indicators)\n\nInputs:\n prices: [\047close\047, \047volume\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_315NVI = {"NVI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_315NVI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_314NVI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_315NVI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_close = 0; - PyArrayObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("NVI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6393, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6393, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6393, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "NVI", 0) < (0)) __PYX_ERR(6, 6393, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("NVI", 1, 2, 2, i); __PYX_ERR(6, 6393, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6393, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6393, __pyx_L3_error) - } - __pyx_v_close = ((PyArrayObject *)values[0]); - __pyx_v_volume = ((PyArrayObject *)values[1]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("NVI", 1, 2, 2, __pyx_nargs); __PYX_ERR(6, 6393, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.NVI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 6395, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 6395, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_314NVI(__pyx_self, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_314NVI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("NVI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_close); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6413, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_close, __pyx_v_volume); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 6414, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6416, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6420, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_NVI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6424, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_NVI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_NVI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.NVI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_317OBV(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_316OBV, "OBV(ndarray real, ndarray volume)\n\nOBV(real, volume)\n\nOn Balance Volume (Volume Indicators)\n\nInputs:\n real: (any ndarray)\n prices: [\047volume\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_317OBV = {"OBV", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_317OBV, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_316OBV}; -static PyObject *__pyx_pw_5talib_7_ta_lib_317OBV(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - PyArrayObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("OBV (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6433, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6433, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6433, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "OBV", 0) < (0)) __PYX_ERR(6, 6433, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("OBV", 1, 2, 2, i); __PYX_ERR(6, 6433, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6433, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6433, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - __pyx_v_volume = ((PyArrayObject *)values[1]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("OBV", 1, 2, 2, __pyx_nargs); __PYX_ERR(6, 6433, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.OBV", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 6435, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 6435, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_316OBV(__pyx_self, __pyx_v_real, __pyx_v_volume); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_316OBV(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, PyArrayObject *__pyx_v_volume) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("OBV", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6453, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6454, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_real, __pyx_v_volume); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 6455, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6457, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6461, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_OBV_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6465, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_OBV(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_OBV, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6471, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.OBV", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_319PERCENTILE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_318PERCENTILE, "PERCENTILE(ndarray real, int timeperiod=-0x80000000, double percentile=50.0)\n\nPERCENTILE(real[, timeperiod=?, percentile=?])\n\nPercentile (nearest rank) (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\n percentile: 50.0\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_319PERCENTILE = {"PERCENTILE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_319PERCENTILE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_318PERCENTILE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_319PERCENTILE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_percentile; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("PERCENTILE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_percentile,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6474, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6474, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6474, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6474, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "PERCENTILE", 0) < (0)) __PYX_ERR(6, 6474, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("PERCENTILE", 0, 1, 3, i); __PYX_ERR(6, 6474, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6474, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6474, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6474, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6476, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_percentile = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_percentile == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 6476, __pyx_L3_error) - } else { - __pyx_v_percentile = ((double)((double)50.0)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("PERCENTILE", 0, 1, 3, __pyx_nargs); __PYX_ERR(6, 6474, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PERCENTILE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 6476, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_318PERCENTILE(__pyx_self, __pyx_v_real, __pyx_v_timeperiod, __pyx_v_percentile); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_318PERCENTILE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_percentile) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PERCENTILE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6496, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6499, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6503, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PERCENTILE_Lookback(__pyx_v_timeperiod, __pyx_v_percentile)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6507, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PERCENTILE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, __pyx_v_percentile, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PERCENTILE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6513, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PERCENTILE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_321PERCENTRANK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_320PERCENTRANK, "PERCENTRANK(ndarray real, int timeperiod=-0x80000000)\n\nPERCENTRANK(real[, timeperiod=?])\n\nPercent Rank (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 100\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_321PERCENTRANK = {"PERCENTRANK", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_321PERCENTRANK, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_320PERCENTRANK}; -static PyObject *__pyx_pw_5talib_7_ta_lib_321PERCENTRANK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("PERCENTRANK (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6516, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6516, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6516, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "PERCENTRANK", 0) < (0)) __PYX_ERR(6, 6516, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("PERCENTRANK", 0, 1, 2, i); __PYX_ERR(6, 6516, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6516, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6516, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6518, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("PERCENTRANK", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 6516, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PERCENTRANK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 6518, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_320PERCENTRANK(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_320PERCENTRANK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PERCENTRANK", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6544, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PERCENTRANK_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6548, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PERCENTRANK(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PERCENTRANK, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6554, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PERCENTRANK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_323PLUS_DI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_322PLUS_DI, "PLUS_DI(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000)\n\nPLUS_DI(high, low, close[, timeperiod=?])\n\nPlus Directional Indicator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_323PLUS_DI = {"PLUS_DI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_323PLUS_DI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_322PLUS_DI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_323PLUS_DI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("PLUS_DI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6557, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 6557, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6557, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6557, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6557, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "PLUS_DI", 0) < (0)) __PYX_ERR(6, 6557, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("PLUS_DI", 0, 3, 4, i); __PYX_ERR(6, 6557, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 6557, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6557, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6557, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6557, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6559, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("PLUS_DI", 0, 3, 4, __pyx_nargs); __PYX_ERR(6, 6557, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PLUS_DI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 6559, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 6559, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 6559, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_322PLUS_DI(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_322PLUS_DI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PLUS_DI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6578, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6580, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 6581, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6583, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6587, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PLUS_DI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6591, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PLUS_DI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6597, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_325PLUS_DM(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_324PLUS_DM, "PLUS_DM(ndarray high, ndarray low, int timeperiod=-0x80000000)\n\nPLUS_DM(high, low[, timeperiod=?])\n\nPlus Directional Movement (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_325PLUS_DM = {"PLUS_DM", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_325PLUS_DM, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_324PLUS_DM}; -static PyObject *__pyx_pw_5talib_7_ta_lib_325PLUS_DM(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("PLUS_DM (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6600, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "PLUS_DM", 0) < (0)) __PYX_ERR(6, 6600, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("PLUS_DM", 0, 2, 3, i); __PYX_ERR(6, 6600, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6600, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6600, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6602, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("PLUS_DM", 0, 2, 3, __pyx_nargs); __PYX_ERR(6, 6600, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PLUS_DM", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 6602, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 6602, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_324PLUS_DM(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_324PLUS_DM(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PLUS_DM", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6621, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6622, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 6623, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6625, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6629, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PLUS_DM_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6633, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PLUS_DM(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DM, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6639, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DM", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_327PPO(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_326PPO, "PPO(ndarray real, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int matype=1)\n\nPPO(real[, fastperiod=?, slowperiod=?, matype=?])\n\nPercentage Price Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastperiod: 12\n slowperiod: 26\n matype: 1 (Exponential Moving Average)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_327PPO = {"PPO", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_327PPO, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_326PPO}; -static PyObject *__pyx_pw_5talib_7_ta_lib_327PPO(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("PPO (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6642, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 6642, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6642, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6642, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6642, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "PPO", 0) < (0)) __PYX_ERR(6, 6642, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("PPO", 0, 1, 4, i); __PYX_ERR(6, 6642, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 6642, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6642, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6642, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6642, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6644, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6644, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)((int)-2147483648)); - } - if (values[3]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6644, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)((int)1)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("PPO", 0, 1, 4, __pyx_nargs); __PYX_ERR(6, 6642, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PPO", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 6644, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_326PPO(__pyx_self, __pyx_v_real, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_326PPO(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PPO", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6665, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6668, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6672, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PPO_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6676, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PPO(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PPO, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6682, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PPO", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_329PVI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_328PVI, "PVI(ndarray close, ndarray volume)\n\nPVI(close, volume)\n\nPositive Volume Index (Volume Indicators)\n\nInputs:\n prices: [\047close\047, \047volume\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_329PVI = {"PVI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_329PVI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_328PVI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_329PVI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_close = 0; - PyArrayObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("PVI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6685, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6685, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6685, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "PVI", 0) < (0)) __PYX_ERR(6, 6685, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("PVI", 1, 2, 2, i); __PYX_ERR(6, 6685, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6685, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6685, __pyx_L3_error) - } - __pyx_v_close = ((PyArrayObject *)values[0]); - __pyx_v_volume = ((PyArrayObject *)values[1]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("PVI", 1, 2, 2, __pyx_nargs); __PYX_ERR(6, 6685, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 6687, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 6687, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_328PVI(__pyx_self, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_328PVI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PVI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_close); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6704, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6705, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_close, __pyx_v_volume); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 6706, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6708, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6712, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PVI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6716, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PVI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6722, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PVI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_331PVO(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_330PVO, "PVO(ndarray volume, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int matype=1)\n\nPVO(volume[, fastperiod=?, slowperiod=?, matype=?])\n\nPercentage Volume Oscillator (Volume Indicators)\n\nInputs:\n prices: [\047volume\047]\nParameters:\n fastperiod: 12\n slowperiod: 26\n matype: 1 (Exponential Moving Average)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_331PVO = {"PVO", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_331PVO, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_330PVO}; -static PyObject *__pyx_pw_5talib_7_ta_lib_331PVO(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_volume = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("PVO (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6725, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 6725, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6725, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6725, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6725, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "PVO", 0) < (0)) __PYX_ERR(6, 6725, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("PVO", 0, 1, 4, i); __PYX_ERR(6, 6725, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 6725, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6725, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6725, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6725, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_volume = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6727, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6727, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)((int)-2147483648)); - } - if (values[3]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6727, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)((int)1)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("PVO", 0, 1, 4, __pyx_nargs); __PYX_ERR(6, 6725, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVO", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 6727, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_330PVO(__pyx_self, __pyx_v_volume, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_330PVO(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_volume, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PVO", 0); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6748, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_volume)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6751, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6755, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PVO_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6759, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PVO(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVO, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6765, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PVO", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_333PVT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_332PVT, "PVT(ndarray close, ndarray volume)\n\nPVT(close, volume)\n\nPrice Volume Trend (Volume Indicators)\n\nInputs:\n prices: [\047close\047, \047volume\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_333PVT = {"PVT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_333PVT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_332PVT}; -static PyObject *__pyx_pw_5talib_7_ta_lib_333PVT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_close = 0; - PyArrayObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("PVT (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6768, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6768, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6768, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "PVT", 0) < (0)) __PYX_ERR(6, 6768, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("PVT", 1, 2, 2, i); __PYX_ERR(6, 6768, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6768, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6768, __pyx_L3_error) - } - __pyx_v_close = ((PyArrayObject *)values[0]); - __pyx_v_volume = ((PyArrayObject *)values[1]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("PVT", 1, 2, 2, __pyx_nargs); __PYX_ERR(6, 6768, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 6770, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 6770, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_332PVT(__pyx_self, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_332PVT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PVT", 0); - __Pyx_INCREF((PyObject *)__pyx_v_close); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6787, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6788, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_close, __pyx_v_volume); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 6789, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6791, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6795, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PVT_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6799, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PVT(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVT, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6805, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PVT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_335QSTICK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_334QSTICK, "QSTICK(ndarray open, ndarray close, int timeperiod=-0x80000000)\n\nQSTICK(open, close[, timeperiod=?])\n\nQstick (Momentum Indicators)\n\nInputs:\n prices: [\047open\047, \047close\047]\nParameters:\n timeperiod: 10\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_335QSTICK = {"QSTICK", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_335QSTICK, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_334QSTICK}; -static PyObject *__pyx_pw_5talib_7_ta_lib_335QSTICK(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_open = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("QSTICK (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6808, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6808, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6808, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6808, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "QSTICK", 0) < (0)) __PYX_ERR(6, 6808, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("QSTICK", 0, 2, 3, i); __PYX_ERR(6, 6808, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 6808, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6808, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6808, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = ((PyArrayObject *)values[0]); - __pyx_v_close = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6810, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("QSTICK", 0, 2, 3, __pyx_nargs); __PYX_ERR(6, 6808, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.QSTICK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_open), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "open", 0))) __PYX_ERR(6, 6810, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 6810, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_334QSTICK(__pyx_self, __pyx_v_open, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_334QSTICK(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_open, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("QSTICK", 0); - __Pyx_INCREF((PyObject *)__pyx_v_open); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6829, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_open, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6830, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_open, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 6831, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6833, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6837, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_QSTICK_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6841, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_QSTICK(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_QSTICK, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6847, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.QSTICK", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_open); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_337RMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_336RMA, "RMA(ndarray real, int timeperiod=-0x80000000)\n\nRMA(real[, timeperiod=?])\n\nWilder\047s Smoothed Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_337RMA = {"RMA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_337RMA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_336RMA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_337RMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("RMA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6850, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6850, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6850, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "RMA", 0) < (0)) __PYX_ERR(6, 6850, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("RMA", 0, 1, 2, i); __PYX_ERR(6, 6850, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6850, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6850, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6852, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("RMA", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 6850, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 6852, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_336RMA(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_336RMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("RMA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6874, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6878, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_RMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6882, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_RMA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RMA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6888, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.RMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_339ROC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_338ROC, "ROC(ndarray real, int timeperiod=-0x80000000)\n\nROC(real[, timeperiod=?])\n\nRate of change : ((real/prevPrice)-1)*100 (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_339ROC = {"ROC", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_339ROC, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_338ROC}; -static PyObject *__pyx_pw_5talib_7_ta_lib_339ROC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ROC (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6891, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6891, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6891, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ROC", 0) < (0)) __PYX_ERR(6, 6891, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ROC", 0, 1, 2, i); __PYX_ERR(6, 6891, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6891, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6891, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6893, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ROC", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 6891, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 6893, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_338ROC(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_338ROC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ROC", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6912, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6915, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6919, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ROC_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6923, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ROC(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROC, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6929, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ROC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_341ROCP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_340ROCP, "ROCP(ndarray real, int timeperiod=-0x80000000)\n\nROCP(real[, timeperiod=?])\n\nRate of change Percentage: (real-prevPrice)/prevPrice (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_341ROCP = {"ROCP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_341ROCP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_340ROCP}; -static PyObject *__pyx_pw_5talib_7_ta_lib_341ROCP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ROCP (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6932, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6932, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6932, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ROCP", 0) < (0)) __PYX_ERR(6, 6932, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ROCP", 0, 1, 2, i); __PYX_ERR(6, 6932, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6932, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6932, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6934, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ROCP", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 6932, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 6934, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_340ROCP(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_340ROCP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ROCP", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6953, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6956, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 6960, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ROCP_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6964, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ROCP(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCP, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6970, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ROCP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_343ROCR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_342ROCR, "ROCR(ndarray real, int timeperiod=-0x80000000)\n\nROCR(real[, timeperiod=?])\n\nRate of change ratio: (real/prevPrice) (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_343ROCR = {"ROCR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_343ROCR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_342ROCR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_343ROCR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ROCR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 6973, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6973, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6973, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ROCR", 0) < (0)) __PYX_ERR(6, 6973, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ROCR", 0, 1, 2, i); __PYX_ERR(6, 6973, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 6973, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 6973, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 6975, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ROCR", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 6973, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 6975, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_342ROCR(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_342ROCR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ROCR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6994, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 6997, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7001, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ROCR_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7005, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ROCR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7011, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ROCR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_345ROCR100(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_344ROCR100, "ROCR100(ndarray real, int timeperiod=-0x80000000)\n\nROCR100(real[, timeperiod=?])\n\nRate of change ratio 100 scale: (real/prevPrice)*100 (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_345ROCR100 = {"ROCR100", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_345ROCR100, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_344ROCR100}; -static PyObject *__pyx_pw_5talib_7_ta_lib_345ROCR100(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ROCR100 (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7014, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7014, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7014, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ROCR100", 0) < (0)) __PYX_ERR(6, 7014, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ROCR100", 0, 1, 2, i); __PYX_ERR(6, 7014, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7014, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7014, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7016, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ROCR100", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 7014, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCR100", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7016, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_344ROCR100(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_344ROCR100(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ROCR100", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7035, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7038, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7042, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ROCR100_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7046, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ROCR100(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCR100, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7052, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ROCR100", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_347RSI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_346RSI, "RSI(ndarray real, int timeperiod=-0x80000000)\n\nRSI(real[, timeperiod=?])\n\nRelative Strength Index (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_347RSI = {"RSI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_347RSI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_346RSI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_347RSI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("RSI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7055, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7055, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7055, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "RSI", 0) < (0)) __PYX_ERR(6, 7055, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("RSI", 0, 1, 2, i); __PYX_ERR(6, 7055, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7055, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7055, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7057, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("RSI", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 7055, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RSI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7057, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_346RSI(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_346RSI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("RSI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7076, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7079, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7083, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_RSI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7087, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_RSI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RSI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7093, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.RSI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_349RVI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_348RVI, "RVI(ndarray real, int timeperiod=-0x80000000, int stddevperiod=-0x80000000)\n\nRVI(real[, timeperiod=?, stddevperiod=?])\n\nRelative Volatility Index (Volatility Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\n stddevperiod: 10\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_349RVI = {"RVI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_349RVI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_348RVI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_349RVI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - int __pyx_v_stddevperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("RVI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_stddevperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7096, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7096, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7096, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7096, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "RVI", 0) < (0)) __PYX_ERR(6, 7096, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("RVI", 0, 1, 3, i); __PYX_ERR(6, 7096, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7096, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7096, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7096, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7098, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_stddevperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_stddevperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7098, __pyx_L3_error) - } else { - __pyx_v_stddevperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("RVI", 0, 1, 3, __pyx_nargs); __PYX_ERR(6, 7096, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RVI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7098, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_348RVI(__pyx_self, __pyx_v_real, __pyx_v_timeperiod, __pyx_v_stddevperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_348RVI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_stddevperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("RVI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7125, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_RVI_Lookback(__pyx_v_timeperiod, __pyx_v_stddevperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7129, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_RVI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, __pyx_v_stddevperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RVI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.RVI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_351RVOL(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_350RVOL, "RVOL(ndarray volume, int timeperiod=-0x80000000)\n\nRVOL(volume[, timeperiod=?])\n\nRelative Volume (Volume Indicators)\n\nInputs:\n prices: [\047volume\047]\nParameters:\n timeperiod: 20\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_351RVOL = {"RVOL", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_351RVOL, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_350RVOL}; -static PyObject *__pyx_pw_5talib_7_ta_lib_351RVOL(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("RVOL (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7138, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7138, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7138, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "RVOL", 0) < (0)) __PYX_ERR(6, 7138, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("RVOL", 0, 1, 2, i); __PYX_ERR(6, 7138, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7138, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7138, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_volume = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7140, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("RVOL", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 7138, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RVOL", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 7140, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_350RVOL(__pyx_self, __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_350RVOL(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_volume, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("RVOL", 0); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7159, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_volume)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7166, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_RVOL_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7170, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_RVOL(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RVOL, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.RVOL", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_353SAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_352SAR, "SAR(ndarray high, ndarray low, double acceleration=0.02, double maximum=0.2)\n\nSAR(high, low[, acceleration=?, maximum=?])\n\nParabolic SAR (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n acceleration: 0.02\n maximum: 0.2\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_353SAR = {"SAR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_353SAR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_352SAR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_353SAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - double __pyx_v_acceleration; - double __pyx_v_maximum; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("SAR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_acceleration,&__pyx_mstate_global->__pyx_n_u_maximum,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7179, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7179, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7179, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7179, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7179, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "SAR", 0) < (0)) __PYX_ERR(6, 7179, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("SAR", 0, 2, 4, i); __PYX_ERR(6, 7179, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7179, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7179, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7179, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7179, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_acceleration = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_acceleration == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7181, __pyx_L3_error) - } else { - __pyx_v_acceleration = ((double)((double)0.02)); - } - if (values[3]) { - __pyx_v_maximum = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_maximum == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7181, __pyx_L3_error) - } else { - __pyx_v_maximum = ((double)((double)0.2)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("SAR", 0, 2, 4, __pyx_nargs); __PYX_ERR(6, 7179, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 7181, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 7181, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_352SAR(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_acceleration, __pyx_v_maximum); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_352SAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, double __pyx_v_acceleration, double __pyx_v_maximum) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("SAR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 7203, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7209, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SAR_Lookback(__pyx_v_acceleration, __pyx_v_maximum)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7213, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SAR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_acceleration, __pyx_v_maximum, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SAR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_355SAREXT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_354SAREXT, "SAREXT(ndarray high, ndarray low, double startvalue=-4e37, double offsetonreverse=-4e37, double accelerationinitlong=-4e37, double accelerationlong=-4e37, double accelerationmaxlong=-4e37, double accelerationinitshort=-4e37, double accelerationshort=-4e37, double accelerationmaxshort=-4e37)\n\nSAREXT(high, low[, startvalue=?, offsetonreverse=?, accelerationinitlong=?, accelerationlong=?, accelerationmaxlong=?, accelerationinitshort=?, accelerationshort=?, accelerationmaxshort=?])\n\nParabolic SAR - Extended (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n startvalue: 0.0\n offsetonreverse: 0.0\n accelerationinitlong: 0.02\n accelerationlong: 0.02\n accelerationmaxlong: 0.2\n accelerationinitshort: 0.02\n accelerationshort: 0.02\n accelerationmaxshort: 0.2\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_355SAREXT = {"SAREXT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_355SAREXT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_354SAREXT}; -static PyObject *__pyx_pw_5talib_7_ta_lib_355SAREXT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - double __pyx_v_startvalue; - double __pyx_v_offsetonreverse; - double __pyx_v_accelerationinitlong; - double __pyx_v_accelerationlong; - double __pyx_v_accelerationmaxlong; - double __pyx_v_accelerationinitshort; - double __pyx_v_accelerationshort; - double __pyx_v_accelerationmaxshort; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[10] = {0,0,0,0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("SAREXT (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_startvalue,&__pyx_mstate_global->__pyx_n_u_offsetonreverse,&__pyx_mstate_global->__pyx_n_u_accelerationinitlong,&__pyx_mstate_global->__pyx_n_u_accelerationlong,&__pyx_mstate_global->__pyx_n_u_accelerationmaxlong,&__pyx_mstate_global->__pyx_n_u_accelerationinitshort,&__pyx_mstate_global->__pyx_n_u_accelerationshort,&__pyx_mstate_global->__pyx_n_u_accelerationmaxshort,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7222, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 10: - values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 9: - values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 8: - values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "SAREXT", 0) < (0)) __PYX_ERR(6, 7222, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("SAREXT", 0, 2, 10, i); __PYX_ERR(6, 7222, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 10: - values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 9: - values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 8: - values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7222, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7222, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7222, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_startvalue = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_startvalue == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7224, __pyx_L3_error) - } else { - __pyx_v_startvalue = ((double)((double)-4e37)); - } - if (values[3]) { - __pyx_v_offsetonreverse = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_offsetonreverse == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7224, __pyx_L3_error) - } else { - __pyx_v_offsetonreverse = ((double)((double)-4e37)); - } - if (values[4]) { - __pyx_v_accelerationinitlong = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_accelerationinitlong == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7224, __pyx_L3_error) - } else { - __pyx_v_accelerationinitlong = ((double)((double)-4e37)); - } - if (values[5]) { - __pyx_v_accelerationlong = __Pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_accelerationlong == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7224, __pyx_L3_error) - } else { - __pyx_v_accelerationlong = ((double)((double)-4e37)); - } - if (values[6]) { - __pyx_v_accelerationmaxlong = __Pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_accelerationmaxlong == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7224, __pyx_L3_error) - } else { - __pyx_v_accelerationmaxlong = ((double)((double)-4e37)); - } - if (values[7]) { - __pyx_v_accelerationinitshort = __Pyx_PyFloat_AsDouble(values[7]); if (unlikely((__pyx_v_accelerationinitshort == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7224, __pyx_L3_error) - } else { - __pyx_v_accelerationinitshort = ((double)((double)-4e37)); - } - if (values[8]) { - __pyx_v_accelerationshort = __Pyx_PyFloat_AsDouble(values[8]); if (unlikely((__pyx_v_accelerationshort == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7224, __pyx_L3_error) - } else { - __pyx_v_accelerationshort = ((double)((double)-4e37)); - } - if (values[9]) { - __pyx_v_accelerationmaxshort = __Pyx_PyFloat_AsDouble(values[9]); if (unlikely((__pyx_v_accelerationmaxshort == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7224, __pyx_L3_error) - } else { - __pyx_v_accelerationmaxshort = ((double)((double)-4e37)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("SAREXT", 0, 2, 10, __pyx_nargs); __PYX_ERR(6, 7222, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SAREXT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 7224, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 7224, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_354SAREXT(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_startvalue, __pyx_v_offsetonreverse, __pyx_v_accelerationinitlong, __pyx_v_accelerationlong, __pyx_v_accelerationmaxlong, __pyx_v_accelerationinitshort, __pyx_v_accelerationshort, __pyx_v_accelerationmaxshort); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_354SAREXT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, double __pyx_v_startvalue, double __pyx_v_offsetonreverse, double __pyx_v_accelerationinitlong, double __pyx_v_accelerationlong, double __pyx_v_accelerationmaxlong, double __pyx_v_accelerationinitshort, double __pyx_v_accelerationshort, double __pyx_v_accelerationmaxshort) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("SAREXT", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_high, __pyx_v_low); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 7252, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7254, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7258, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SAREXT_Lookback(__pyx_v_startvalue, __pyx_v_offsetonreverse, __pyx_v_accelerationinitlong, __pyx_v_accelerationlong, __pyx_v_accelerationmaxlong, __pyx_v_accelerationinitshort, __pyx_v_accelerationshort, __pyx_v_accelerationmaxshort)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7262, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SAREXT(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), __pyx_v_startvalue, __pyx_v_offsetonreverse, __pyx_v_accelerationinitlong, __pyx_v_accelerationlong, __pyx_v_accelerationmaxlong, __pyx_v_accelerationinitshort, __pyx_v_accelerationshort, __pyx_v_accelerationmaxshort, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SAREXT, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SAREXT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_357SIN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_356SIN, "SIN(ndarray real)\n\nSIN(real)\n\nVector Trigonometric Sin (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_357SIN = {"SIN", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_357SIN, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_356SIN}; -static PyObject *__pyx_pw_5talib_7_ta_lib_357SIN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("SIN (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7271, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7271, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "SIN", 0) < (0)) __PYX_ERR(6, 7271, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("SIN", 1, 1, 1, i); __PYX_ERR(6, 7271, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7271, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("SIN", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 7271, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SIN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7273, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_356SIN(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_356SIN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("SIN", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7290, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7293, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7297, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SIN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7301, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SIN(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SIN, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SIN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_359SINH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_358SINH, "SINH(ndarray real)\n\nSINH(real)\n\nVector Trigonometric Sinh (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_359SINH = {"SINH", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_359SINH, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_358SINH}; -static PyObject *__pyx_pw_5talib_7_ta_lib_359SINH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("SINH (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7310, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7310, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "SINH", 0) < (0)) __PYX_ERR(6, 7310, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("SINH", 1, 1, 1, i); __PYX_ERR(6, 7310, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7310, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("SINH", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 7310, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SINH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7312, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_358SINH(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_358SINH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("SINH", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7329, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7336, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SINH_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7340, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SINH(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SINH, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SINH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_361SMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_360SMA, "SMA(ndarray real, int timeperiod=-0x80000000)\n\nSMA(real[, timeperiod=?])\n\nSimple Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_361SMA = {"SMA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_361SMA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_360SMA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_361SMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("SMA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7349, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "SMA", 0) < (0)) __PYX_ERR(6, 7349, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("SMA", 0, 1, 2, i); __PYX_ERR(6, 7349, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7349, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7351, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("SMA", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 7349, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7351, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_360SMA(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_360SMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("SMA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7370, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7373, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7377, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7381, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SMA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SMA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_363SMI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_362SMI, "SMI(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int signalperiod=-0x80000000)\n\nSMI(high, low, close[, timeperiod=?, fastperiod=?, slowperiod=?, signalperiod=?])\n\nStochastic Momentum Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 13\n fastperiod: 2\n slowperiod: 25\n signalperiod: 9\nOutputs:\n smi\n smisignal"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_363SMI = {"SMI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_363SMI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_362SMI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_363SMI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_signalperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[7] = {0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("SMI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_signalperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7390, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(6, 7390, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 7390, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 7390, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7390, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7390, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7390, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7390, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "SMI", 0) < (0)) __PYX_ERR(6, 7390, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("SMI", 0, 3, 7, i); __PYX_ERR(6, 7390, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(6, 7390, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 7390, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 7390, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7390, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7390, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7390, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7390, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7392, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - if (values[4]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7392, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)((int)-2147483648)); - } - if (values[5]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7392, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)((int)-2147483648)); - } - if (values[6]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7392, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("SMI", 0, 3, 7, __pyx_nargs); __PYX_ERR(6, 7390, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SMI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 7392, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 7392, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 7392, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_362SMI(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_362SMI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outsmi = 0; - PyArrayObject *__pyx_v_outsmisignal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - char const *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("SMI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7416, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7418, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 7419, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 7421, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(6, 7421, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7425, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SMI_Lookback(__pyx_v_timeperiod, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7429, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outsmi = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7430, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outsmisignal = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SMI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outsmi)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outsmisignal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - if ( unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_5 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SMI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7437, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF((PyObject *)__pyx_v_outsmi); - __Pyx_GIVEREF((PyObject *)__pyx_v_outsmi); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_outsmi)) != (0)) __PYX_ERR(6, 7437, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outsmisignal); - __Pyx_GIVEREF((PyObject *)__pyx_v_outsmisignal); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_outsmisignal)) != (0)) __PYX_ERR(6, 7437, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.SMI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outsmi); - __Pyx_XDECREF((PyObject *)__pyx_v_outsmisignal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_365SQRT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_364SQRT, "SQRT(ndarray real)\n\nSQRT(real)\n\nVector Square Root (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_365SQRT = {"SQRT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_365SQRT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_364SQRT}; -static PyObject *__pyx_pw_5talib_7_ta_lib_365SQRT(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("SQRT (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7439, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7439, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "SQRT", 0) < (0)) __PYX_ERR(6, 7439, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("SQRT", 1, 1, 1, i); __PYX_ERR(6, 7439, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7439, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("SQRT", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 7439, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SQRT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7441, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_364SQRT(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_364SQRT(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("SQRT", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7461, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7465, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SQRT_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7469, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SQRT(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SQRT, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SQRT", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_367STDDEV(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_366STDDEV, "STDDEV(ndarray real, int timeperiod=-0x80000000, double nbdev=-4e37)\n\nSTDDEV(real[, timeperiod=?, nbdev=?])\n\nStandard Deviation (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 5\n nbdev: 1.0\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_367STDDEV = {"STDDEV", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_367STDDEV, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_366STDDEV}; -static PyObject *__pyx_pw_5talib_7_ta_lib_367STDDEV(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_nbdev; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("STDDEV (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_nbdev,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7478, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7478, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7478, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7478, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "STDDEV", 0) < (0)) __PYX_ERR(6, 7478, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("STDDEV", 0, 1, 3, i); __PYX_ERR(6, 7478, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7478, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7478, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7478, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7480, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_nbdev = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_nbdev == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7480, __pyx_L3_error) - } else { - __pyx_v_nbdev = ((double)((double)-4e37)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("STDDEV", 0, 1, 3, __pyx_nargs); __PYX_ERR(6, 7478, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STDDEV", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7480, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_366STDDEV(__pyx_self, __pyx_v_real, __pyx_v_timeperiod, __pyx_v_nbdev); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_366STDDEV(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdev) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("STDDEV", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7500, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7503, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7507, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_STDDEV_Lookback(__pyx_v_timeperiod, __pyx_v_nbdev)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7511, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_STDDEV(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, __pyx_v_nbdev, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STDDEV, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7517, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.STDDEV", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_369STOCH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_368STOCH, "STOCH(ndarray high, ndarray low, ndarray close, int fastk_period=-0x80000000, int slowk_period=-0x80000000, int slowk_matype=0, int slowd_period=-0x80000000, int slowd_matype=0)\n\nSTOCH(high, low, close[, fastk_period=?, slowk_period=?, slowk_matype=?, slowd_period=?, slowd_matype=?])\n\nStochastic (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n fastk_period: 5\n slowk_period: 3\n slowk_matype: 0 (Simple Moving Average)\n slowd_period: 3\n slowd_matype: 0 (Simple Moving Average)\nOutputs:\n slowk\n slowd"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_369STOCH = {"STOCH", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_369STOCH, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_368STOCH}; -static PyObject *__pyx_pw_5talib_7_ta_lib_369STOCH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_fastk_period; - int __pyx_v_slowk_period; - int __pyx_v_slowk_matype; - int __pyx_v_slowd_period; - int __pyx_v_slowd_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[8] = {0,0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("STOCH (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_fastk_period,&__pyx_mstate_global->__pyx_n_u_slowk_period,&__pyx_mstate_global->__pyx_n_u_slowk_matype,&__pyx_mstate_global->__pyx_n_u_slowd_period,&__pyx_mstate_global->__pyx_n_u_slowd_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7520, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 8: - values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(6, 7520, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(6, 7520, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 7520, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 7520, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7520, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7520, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7520, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7520, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "STOCH", 0) < (0)) __PYX_ERR(6, 7520, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("STOCH", 0, 3, 8, i); __PYX_ERR(6, 7520, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 8: - values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(6, 7520, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(6, 7520, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 7520, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 7520, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7520, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7520, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7520, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7520, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_fastk_period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_fastk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7522, __pyx_L3_error) - } else { - __pyx_v_fastk_period = ((int)((int)-2147483648)); - } - if (values[4]) { - __pyx_v_slowk_period = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_slowk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7522, __pyx_L3_error) - } else { - __pyx_v_slowk_period = ((int)((int)-2147483648)); - } - if (values[5]) { - __pyx_v_slowk_matype = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_slowk_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7522, __pyx_L3_error) - } else { - __pyx_v_slowk_matype = ((int)((int)0)); - } - if (values[6]) { - __pyx_v_slowd_period = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_slowd_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7522, __pyx_L3_error) - } else { - __pyx_v_slowd_period = ((int)((int)-2147483648)); - } - if (values[7]) { - __pyx_v_slowd_matype = __Pyx_PyLong_As_int(values[7]); if (unlikely((__pyx_v_slowd_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7522, __pyx_L3_error) - } else { - __pyx_v_slowd_matype = ((int)((int)0)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("STOCH", 0, 3, 8, __pyx_nargs); __PYX_ERR(6, 7520, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 7522, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 7522, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 7522, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_368STOCH(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_368STOCH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_slowk_period, int __pyx_v_slowk_matype, int __pyx_v_slowd_period, int __pyx_v_slowd_matype) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outslowk = 0; - PyArrayObject *__pyx_v_outslowd = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - char const *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("STOCH", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7547, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7548, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7549, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 7550, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7552, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7552, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7552, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 7552, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(6, 7552, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7556, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_STOCH_Lookback(__pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7560, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outslowk = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7561, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outslowd = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_STOCH(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outslowk)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outslowd)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - if ( unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_5 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCH, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7567, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7568, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF((PyObject *)__pyx_v_outslowk); - __Pyx_GIVEREF((PyObject *)__pyx_v_outslowk); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_outslowk)) != (0)) __PYX_ERR(6, 7568, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outslowd); - __Pyx_GIVEREF((PyObject *)__pyx_v_outslowd); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_outslowd)) != (0)) __PYX_ERR(6, 7568, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.STOCH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outslowk); - __Pyx_XDECREF((PyObject *)__pyx_v_outslowd); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_371STOCHF(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_370STOCHF, "STOCHF(ndarray high, ndarray low, ndarray close, int fastk_period=-0x80000000, int fastd_period=-0x80000000, int fastd_matype=0)\n\nSTOCHF(high, low, close[, fastk_period=?, fastd_period=?, fastd_matype=?])\n\nStochastic Fast (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n fastk_period: 5\n fastd_period: 3\n fastd_matype: 0 (Simple Moving Average)\nOutputs:\n fastk\n fastd"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_371STOCHF = {"STOCHF", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_371STOCHF, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_370STOCHF}; -static PyObject *__pyx_pw_5talib_7_ta_lib_371STOCHF(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_fastk_period; - int __pyx_v_fastd_period; - int __pyx_v_fastd_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[6] = {0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("STOCHF (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_fastk_period,&__pyx_mstate_global->__pyx_n_u_fastd_period,&__pyx_mstate_global->__pyx_n_u_fastd_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7570, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 7570, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 7570, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7570, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7570, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7570, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7570, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "STOCHF", 0) < (0)) __PYX_ERR(6, 7570, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("STOCHF", 0, 3, 6, i); __PYX_ERR(6, 7570, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 7570, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 7570, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7570, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7570, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7570, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7570, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_fastk_period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_fastk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7572, __pyx_L3_error) - } else { - __pyx_v_fastk_period = ((int)((int)-2147483648)); - } - if (values[4]) { - __pyx_v_fastd_period = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_fastd_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7572, __pyx_L3_error) - } else { - __pyx_v_fastd_period = ((int)((int)-2147483648)); - } - if (values[5]) { - __pyx_v_fastd_matype = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_fastd_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7572, __pyx_L3_error) - } else { - __pyx_v_fastd_matype = ((int)((int)0)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("STOCHF", 0, 3, 6, __pyx_nargs); __PYX_ERR(6, 7570, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCHF", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 7572, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 7572, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 7572, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_370STOCHF(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_370STOCHF(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_fastd_period, int __pyx_v_fastd_matype) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outfastk = 0; - PyArrayObject *__pyx_v_outfastd = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - char const *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("STOCHF", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7595, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7596, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7597, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 7598, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 7600, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(6, 7600, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7604, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_STOCHF_Lookback(__pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7608, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outfastk = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7609, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outfastd = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_STOCHF(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outfastk)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outfastd)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - if ( unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_5 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCHF, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7615, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7616, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF((PyObject *)__pyx_v_outfastk); - __Pyx_GIVEREF((PyObject *)__pyx_v_outfastk); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_outfastk)) != (0)) __PYX_ERR(6, 7616, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outfastd); - __Pyx_GIVEREF((PyObject *)__pyx_v_outfastd); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_outfastd)) != (0)) __PYX_ERR(6, 7616, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.STOCHF", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outfastk); - __Pyx_XDECREF((PyObject *)__pyx_v_outfastd); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_373STOCHRSI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_372STOCHRSI, "STOCHRSI(ndarray real, int timeperiod=-0x80000000, int fastk_period=-0x80000000, int fastd_period=-0x80000000, int fastd_matype=0)\n\nSTOCHRSI(real[, timeperiod=?, fastk_period=?, fastd_period=?, fastd_matype=?])\n\nStochastic Relative Strength Index (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\n fastk_period: 5\n fastd_period: 3\n fastd_matype: 0 (Simple Moving Average)\nOutputs:\n fastk\n fastd"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_373STOCHRSI = {"STOCHRSI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_373STOCHRSI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_372STOCHRSI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_373STOCHRSI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - int __pyx_v_fastk_period; - int __pyx_v_fastd_period; - int __pyx_v_fastd_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("STOCHRSI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_fastk_period,&__pyx_mstate_global->__pyx_n_u_fastd_period,&__pyx_mstate_global->__pyx_n_u_fastd_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7618, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 7618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "STOCHRSI", 0) < (0)) __PYX_ERR(6, 7618, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("STOCHRSI", 0, 1, 5, i); __PYX_ERR(6, 7618, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 7618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7618, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7620, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_fastk_period = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7620, __pyx_L3_error) - } else { - __pyx_v_fastk_period = ((int)((int)-2147483648)); - } - if (values[3]) { - __pyx_v_fastd_period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_fastd_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7620, __pyx_L3_error) - } else { - __pyx_v_fastd_period = ((int)((int)-2147483648)); - } - if (values[4]) { - __pyx_v_fastd_matype = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_fastd_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7620, __pyx_L3_error) - } else { - __pyx_v_fastd_matype = ((int)((int)0)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("STOCHRSI", 0, 1, 5, __pyx_nargs); __PYX_ERR(6, 7618, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCHRSI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7620, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_372STOCHRSI(__pyx_self, __pyx_v_real, __pyx_v_timeperiod, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_372STOCHRSI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_fastk_period, int __pyx_v_fastd_period, int __pyx_v_fastd_matype) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outfastk = 0; - PyArrayObject *__pyx_v_outfastd = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - int __pyx_t_6; - char const *__pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("STOCHRSI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7644, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7647, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 7647, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7647, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 7647, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3) != (0)) __PYX_ERR(6, 7647, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7651, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_STOCHRSI_Lookback(__pyx_v_timeperiod, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7655, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_outfastk = ((PyArrayObject *)__pyx_t_4); - __pyx_t_4 = 0; - - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7656, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_outfastd = ((PyArrayObject *)__pyx_t_4); - __pyx_t_4 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_STOCHRSI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outfastk)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outfastd)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - if ( unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCHRSI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7662, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7663, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF((PyObject *)__pyx_v_outfastk); - __Pyx_GIVEREF((PyObject *)__pyx_v_outfastk); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_outfastk)) != (0)) __PYX_ERR(6, 7663, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outfastd); - __Pyx_GIVEREF((PyObject *)__pyx_v_outfastd); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_outfastd)) != (0)) __PYX_ERR(6, 7663, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.STOCHRSI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outfastk); - __Pyx_XDECREF((PyObject *)__pyx_v_outfastd); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_375SUB(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_374SUB, "SUB(ndarray real0, ndarray real1)\n\nSUB(real0, real1)\n\nVector Arithmetic Subtraction (Math Operators)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_375SUB = {"SUB", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_375SUB, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_374SUB}; -static PyObject *__pyx_pw_5talib_7_ta_lib_375SUB(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real0 = 0; - PyArrayObject *__pyx_v_real1 = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("SUB (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7665, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7665, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7665, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "SUB", 0) < (0)) __PYX_ERR(6, 7665, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("SUB", 1, 2, 2, i); __PYX_ERR(6, 7665, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7665, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7665, __pyx_L3_error) - } - __pyx_v_real0 = ((PyArrayObject *)values[0]); - __pyx_v_real1 = ((PyArrayObject *)values[1]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("SUB", 1, 2, 2, __pyx_nargs); __PYX_ERR(6, 7665, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUB", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real0), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real0", 0))) __PYX_ERR(6, 7667, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real1), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real1", 0))) __PYX_ERR(6, 7667, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_374SUB(__pyx_self, __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_374SUB(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real0, PyArrayObject *__pyx_v_real1) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("SUB", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real0); - __Pyx_INCREF((PyObject *)__pyx_v_real1); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real0, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7686, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real1, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_real0, __pyx_v_real1); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 7687, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7689, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real0)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real1))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7693, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SUB_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7697, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SUB(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real1)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUB, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7703, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SUB", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_real1); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_377SUM(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_376SUM, "SUM(ndarray real, int timeperiod=-0x80000000)\n\nSUM(real[, timeperiod=?])\n\nSummation (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_377SUM = {"SUM", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_377SUM, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_376SUM}; -static PyObject *__pyx_pw_5talib_7_ta_lib_377SUM(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("SUM (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7706, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7706, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7706, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "SUM", 0) < (0)) __PYX_ERR(6, 7706, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("SUM", 0, 1, 2, i); __PYX_ERR(6, 7706, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7706, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7706, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7708, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("SUM", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 7706, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUM", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7708, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_376SUM(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_376SUM(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("SUM", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7727, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7730, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7734, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SUM_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7738, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SUM(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUM, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SUM", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_379SUPERTREND(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_378SUPERTREND, "SUPERTREND(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000, double multiplier=3.0)\n\nSUPERTREND(high, low, close[, timeperiod=?, multiplier=?])\n\nSuperTrend (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 10\n multiplier: 3.0\nOutputs:\n supertrend\n trend"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_379SUPERTREND = {"SUPERTREND", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_379SUPERTREND, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_378SUPERTREND}; -static PyObject *__pyx_pw_5talib_7_ta_lib_379SUPERTREND(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - double __pyx_v_multiplier; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("SUPERTREND (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_multiplier,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7747, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 7747, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7747, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7747, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7747, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7747, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "SUPERTREND", 0) < (0)) __PYX_ERR(6, 7747, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("SUPERTREND", 0, 3, 5, i); __PYX_ERR(6, 7747, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 7747, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 7747, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7747, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7747, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7747, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7749, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - if (values[4]) { - __pyx_v_multiplier = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_multiplier == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7749, __pyx_L3_error) - } else { - __pyx_v_multiplier = ((double)((double)3.0)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("SUPERTREND", 0, 3, 5, __pyx_nargs); __PYX_ERR(6, 7747, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUPERTREND", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 7749, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 7749, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 7749, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_378SUPERTREND(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod, __pyx_v_multiplier); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_378SUPERTREND(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod, double __pyx_v_multiplier) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outsupertrend = 0; - PyArrayObject *__pyx_v_outtrend = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - char const *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("SUPERTREND", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7771, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7773, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 7774, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7776, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7776, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7776, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 7776, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(6, 7776, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7780, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SUPERTREND_Lookback(__pyx_v_timeperiod, __pyx_v_multiplier)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7784, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outsupertrend = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7785, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outtrend = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SUPERTREND(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, __pyx_v_multiplier, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outsupertrend)) + __pyx_v_lookback), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outtrend)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - if ( unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_5 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUPERTREND, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7791, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7792, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF((PyObject *)__pyx_v_outsupertrend); - __Pyx_GIVEREF((PyObject *)__pyx_v_outsupertrend); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_outsupertrend)) != (0)) __PYX_ERR(6, 7792, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outtrend); - __Pyx_GIVEREF((PyObject *)__pyx_v_outtrend); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_outtrend)) != (0)) __PYX_ERR(6, 7792, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.SUPERTREND", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outsupertrend); - __Pyx_XDECREF((PyObject *)__pyx_v_outtrend); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_381T3(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_380T3, "T3(ndarray real, int timeperiod=-0x80000000, double vfactor=-4e37)\n\nT3(real[, timeperiod=?, vfactor=?])\n\nTriple Exponential Moving Average (T3) (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 5\n vfactor: 0.7\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_381T3 = {"T3", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_381T3, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_380T3}; -static PyObject *__pyx_pw_5talib_7_ta_lib_381T3(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_vfactor; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("T3 (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_vfactor,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7794, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7794, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7794, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7794, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "T3", 0) < (0)) __PYX_ERR(6, 7794, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("T3", 0, 1, 3, i); __PYX_ERR(6, 7794, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7794, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7794, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7794, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7796, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_vfactor = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_vfactor == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7796, __pyx_L3_error) - } else { - __pyx_v_vfactor = ((double)((double)-4e37)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("T3", 0, 1, 3, __pyx_nargs); __PYX_ERR(6, 7794, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.T3", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7796, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_380T3(__pyx_self, __pyx_v_real, __pyx_v_timeperiod, __pyx_v_vfactor); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_380T3(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_vfactor) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("T3", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7816, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7819, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7823, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_T3_Lookback(__pyx_v_timeperiod, __pyx_v_vfactor)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7827, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_T3(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, __pyx_v_vfactor, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_T3, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7833, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.T3", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_383TAN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_382TAN, "TAN(ndarray real)\n\nTAN(real)\n\nVector Trigonometric Tan (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_383TAN = {"TAN", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_383TAN, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_382TAN}; -static PyObject *__pyx_pw_5talib_7_ta_lib_383TAN(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("TAN (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7836, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7836, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "TAN", 0) < (0)) __PYX_ERR(6, 7836, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("TAN", 1, 1, 1, i); __PYX_ERR(6, 7836, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7836, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("TAN", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 7836, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TAN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7838, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_382TAN(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_382TAN(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("TAN", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7858, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7862, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TAN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7866, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TAN(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TAN, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7872, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TAN", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_385TANH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_384TANH, "TANH(ndarray real)\n\nTANH(real)\n\nVector Trigonometric Tanh (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_385TANH = {"TANH", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_385TANH, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_384TANH}; -static PyObject *__pyx_pw_5talib_7_ta_lib_385TANH(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("TANH (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7875, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7875, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "TANH", 0) < (0)) __PYX_ERR(6, 7875, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("TANH", 1, 1, 1, i); __PYX_ERR(6, 7875, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7875, __pyx_L3_error) - } - __pyx_v_real = ((PyArrayObject *)values[0]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("TANH", 1, 1, 1, __pyx_nargs); __PYX_ERR(6, 7875, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TANH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7877, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_384TANH(__pyx_self, __pyx_v_real); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_384TANH(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("TANH", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7894, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7897, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7901, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TANH_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7905, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TANH(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TANH, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7911, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TANH", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_387TEMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_386TEMA, "TEMA(ndarray real, int timeperiod=-0x80000000)\n\nTEMA(real[, timeperiod=?])\n\nTriple Exponential Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_387TEMA = {"TEMA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_387TEMA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_386TEMA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_387TEMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("TEMA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7914, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7914, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7914, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "TEMA", 0) < (0)) __PYX_ERR(6, 7914, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("TEMA", 0, 1, 2, i); __PYX_ERR(6, 7914, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7914, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7914, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7916, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("TEMA", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 7914, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TEMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7916, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_386TEMA(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_386TEMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("TEMA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7935, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7938, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7942, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TEMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7946, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TEMA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TEMA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7952, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TEMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_389TRANGE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_388TRANGE, "TRANGE(ndarray high, ndarray low, ndarray close)\n\nTRANGE(high, low, close)\n\nTrue Range (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_389TRANGE = {"TRANGE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_389TRANGE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_388TRANGE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_389TRANGE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("TRANGE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7955, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7955, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7955, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7955, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "TRANGE", 0) < (0)) __PYX_ERR(6, 7955, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("TRANGE", 1, 3, 3, i); __PYX_ERR(6, 7955, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7955, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7955, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 7955, __pyx_L3_error) - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("TRANGE", 1, 3, 3, __pyx_nargs); __PYX_ERR(6, 7955, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRANGE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 7957, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 7957, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 7957, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_388TRANGE(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_388TRANGE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("TRANGE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7974, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7975, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7976, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 7977, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7979, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 7983, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TRANGE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7987, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TRANGE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRANGE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 7993, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TRANGE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_391TRIMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_390TRIMA, "TRIMA(ndarray real, int timeperiod=-0x80000000)\n\nTRIMA(real[, timeperiod=?])\n\nTriangular Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_391TRIMA = {"TRIMA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_391TRIMA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_390TRIMA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_391TRIMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("TRIMA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 7996, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7996, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7996, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "TRIMA", 0) < (0)) __PYX_ERR(6, 7996, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("TRIMA", 0, 1, 2, i); __PYX_ERR(6, 7996, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 7996, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 7996, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 7998, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("TRIMA", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 7996, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRIMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 7998, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_390TRIMA(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_390TRIMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("TRIMA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8017, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8020, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8024, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TRIMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8028, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TRIMA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRIMA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8034, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TRIMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_393TRIX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_392TRIX, "TRIX(ndarray real, int timeperiod=-0x80000000)\n\nTRIX(real[, timeperiod=?])\n\n1-day Rate-Of-Change (ROC) of a Triple Smooth EMA (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_393TRIX = {"TRIX", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_393TRIX, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_392TRIX}; -static PyObject *__pyx_pw_5talib_7_ta_lib_393TRIX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("TRIX (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8037, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8037, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8037, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "TRIX", 0) < (0)) __PYX_ERR(6, 8037, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("TRIX", 0, 1, 2, i); __PYX_ERR(6, 8037, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8037, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8037, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8039, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("TRIX", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 8037, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRIX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 8039, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_392TRIX(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_392TRIX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("TRIX", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8058, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8061, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8065, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TRIX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8069, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TRIX(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRIX, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8075, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TRIX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_395TSF(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_394TSF, "TSF(ndarray real, int timeperiod=-0x80000000)\n\nTSF(real[, timeperiod=?])\n\nTime Series Forecast (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_395TSF = {"TSF", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_395TSF, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_394TSF}; -static PyObject *__pyx_pw_5talib_7_ta_lib_395TSF(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("TSF (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8078, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8078, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8078, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "TSF", 0) < (0)) __PYX_ERR(6, 8078, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("TSF", 0, 1, 2, i); __PYX_ERR(6, 8078, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8078, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8078, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8080, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("TSF", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 8078, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TSF", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 8080, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_394TSF(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_394TSF(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("TSF", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8099, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8106, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TSF_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8110, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TSF(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TSF, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8116, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TSF", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_397TSI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_396TSI, "TSI(ndarray real, int firstperiod=-0x80000000, int secondperiod=-0x80000000)\n\nTSI(real[, firstperiod=?, secondperiod=?])\n\nTrue Strength Index (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n firstperiod: 25\n secondperiod: 13\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_397TSI = {"TSI", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_397TSI, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_396TSI}; -static PyObject *__pyx_pw_5talib_7_ta_lib_397TSI(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_firstperiod; - int __pyx_v_secondperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("TSI (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_firstperiod,&__pyx_mstate_global->__pyx_n_u_secondperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8119, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8119, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8119, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8119, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "TSI", 0) < (0)) __PYX_ERR(6, 8119, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("TSI", 0, 1, 3, i); __PYX_ERR(6, 8119, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8119, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8119, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8119, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_firstperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_firstperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8121, __pyx_L3_error) - } else { - __pyx_v_firstperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_secondperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_secondperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8121, __pyx_L3_error) - } else { - __pyx_v_secondperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("TSI", 0, 1, 3, __pyx_nargs); __PYX_ERR(6, 8119, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TSI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 8121, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_396TSI(__pyx_self, __pyx_v_real, __pyx_v_firstperiod, __pyx_v_secondperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_396TSI(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_firstperiod, int __pyx_v_secondperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("TSI", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8141, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8148, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TSI_Lookback(__pyx_v_firstperiod, __pyx_v_secondperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8152, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TSI(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_firstperiod, __pyx_v_secondperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TSI, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TSI", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_399TYPPRICE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_398TYPPRICE, "TYPPRICE(ndarray high, ndarray low, ndarray close)\n\nTYPPRICE(high, low, close)\n\nTypical Price (Price Transform)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_399TYPPRICE = {"TYPPRICE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_399TYPPRICE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_398TYPPRICE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_399TYPPRICE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("TYPPRICE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8161, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8161, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8161, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8161, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "TYPPRICE", 0) < (0)) __PYX_ERR(6, 8161, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("TYPPRICE", 1, 3, 3, i); __PYX_ERR(6, 8161, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8161, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8161, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8161, __pyx_L3_error) - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("TYPPRICE", 1, 3, 3, __pyx_nargs); __PYX_ERR(6, 8161, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TYPPRICE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 8163, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 8163, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 8163, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_398TYPPRICE(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_398TYPPRICE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("TYPPRICE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8182, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 8183, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8189, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TYPPRICE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8193, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TYPPRICE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TYPPRICE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TYPPRICE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_401ULTOSC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_400ULTOSC, "ULTOSC(ndarray high, ndarray low, ndarray close, int timeperiod1=-0x80000000, int timeperiod2=-0x80000000, int timeperiod3=-0x80000000)\n\nULTOSC(high, low, close[, timeperiod1=?, timeperiod2=?, timeperiod3=?])\n\nUltimate Oscillator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod1: 7\n timeperiod2: 14\n timeperiod3: 28\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_401ULTOSC = {"ULTOSC", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_401ULTOSC, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_400ULTOSC}; -static PyObject *__pyx_pw_5talib_7_ta_lib_401ULTOSC(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod1; - int __pyx_v_timeperiod2; - int __pyx_v_timeperiod3; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[6] = {0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ULTOSC (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod1,&__pyx_mstate_global->__pyx_n_u_timeperiod2,&__pyx_mstate_global->__pyx_n_u_timeperiod3,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8202, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 8202, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 8202, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 8202, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8202, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8202, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8202, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ULTOSC", 0) < (0)) __PYX_ERR(6, 8202, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ULTOSC", 0, 3, 6, i); __PYX_ERR(6, 8202, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(6, 8202, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(6, 8202, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 8202, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8202, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8202, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8202, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod1 = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8204, __pyx_L3_error) - } else { - __pyx_v_timeperiod1 = ((int)((int)-2147483648)); - } - if (values[4]) { - __pyx_v_timeperiod2 = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_timeperiod2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8204, __pyx_L3_error) - } else { - __pyx_v_timeperiod2 = ((int)((int)-2147483648)); - } - if (values[5]) { - __pyx_v_timeperiod3 = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_timeperiod3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8204, __pyx_L3_error) - } else { - __pyx_v_timeperiod3 = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ULTOSC", 0, 3, 6, __pyx_nargs); __PYX_ERR(6, 8202, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ULTOSC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 8204, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 8204, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 8204, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_400ULTOSC(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod1, __pyx_v_timeperiod2, __pyx_v_timeperiod3); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_400ULTOSC(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod1, int __pyx_v_timeperiod2, int __pyx_v_timeperiod3) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ULTOSC", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8225, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8226, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 8228, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8234, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ULTOSC_Lookback(__pyx_v_timeperiod1, __pyx_v_timeperiod2, __pyx_v_timeperiod3)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8238, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ULTOSC(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod1, __pyx_v_timeperiod2, __pyx_v_timeperiod3, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ULTOSC, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ULTOSC", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_403VAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_402VAR, "VAR(ndarray real, int timeperiod=-0x80000000, double nbdev=-4e37)\n\nVAR(real[, timeperiod=?, nbdev=?])\n\nVariance (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 5\n nbdev: 1.0\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_403VAR = {"VAR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_403VAR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_402VAR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_403VAR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_nbdev; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("VAR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_nbdev,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8247, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8247, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8247, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8247, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "VAR", 0) < (0)) __PYX_ERR(6, 8247, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("VAR", 0, 1, 3, i); __PYX_ERR(6, 8247, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8247, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8247, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8247, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8249, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - if (values[2]) { - __pyx_v_nbdev = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_nbdev == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 8249, __pyx_L3_error) - } else { - __pyx_v_nbdev = ((double)((double)-4e37)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("VAR", 0, 1, 3, __pyx_nargs); __PYX_ERR(6, 8247, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 8249, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_402VAR(__pyx_self, __pyx_v_real, __pyx_v_timeperiod, __pyx_v_nbdev); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_402VAR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdev) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("VAR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8276, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_VAR_Lookback(__pyx_v_timeperiod, __pyx_v_nbdev)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8280, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_VAR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, __pyx_v_nbdev, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VAR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8286, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.VAR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_405VHF(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_404VHF, "VHF(ndarray real, int timeperiod=-0x80000000)\n\nVHF(real[, timeperiod=?])\n\nVertical Horizontal Filter (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 28\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_405VHF = {"VHF", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_405VHF, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_404VHF}; -static PyObject *__pyx_pw_5talib_7_ta_lib_405VHF(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("VHF (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8289, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8289, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8289, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "VHF", 0) < (0)) __PYX_ERR(6, 8289, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("VHF", 0, 1, 2, i); __PYX_ERR(6, 8289, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8289, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8289, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8291, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("VHF", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 8289, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VHF", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 8291, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_404VHF(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_404VHF(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("VHF", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8310, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8313, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8317, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_VHF_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8321, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_VHF(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VHF, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.VHF", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_407VORTEX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_406VORTEX, "VORTEX(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000)\n\nVORTEX(high, low, close[, timeperiod=?])\n\nVortex Indicator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n plusvi\n minusvi"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_407VORTEX = {"VORTEX", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_407VORTEX, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_406VORTEX}; -static PyObject *__pyx_pw_5talib_7_ta_lib_407VORTEX(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("VORTEX (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8330, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 8330, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8330, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8330, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8330, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "VORTEX", 0) < (0)) __PYX_ERR(6, 8330, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("VORTEX", 0, 3, 4, i); __PYX_ERR(6, 8330, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 8330, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8330, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8330, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8330, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8332, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("VORTEX", 0, 3, 4, __pyx_nargs); __PYX_ERR(6, 8330, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VORTEX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 8332, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 8332, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 8332, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_406VORTEX(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_406VORTEX(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outplusvi = 0; - PyArrayObject *__pyx_v_outminusvi = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - char const *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("VORTEX", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8354, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8355, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 8356, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8358, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8358, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 8358, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(6, 8358, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(6, 8358, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8362, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_VORTEX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 8366, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outplusvi = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 8367, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_outminusvi = ((PyArrayObject *)__pyx_t_5); - __pyx_t_5 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_VORTEX(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outplusvi)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outminusvi)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - if ( unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_5 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VORTEX, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 8373, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 8374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF((PyObject *)__pyx_v_outplusvi); - __Pyx_GIVEREF((PyObject *)__pyx_v_outplusvi); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_outplusvi)) != (0)) __PYX_ERR(6, 8374, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_outminusvi); - __Pyx_GIVEREF((PyObject *)__pyx_v_outminusvi); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_outminusvi)) != (0)) __PYX_ERR(6, 8374, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.VORTEX", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outplusvi); - __Pyx_XDECREF((PyObject *)__pyx_v_outminusvi); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_409VWAP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_408VWAP, "VWAP(ndarray high, ndarray low, ndarray close, ndarray volume)\n\nVWAP(high, low, close, volume)\n\nVolume Weighted Average Price (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_409VWAP = {"VWAP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_409VWAP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_408VWAP}; -static PyObject *__pyx_pw_5talib_7_ta_lib_409VWAP(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - PyArrayObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("VWAP (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8376, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 8376, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8376, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8376, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8376, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "VWAP", 0) < (0)) __PYX_ERR(6, 8376, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("VWAP", 1, 4, 4, i); __PYX_ERR(6, 8376, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8376, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8376, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8376, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 8376, __pyx_L3_error) - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - __pyx_v_volume = ((PyArrayObject *)values[3]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("VWAP", 1, 4, 4, __pyx_nargs); __PYX_ERR(6, 8376, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VWAP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 8378, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 8378, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 8378, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 8378, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_408VWAP(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_408VWAP(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, PyArrayObject *__pyx_v_volume) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("VWAP", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8395, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8396, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8397, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8398, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length4(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 8399, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8401, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx4(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8405, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_VWAP_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8409, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_VWAP(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VWAP, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8415, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.VWAP", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_411VWMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_410VWMA, "VWMA(ndarray real, ndarray volume, int timeperiod=-0x80000000)\n\nVWMA(real, volume[, timeperiod=?])\n\nVolume Weighted Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\n prices: [\047volume\047]\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_411VWMA = {"VWMA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_411VWMA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_410VWMA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_411VWMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - PyArrayObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("VWMA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8418, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8418, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8418, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8418, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "VWMA", 0) < (0)) __PYX_ERR(6, 8418, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("VWMA", 0, 2, 3, i); __PYX_ERR(6, 8418, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8418, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8418, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8418, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - __pyx_v_volume = ((PyArrayObject *)values[1]); - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8420, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("VWMA", 0, 2, 3, __pyx_nargs); __PYX_ERR(6, 8418, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VWMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 8420, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_volume), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "volume", 0))) __PYX_ERR(6, 8420, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_410VWMA(__pyx_self, __pyx_v_real, __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_410VWMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, PyArrayObject *__pyx_v_volume, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("VWMA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - __Pyx_INCREF((PyObject *)__pyx_v_volume); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8440, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8441, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_volume, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length2(__pyx_v_real, __pyx_v_volume); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 8442, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8444, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx2(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8448, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_VWMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8452, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_VWMA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_volume)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VWMA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.VWMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XDECREF((PyObject *)__pyx_v_volume); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_413WAD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_412WAD, "WAD(ndarray high, ndarray low, ndarray close)\n\nWAD(high, low, close)\n\nWilliams\047 Accumulation/Distribution (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_413WAD = {"WAD", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_413WAD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_412WAD}; -static PyObject *__pyx_pw_5talib_7_ta_lib_413WAD(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("WAD (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8461, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8461, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8461, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8461, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "WAD", 0) < (0)) __PYX_ERR(6, 8461, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("WAD", 1, 3, 3, i); __PYX_ERR(6, 8461, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8461, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8461, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8461, __pyx_L3_error) - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("WAD", 1, 3, 3, __pyx_nargs); __PYX_ERR(6, 8461, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WAD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 8463, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 8463, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 8463, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_412WAD(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_412WAD(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("WAD", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 8483, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8485, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8489, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_WAD_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8493, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_WAD(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WAD, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8499, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.WAD", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_415WCLPRICE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_414WCLPRICE, "WCLPRICE(ndarray high, ndarray low, ndarray close)\n\nWCLPRICE(high, low, close)\n\nWeighted Close Price (Price Transform)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_415WCLPRICE = {"WCLPRICE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_415WCLPRICE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_414WCLPRICE}; -static PyObject *__pyx_pw_5talib_7_ta_lib_415WCLPRICE(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("WCLPRICE (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8502, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8502, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8502, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8502, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "WCLPRICE", 0) < (0)) __PYX_ERR(6, 8502, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("WCLPRICE", 1, 3, 3, i); __PYX_ERR(6, 8502, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8502, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8502, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8502, __pyx_L3_error) - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("WCLPRICE", 1, 3, 3, __pyx_nargs); __PYX_ERR(6, 8502, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WCLPRICE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 8504, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 8504, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 8504, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_414WCLPRICE(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_414WCLPRICE(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("WCLPRICE", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8521, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 8524, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8526, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8530, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_WCLPRICE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8534, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_WCLPRICE(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WCLPRICE, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.WCLPRICE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_417WILLR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_416WILLR, "WILLR(ndarray high, ndarray low, ndarray close, int timeperiod=-0x80000000)\n\nWILLR(high, low, close[, timeperiod=?])\n\nWilliams\047 %R (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_417WILLR = {"WILLR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_417WILLR, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_416WILLR}; -static PyObject *__pyx_pw_5talib_7_ta_lib_417WILLR(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_high = 0; - PyArrayObject *__pyx_v_low = 0; - PyArrayObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("WILLR (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8543, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 8543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "WILLR", 0) < (0)) __PYX_ERR(6, 8543, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("WILLR", 0, 3, 4, i); __PYX_ERR(6, 8543, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(6, 8543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(6, 8543, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8543, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8543, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = ((PyArrayObject *)values[0]); - __pyx_v_low = ((PyArrayObject *)values[1]); - __pyx_v_close = ((PyArrayObject *)values[2]); - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8545, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("WILLR", 0, 3, 4, __pyx_nargs); __PYX_ERR(6, 8543, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WILLR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_high), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "high", 0))) __PYX_ERR(6, 8545, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_low), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "low", 0))) __PYX_ERR(6, 8545, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_close), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "close", 0))) __PYX_ERR(6, 8545, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_416WILLR(__pyx_self, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_416WILLR(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_high, PyArrayObject *__pyx_v_low, PyArrayObject *__pyx_v_close, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("WILLR", 0); - __Pyx_INCREF((PyObject *)__pyx_v_high); - __Pyx_INCREF((PyObject *)__pyx_v_low); - __Pyx_INCREF((PyObject *)__pyx_v_close); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8564, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_high, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_low, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8566, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_close, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length3(__pyx_v_high, __pyx_v_low, __pyx_v_close); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(6, 8567, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = (__pyx_v_length == 0); - - if (__pyx_t_3) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8569, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx3(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)), ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8573, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_WILLR_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8577, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_WILLR(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_close)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WILLR, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8583, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.WILLR", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_high); - __Pyx_XDECREF((PyObject *)__pyx_v_low); - __Pyx_XDECREF((PyObject *)__pyx_v_close); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_419WMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_418WMA, "WMA(ndarray real, int timeperiod=-0x80000000)\n\nWMA(real[, timeperiod=?])\n\nWeighted Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_419WMA = {"WMA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_419WMA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_418WMA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_419WMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("WMA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8586, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8586, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8586, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "WMA", 0) < (0)) __PYX_ERR(6, 8586, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("WMA", 0, 1, 2, i); __PYX_ERR(6, 8586, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8586, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8586, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8588, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("WMA", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 8586, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 8588, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_418WMA(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_418WMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("WMA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8607, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8610, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8614, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_WMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8618, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_WMA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WMA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8624, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.WMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_421ZLEMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_420ZLEMA, "ZLEMA(ndarray real, int timeperiod=-0x80000000)\n\nZLEMA(real[, timeperiod=?])\n\nZero-Lag Exponential Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_421ZLEMA = {"ZLEMA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_421ZLEMA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_420ZLEMA}; -static PyObject *__pyx_pw_5talib_7_ta_lib_421ZLEMA(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyArrayObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ZLEMA (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(6, 8627, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8627, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8627, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ZLEMA", 0) < (0)) __PYX_ERR(6, 8627, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ZLEMA", 0, 1, 2, i); __PYX_ERR(6, 8627, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(6, 8627, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(6, 8627, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = ((PyArrayObject *)values[0]); - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 8629, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)((int)-2147483648)); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("ZLEMA", 0, 1, 2, __pyx_nargs); __PYX_ERR(6, 8627, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ZLEMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_real), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 0, "real", 0))) __PYX_ERR(6, 8629, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_420ZLEMA(__pyx_self, __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_420ZLEMA(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_real, int __pyx_v_timeperiod) { - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_endidx; - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - PyArrayObject *__pyx_v_outreal = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ZLEMA", 0); - __Pyx_INCREF((PyObject *)__pyx_v_real); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8648, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_real, ((PyArrayObject *)__pyx_t_1)); - __pyx_t_1 = 0; - - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_real)[0]); - - __pyx_t_2 = (__pyx_v_length == 0); - - if (__pyx_t_2) { - - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_begidx = __pyx_f_5talib_7_ta_lib_check_begidx1(__pyx_v_length, ((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real))); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L6; - } - __pyx_L6:; - } - } - - __pyx_v_endidx = ((((int)__pyx_v_length) - __pyx_v_begidx) - 1); - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(6, 8655, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ZLEMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8659, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ZLEMA(0, __pyx_v_endidx, (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_real)) + __pyx_v_begidx), __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L18; - } - __pyx_L18:; - } - } - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - if ( unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; - goto __pyx_L1_error; - } - __pyx_L9:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ZLEMA, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8665, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_outreal); - __pyx_r = ((PyObject *)__pyx_v_outreal); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ZLEMA", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - __Pyx_XDECREF((PyObject *)__pyx_v_real); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_423str2bytes(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_422str2bytes, "str2bytes(s)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_423str2bytes = {"str2bytes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_423str2bytes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_422str2bytes}; -static PyObject *__pyx_pw_5talib_7_ta_lib_423str2bytes(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_s = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("str2bytes (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_s,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 73, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 73, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "str2bytes", 0) < (0)) __PYX_ERR(2, 73, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("str2bytes", 1, 1, 1, i); __PYX_ERR(2, 73, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 73, __pyx_L3_error) - } - __pyx_v_s = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("str2bytes", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 73, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.str2bytes", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_422str2bytes(__pyx_self, __pyx_v_s); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_422str2bytes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_s) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("str2bytes", 0); - - __pyx_t_2 = NULL; - __pyx_t_3 = 1; - { - PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_s, __pyx_mstate_global->__pyx_n_u_ascii}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 74, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.str2bytes", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_425bytes2str(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_424bytes2str, "bytes2str(b)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_425bytes2str = {"bytes2str", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_425bytes2str, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_424bytes2str}; -static PyObject *__pyx_pw_5talib_7_ta_lib_425bytes2str(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_b = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("bytes2str (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_b,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 76, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 76, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "bytes2str", 0) < (0)) __PYX_ERR(2, 76, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("bytes2str", 1, 1, 1, i); __PYX_ERR(2, 76, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 76, __pyx_L3_error) - } - __pyx_v_b = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bytes2str", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 76, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.bytes2str", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_424bytes2str(__pyx_self, __pyx_v_b); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_424bytes2str(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_b) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("bytes2str", 0); - - __pyx_t_2 = __pyx_v_b; - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_n_u_ascii}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_decode, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.bytes2str", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_427str2bytes(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_426str2bytes, "str2bytes(s)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_427str2bytes = {"str2bytes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_427str2bytes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_426str2bytes}; -static PyObject *__pyx_pw_5talib_7_ta_lib_427str2bytes(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_s = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("str2bytes (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_s,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 81, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 81, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "str2bytes", 0) < (0)) __PYX_ERR(2, 81, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("str2bytes", 1, 1, 1, i); __PYX_ERR(2, 81, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 81, __pyx_L3_error) - } - __pyx_v_s = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("str2bytes", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 81, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.str2bytes", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_426str2bytes(__pyx_self, __pyx_v_s); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_426str2bytes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_s) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("str2bytes", 0); - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_v_s); - __pyx_r = __pyx_v_s; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_429bytes2str(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_428bytes2str, "bytes2str(b)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_429bytes2str = {"bytes2str", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_429bytes2str, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_428bytes2str}; -static PyObject *__pyx_pw_5talib_7_ta_lib_429bytes2str(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_b = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("bytes2str (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_b,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 84, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 84, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "bytes2str", 0) < (0)) __PYX_ERR(2, 84, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("bytes2str", 1, 1, 1, i); __PYX_ERR(2, 84, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 84, __pyx_L3_error) - } - __pyx_v_b = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bytes2str", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 84, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.bytes2str", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_428bytes2str(__pyx_self, __pyx_v_b); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_428bytes2str(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_b) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("bytes2str", 0); - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_v_b); - __pyx_r = __pyx_v_b; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_1__init__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function___init__, "Function.__init__(self, function_name, func_object, *args, **kwargs)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_1__init__ = {"__init__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_1__init__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function___init__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_1__init__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_function_name = 0; - PyObject *__pyx_v_func_object = 0; - PyObject *__pyx_v_args = 0; - PyObject *__pyx_v_kwargs = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; - __Pyx_GOTREF(__pyx_v_kwargs); - __pyx_v_args = __Pyx_ArgsSlice_FASTCALL(__pyx_args, 3, __pyx_nargs); - if (unlikely(!__pyx_v_args)) { - __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; - __Pyx_RefNannyFinishContext(); - return NULL; - } - __Pyx_GOTREF(__pyx_v_args); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_function_name,&__pyx_mstate_global->__pyx_n_u_func_object,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 116, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - default: - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 116, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 116, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 116, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - const Py_ssize_t used_pos_args = (kwd_pos_args < 3) ? kwd_pos_args : 3; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, __pyx_kwds_len, "__init__", 1) < (0)) __PYX_ERR(2, 116, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 3, i); __PYX_ERR(2, 116, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs < 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 116, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 116, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 116, __pyx_L3_error) - } - __pyx_v_self = values[0]; - __pyx_v_function_name = values[1]; - __pyx_v_func_object = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 3, __pyx_nargs); __PYX_ERR(2, 116, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0; - __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; - __Pyx_AddTraceback("talib._ta_lib.Function.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function___init__(__pyx_self, __pyx_v_self, __pyx_v_function_name, __pyx_v_func_object, __pyx_v_args, __pyx_v_kwargs); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_DECREF(__pyx_v_args); - __Pyx_DECREF(__pyx_v_kwargs); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_function_name, PyObject *__pyx_v_func_object, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_2 = __pyx_v_function_name; - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_upper, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__name, __pyx_t_1) < (0)) __PYX_ERR(2, 118, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 119, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__namestr, __pyx_t_1) < (0)) __PYX_ERR(2, 119, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str2bytes); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__name); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); - assert(__pyx_t_2); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_4, __pyx__function); - __pyx_t_3 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__name, __pyx_t_1) < (0)) __PYX_ERR(2, 120, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_4 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_threading); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_local); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_3 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); - assert(__pyx_t_4); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_2, __pyx__function); - __pyx_t_3 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__localdata, __pyx_t_1) < (0)) __PYX_ERR(2, 123, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_set_function_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_func_object, __pyx_v_func_object) < (0)) __PYX_ERR(2, 127, __pyx_L1_error) - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.Function.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_3__local(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_2__local, "Function.__local(self)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_3__local = {"__local", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_3__local, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_2__local}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_3__local(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__local (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 129, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 129, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__local", 0) < (0)) __PYX_ERR(2, 129, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__local", 1, 1, 1, i); __PYX_ERR(2, 129, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 129, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__local", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 129, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.__local", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_2__local(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_2__local(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_v_local = NULL; - PyObject *__pyx_v_i = NULL; - PyObject *__pyx_v_info = NULL; - PyObject *__pyx_v_input_name = NULL; - PyObject *__pyx_v_param_name = NULL; - PyObject *__pyx_v_output_name = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - size_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *(*__pyx_t_9)(PyObject *); - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__local", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__localdata); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_2 = __Pyx_HasAttr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 132, __pyx_L1_error) - __pyx_t_3 = (!__pyx_t_2); - - - if (__pyx_t_3) { - - - if (__Pyx_PyObject_SetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info, Py_None) < (0)) __PYX_ERR(2, 133, __pyx_L1_error) - - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (__Pyx_PyObject_SetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays, __pyx_t_1) < (0)) __PYX_ERR(2, 134, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_4 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_OrderedDict); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 137, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - assert(__pyx_t_4); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_5, __pyx__function); - __pyx_t_6 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 137, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (__Pyx_PyObject_SetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_names, __pyx_t_1) < (0)) __PYX_ERR(2, 137, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_5 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_OrderedDict); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - assert(__pyx_t_5); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_4, __pyx__function); - __pyx_t_6 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (__Pyx_PyObject_SetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs, __pyx_t_1) < (0)) __PYX_ERR(2, 138, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_4 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_OrderedDict); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - assert(__pyx_t_4); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_5, __pyx__function); - __pyx_t_6 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (__Pyx_PyObject_SetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs, __pyx_t_1) < (0)) __PYX_ERR(2, 139, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - if (__Pyx_PyObject_SetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs_valid, Py_False) < (0)) __PYX_ERR(2, 140, __pyx_L1_error) - - __pyx_t_5 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ta_getFuncInfo); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__name); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - assert(__pyx_t_5); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_4, __pyx__function); - __pyx_t_6 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (__Pyx_PyObject_SetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info, __pyx_t_1) < (0)) __PYX_ERR(2, 143, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_4 = NULL; - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_5 = __pyx_t_8; - __Pyx_INCREF(__pyx_t_5); - __pyx_t_6 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_num_inputs}; - __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pop, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - } - __pyx_t_6 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_7}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyRange_Type), __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 146, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - { - __pyx_t_1 = __pyx_t_9(__pyx_t_7); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 146, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_4 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_ta_getInputParameterInfo); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__name); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8); - assert(__pyx_t_4); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_8, __pyx__function); - __pyx_t_6 = 0; - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_5, __pyx_v_i}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_XDECREF_SET(__pyx_v_info, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_info, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 148, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_input_name, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_info, __pyx_mstate_global->__pyx_n_u_price_series); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = (__pyx_t_1 == Py_None); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_3) { - - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_INPUT_PRICE_SERIES_DEFAULTS); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_input_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely((PyObject_SetItem(__pyx_v_info, __pyx_mstate_global->__pyx_n_u_price_series, __pyx_t_8) < 0))) __PYX_ERR(2, 150, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - } - - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - if (unlikely((PyObject_SetItem(__pyx_t_8, __pyx_v_input_name, __pyx_v_info) < 0))) __PYX_ERR(2, 151, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 152, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 152, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - if (unlikely((PyObject_SetItem(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_input_names, __pyx_t_7) < 0))) __PYX_ERR(2, 152, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - __pyx_t_8 = NULL; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __pyx_t_4; - __Pyx_INCREF(__pyx_t_5); - __pyx_t_6 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_num_opt_inputs}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pop, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_t_6 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_1}; - __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)(&PyRange_Type), __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - } - __pyx_t_1 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 155, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - for (;;) { - { - __pyx_t_7 = __pyx_t_9(__pyx_t_1); - if (unlikely(!__pyx_t_7)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 155, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_7); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_7); - __pyx_t_7 = 0; - - __pyx_t_8 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ta_getOptInputParameterInfo); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__name); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4); - assert(__pyx_t_8); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_4, __pyx__function); - __pyx_t_6 = 0; - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_t_5, __pyx_v_i}; - __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - } - __Pyx_XDECREF_SET(__pyx_v_info, __pyx_t_7); - __pyx_t_7 = 0; - - __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_v_info, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 157, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_XDECREF_SET(__pyx_v_param_name, __pyx_t_7); - __pyx_t_7 = 0; - - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (unlikely((PyObject_SetItem(__pyx_t_7, __pyx_v_param_name, __pyx_v_info) < 0))) __PYX_ERR(2, 158, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parameters); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 159, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 159, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (unlikely((PyObject_SetItem(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_parameters, __pyx_t_1) < 0))) __PYX_ERR(2, 159, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_7 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_OrderedDict); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); - assert(__pyx_t_7); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_4, __pyx__function); - __pyx_t_6 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (unlikely((PyObject_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_output_flags, __pyx_t_1) < 0))) __PYX_ERR(2, 162, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_4 = NULL; - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_5 = __pyx_t_8; - __Pyx_INCREF(__pyx_t_5); - __pyx_t_6 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_num_outputs}; - __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pop, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - } - __pyx_t_6 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_7}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyRange_Type), __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 163, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - { - __pyx_t_1 = __pyx_t_9(__pyx_t_7); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 163, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_4 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_ta_getOutputParameterInfo); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__name); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8); - assert(__pyx_t_4); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_8, __pyx__function); - __pyx_t_6 = 0; - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_5, __pyx_v_i}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_XDECREF_SET(__pyx_v_info, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_info, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_output_name, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_info, __pyx_mstate_global->__pyx_n_u_flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_output_flags); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely((PyObject_SetItem(__pyx_t_5, __pyx_v_output_name, __pyx_t_1) < 0))) __PYX_ERR(2, 166, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_v_output_name, Py_None) < 0))) __PYX_ERR(2, 167, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_output_names); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 168, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 168, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_output_names, __pyx_t_7) < 0))) __PYX_ERR(2, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_v_local); - __pyx_r = __pyx_v_local; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("talib._ta_lib.Function.__local", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_local); - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XDECREF(__pyx_v_info); - __Pyx_XDECREF(__pyx_v_input_name); - __Pyx_XDECREF(__pyx_v_param_name); - __Pyx_XDECREF(__pyx_v_output_name); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_5info(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_4info, "Function.info(self)\n\nReturns a copy of the function\047s info dict."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_5info = {"info", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_5info, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_4info}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_5info(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("info (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 171, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 171, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "info", 0) < (0)) __PYX_ERR(2, 171, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("info", 1, 1, 1, i); __PYX_ERR(2, 171, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 171, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("info", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 171, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.info", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_4info(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_4info(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - size_t __pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("info", 0); - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __pyx_t_4; - __Pyx_INCREF(__pyx_t_2); - __pyx_t_5 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_copy, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.Function.info", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_7function_flags(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_6function_flags, "Function.function_flags(self)\n\nReturns any function flags defined for this indicator function."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_7function_flags = {"function_flags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_7function_flags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_6function_flags}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_7function_flags(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("function_flags (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 178, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 178, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "function_flags", 0) < (0)) __PYX_ERR(2, 178, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("function_flags", 1, 1, 1, i); __PYX_ERR(2, 178, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 178, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("function_flags", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 178, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.function_flags", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_6function_flags(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_6function_flags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("function_flags", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_function_flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.Function.function_flags", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_9output_flags(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_8output_flags, "Function.output_flags(self)\n\nReturns the flags for each output for this indicator function."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_9output_flags = {"output_flags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_9output_flags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_8output_flags}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_9output_flags(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("output_flags (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 185, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 185, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "output_flags", 0) < (0)) __PYX_ERR(2, 185, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("output_flags", 1, 1, 1, i); __PYX_ERR(2, 185, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 185, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("output_flags", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 185, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.output_flags", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_8output_flags(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_8output_flags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - size_t __pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("output_flags", 0); - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 190, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 190, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_output_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 190, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = __pyx_t_3; - __Pyx_INCREF(__pyx_t_2); - __pyx_t_5 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_copy, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 190, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.Function.output_flags", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_11get_input_names(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_10get_input_names, "Function.get_input_names(self)\n\nReturns the dict of input price series names that specifies which\nof the ndarrays in input_arrays will be used to calculate the function."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_11get_input_names = {"get_input_names", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_11get_input_names, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_10get_input_names}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_11get_input_names(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("get_input_names (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 192, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 192, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_input_names", 0) < (0)) __PYX_ERR(2, 192, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_input_names", 1, 1, 1, i); __PYX_ERR(2, 192, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 192, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_input_names", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 192, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.get_input_names", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_10get_input_names(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_10get_input_names(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_v_local = NULL; - PyObject *__pyx_v_ret = NULL; - PyObject *__pyx_v_input_name = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - PyObject *(*__pyx_t_6)(PyObject *); - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("get_input_names", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_OrderedDict); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - assert(__pyx_t_2); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_3, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_v_ret = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { - __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); - __pyx_t_5 = 0; - __pyx_t_6 = NULL; - } else { - __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 199, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - if (likely(!__pyx_t_6)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 199, __pyx_L1_error) - #endif - if (__pyx_t_5 >= __pyx_temp) break; - } - __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_3, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_5; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 199, __pyx_L1_error) - #endif - if (__pyx_t_5 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5)); - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_5); - #endif - ++__pyx_t_5; - } - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 199, __pyx_L1_error) - } else { - __pyx_t_1 = __pyx_t_6(__pyx_t_3); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 199, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_input_name, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_input_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_price_series); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely((PyObject_SetItem(__pyx_v_ret, __pyx_v_input_name, __pyx_t_1) < 0))) __PYX_ERR(2, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_v_ret); - __pyx_r = __pyx_v_ret; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.Function.get_input_names", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_local); - __Pyx_XDECREF(__pyx_v_ret); - __Pyx_XDECREF(__pyx_v_input_name); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_13set_input_names(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_12set_input_names, "Function.set_input_names(self, input_names)\n\nSets the input price series names to use."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_13set_input_names = {"set_input_names", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_13set_input_names, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_12set_input_names}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_13set_input_names(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_input_names = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("set_input_names (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_input_names,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 203, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 203, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 203, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "set_input_names", 0) < (0)) __PYX_ERR(2, 203, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("set_input_names", 1, 2, 2, i); __PYX_ERR(2, 203, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 203, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 203, __pyx_L3_error) - } - __pyx_v_self = values[0]; - __pyx_v_input_names = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_input_names", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 203, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.set_input_names", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_12set_input_names(__pyx_self, __pyx_v_self, __pyx_v_input_names); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_12set_input_names(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_input_names) { - PyObject *__pyx_v_local = NULL; - PyObject *__pyx_v_input_name = NULL; - PyObject *__pyx_v_price_series = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - PyObject *(*__pyx_t_5)(PyObject *); - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *(*__pyx_t_9)(PyObject *); - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("set_input_names", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_v_input_names; - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_items, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { - __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); - __pyx_t_4 = 0; - __pyx_t_5 = NULL; - } else { - __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 208, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - if (likely(!__pyx_t_5)) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 208, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_2, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_4; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 208, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4)); - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_4); - #endif - ++__pyx_t_4; - } - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 208, __pyx_L1_error) - } else { - __pyx_t_1 = __pyx_t_5(__pyx_t_2); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 208, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_1); - if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { - PyObject* sequence = __pyx_t_1; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(2, 208, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); - __Pyx_INCREF(__pyx_t_6); - __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1); - __Pyx_INCREF(__pyx_t_7); - } else { - __pyx_t_6 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 208, __pyx_L1_error) - __Pyx_XGOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 208, __pyx_L1_error) - __Pyx_XGOTREF(__pyx_t_7); - } - #else - __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - #endif - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); - index = 0; __pyx_t_6 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed; - __Pyx_GOTREF(__pyx_t_6); - index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L5_unpacking_failed; - __Pyx_GOTREF(__pyx_t_7); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < (0)) __PYX_ERR(2, 208, __pyx_L1_error) - __pyx_t_9 = NULL; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L6_unpacking_done; - __pyx_L5_unpacking_failed:; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_9 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(2, 208, __pyx_L1_error) - __pyx_L6_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_input_name, __pyx_t_6); - __pyx_t_6 = 0; - __Pyx_XDECREF_SET(__pyx_v_price_series, __pyx_t_7); - __pyx_t_7 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 209, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_input_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 209, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely((PyObject_SetItem(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_price_series, __pyx_v_price_series) < 0))) __PYX_ERR(2, 209, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_v_input_name, __pyx_v_price_series) < 0))) __PYX_ERR(2, 210, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - if (__Pyx_PyObject_SetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs_valid, Py_False) < (0)) __PYX_ERR(2, 211, __pyx_L1_error) - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("talib._ta_lib.Function.set_input_names", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_local); - __Pyx_XDECREF(__pyx_v_input_name); - __Pyx_XDECREF(__pyx_v_price_series); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_15get_input_arrays(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_14get_input_arrays, "Function.get_input_arrays(self)\n\nReturns a copy of the dict of input arrays in use."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_15get_input_arrays = {"get_input_arrays", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_15get_input_arrays, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_14get_input_arrays}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_15get_input_arrays(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("get_input_arrays (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 215, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 215, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_input_arrays", 0) < (0)) __PYX_ERR(2, 215, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_input_arrays", 1, 1, 1, i); __PYX_ERR(2, 215, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 215, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_input_arrays", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 215, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.get_input_arrays", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_14get_input_arrays(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_14get_input_arrays(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_v_local = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - size_t __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("get_input_arrays", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_POLARS_DATAFRAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = (__pyx_t_1 != Py_None); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_3) { - - } else { - - __pyx_t_2 = __pyx_t_3; - - goto __pyx_L4_bool_binop_done; - } - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_POLARS_DATAFRAME); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_IsInstance(__pyx_t_1, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 221, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_2 = __pyx_t_3; - - __pyx_L4_bool_binop_done:; - - if (__pyx_t_2) { - - - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __pyx_t_5; - __Pyx_INCREF(__pyx_t_1); - __pyx_t_6 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_clone, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - } - - /*else*/ { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __pyx_t_1; - __Pyx_INCREF(__pyx_t_5); - __pyx_t_6 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_copy, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - } - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.Function.get_input_arrays", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_local); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_17set_input_arrays(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_16set_input_arrays, "Function.set_input_arrays(self, input_arrays)\n\nSets the dict of input_arrays to use. Returns True/False for\nsubclasses:\n\nIf input_arrays is a dict with the keys open, high, low, close and\nvolume, it is assigned as the input_array to use and this function\nreturns True, returning False otherwise. If you implement your own\ndata type and wish to subclass Function, you should wrap this function\nwith an if-statement:\n\nclass CustomFunction(Function):\n def __init__(self, function_name):\n Function.__init__(self, function_name)\n\n def set_input_arrays(self, input_data):\n if Function.set_input_arrays(self, input_data):\n return True\n elif isinstance(input_data, some_module.CustomDataType):\n input_arrays = Function.get_input_arrays(self)\n # convert input_data to input_arrays and then call the super\n Function.set_input_arrays(self, input_arrays)\n return True\n return False"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_17set_input_arrays = {"set_input_arrays", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_17set_input_arrays, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_16set_input_arrays}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_17set_input_arrays(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_input_arrays = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("set_input_arrays (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_input_arrays,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 226, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 226, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 226, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "set_input_arrays", 0) < (0)) __PYX_ERR(2, 226, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("set_input_arrays", 1, 2, 2, i); __PYX_ERR(2, 226, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 226, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 226, __pyx_L3_error) - } - __pyx_v_self = values[0]; - __pyx_v_input_arrays = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_input_arrays", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 226, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.set_input_arrays", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_16set_input_arrays(__pyx_self, __pyx_v_self, __pyx_v_input_arrays); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_16set_input_arrays(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_input_arrays) { - PyObject *__pyx_v_local = NULL; - PyObject *__pyx_v_missing_keys = NULL; - PyObject *__pyx_v_key = NULL; - PyObject *__pyx_v_missing = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - PyObject *(*__pyx_t_6)(PyObject *); - int __pyx_t_7; - int __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11[4]; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("set_input_arrays", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_INPUT_ARRAYS_TYPES); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_IsInstance(__pyx_v_input_arrays, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 252, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - - - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 253, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_missing_keys = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_3 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_3); - __pyx_t_4 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_Function__input_price_series_na, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 254, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { - __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); - __pyx_t_5 = 0; - __pyx_t_6 = NULL; - } else { - __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 254, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 254, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - if (likely(!__pyx_t_6)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 254, __pyx_L1_error) - #endif - if (__pyx_t_5 >= __pyx_temp) break; - } - __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_3, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_5; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 254, __pyx_L1_error) - #endif - if (__pyx_t_5 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5)); - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_5); - #endif - ++__pyx_t_5; - } - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 254, __pyx_L1_error) - } else { - __pyx_t_1 = __pyx_t_6(__pyx_t_3); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 254, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_1); - __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_POLARS_DATAFRAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 255, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = (__pyx_t_1 != Py_None); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_7) { - - } else { - - __pyx_t_2 = __pyx_t_7; - - goto __pyx_L7_bool_binop_done; - } - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_POLARS_DATAFRAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = PyObject_IsInstance(__pyx_v_input_arrays, __pyx_t_1); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(2, 256, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_t_7; - - __pyx_L7_bool_binop_done:; - - if (__pyx_t_2) { - - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_input_arrays, __pyx_mstate_global->__pyx_n_u_columns); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 257, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_key, __pyx_t_1, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 257, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 257, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_XDECREF_SET(__pyx_v_missing, __pyx_t_1); - __pyx_t_1 = 0; - - goto __pyx_L6; - } - - /*else*/ { - __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_key, __pyx_v_input_arrays, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 259, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 259, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_XDECREF_SET(__pyx_v_missing, __pyx_t_1); - __pyx_t_1 = 0; - } - __pyx_L6:; - - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_missing); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 260, __pyx_L1_error) - if (__pyx_t_2) { - - - __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_missing_keys, __pyx_v_key); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(2, 261, __pyx_L1_error) - - - } - - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_missing_keys); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(2, 262, __pyx_L1_error) - __pyx_t_2 = (__pyx_t_5 == 0); - - - if (likely(__pyx_t_2)) { - - - if (__Pyx_PyObject_SetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays, __pyx_v_input_arrays) < (0)) __PYX_ERR(2, 263, __pyx_L1_error) - - if (__Pyx_PyObject_SetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs_valid, Py_False) < (0)) __PYX_ERR(2, 264, __pyx_L1_error) - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(Py_True); - __pyx_r = Py_True; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - } - - /*else*/ { - __pyx_t_1 = NULL; - - __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_missing_keys); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(2, 268, __pyx_L1_error) - __pyx_t_2 = (__pyx_t_5 > 1); - - - if (__pyx_t_2) { - __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_s); - __pyx_t_9 = __pyx_mstate_global->__pyx_n_u_s; - } else { - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3); - __pyx_t_9 = __pyx_mstate_global->__pyx_kp_u__3; - } - - __pyx_t_10 = __Pyx_PyUnicode_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__4, __pyx_v_missing_keys); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 270, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11[0] = __pyx_mstate_global->__pyx_kp_u_input_arrays_parameter_missing_r; - __pyx_t_11[1] = __pyx_t_10; - __pyx_t_11[2] = __pyx_mstate_global->__pyx_kp_u__2; - __pyx_t_11[3] = __pyx_t_9; - - __pyx_t_5 = 50; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11[1]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11[3]); - #endif - __pyx_t_12 = 0; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_12 |= __Pyx_PyUnicode_KIND_04(__pyx_t_11[1]) | __Pyx_PyUnicode_KIND_04(__pyx_t_11[3]); - #endif - __pyx_t_13 = __Pyx_PyUnicode_Join(__pyx_t_11, 4, __pyx_t_5, __pyx_t_12); - if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_13}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(2, 267, __pyx_L1_error) - } - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(Py_False); - __pyx_r = Py_False; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.Function.set_input_arrays", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_local); - __Pyx_XDECREF(__pyx_v_missing_keys); - __Pyx_XDECREF(__pyx_v_key); - __Pyx_XDECREF(__pyx_v_missing); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_19get_parameters(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_18get_parameters, "Function.get_parameters(self)\n\nReturns the function\047s optional parameters and their default values."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_19get_parameters = {"get_parameters", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_19get_parameters, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_18get_parameters}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_19get_parameters(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("get_parameters (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 275, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 275, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_parameters", 0) < (0)) __PYX_ERR(2, 275, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_parameters", 1, 1, 1, i); __PYX_ERR(2, 275, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 275, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_parameters", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 275, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.get_parameters", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_18get_parameters(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_18get_parameters(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_v_local = NULL; - PyObject *__pyx_v_ret = NULL; - PyObject *__pyx_v_opt_input = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - PyObject *(*__pyx_t_6)(PyObject *); - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("get_parameters", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 279, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_OrderedDict); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - assert(__pyx_t_2); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_3, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_v_ret = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 281, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { - __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); - __pyx_t_5 = 0; - __pyx_t_6 = NULL; - } else { - __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 281, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 281, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - if (likely(!__pyx_t_6)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 281, __pyx_L1_error) - #endif - if (__pyx_t_5 >= __pyx_temp) break; - } - __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_3, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_5; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 281, __pyx_L1_error) - #endif - if (__pyx_t_5 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5)); - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_5); - #endif - ++__pyx_t_5; - } - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 281, __pyx_L1_error) - } else { - __pyx_t_1 = __pyx_t_6(__pyx_t_3); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 281, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_opt_input, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_2); - __pyx_t_4 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_opt_input}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_Function__get_opt_input_value, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 282, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (unlikely((PyObject_SetItem(__pyx_v_ret, __pyx_v_opt_input, __pyx_t_1) < 0))) __PYX_ERR(2, 282, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_v_ret); - __pyx_r = __pyx_v_ret; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.Function.get_parameters", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_local); - __Pyx_XDECREF(__pyx_v_ret); - __Pyx_XDECREF(__pyx_v_opt_input); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_21set_parameters(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_20set_parameters, "Function.set_parameters(self, parameters=None, **kwargs)\n\nSets the function parameter values."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_21set_parameters = {"set_parameters", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_21set_parameters, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_20set_parameters}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_21set_parameters(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_parameters = 0; - PyObject *__pyx_v_kwargs = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("set_parameters (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; - __Pyx_GOTREF(__pyx_v_kwargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_parameters,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 285, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, kwd_pos_args, __pyx_kwds_len, "set_parameters", 1) < (0)) __PYX_ERR(2, 285, __pyx_L3_error) - if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None)); - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("set_parameters", 0, 1, 2, i); __PYX_ERR(2, 285, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 285, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None)); - } - __pyx_v_self = values[0]; - __pyx_v_parameters = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_parameters", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 285, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; - __Pyx_AddTraceback("talib._ta_lib.Function.set_parameters", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_20set_parameters(__pyx_self, __pyx_v_self, __pyx_v_parameters, __pyx_v_kwargs); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_DECREF(__pyx_v_kwargs); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_20set_parameters(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_parameters, PyObject *__pyx_v_kwargs) { - PyObject *__pyx_v_local = NULL; - PyObject *__pyx_v_param = NULL; - PyObject *__pyx_v_value = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - PyObject *(*__pyx_t_6)(PyObject *); - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *(*__pyx_t_10)(PyObject *); - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("set_parameters", 0); - __Pyx_INCREF(__pyx_v_parameters); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 289, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_parameters); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 290, __pyx_L1_error) - if (!__pyx_t_2) { - } else { - __Pyx_INCREF(__pyx_v_parameters); - __pyx_t_1 = __pyx_v_parameters; - goto __pyx_L3_bool_binop_done; - } - __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 290, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_t_3); - __pyx_t_1 = __pyx_t_3; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_L3_bool_binop_done:; - __Pyx_DECREF_SET(__pyx_v_parameters, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_3 = __pyx_v_parameters; - __Pyx_INCREF(__pyx_t_3); - __pyx_t_4 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_kwargs}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_update, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 291, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_3 = __pyx_v_parameters; - __Pyx_INCREF(__pyx_t_3); - __pyx_t_4 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_items, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 292, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { - __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); - __pyx_t_5 = 0; - __pyx_t_6 = NULL; - } else { - __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 292, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 292, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - if (likely(!__pyx_t_6)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 292, __pyx_L1_error) - #endif - if (__pyx_t_5 >= __pyx_temp) break; - } - __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_3, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_5; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 292, __pyx_L1_error) - #endif - if (__pyx_t_5 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5)); - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_5); - #endif - ++__pyx_t_5; - } - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 292, __pyx_L1_error) - } else { - __pyx_t_1 = __pyx_t_6(__pyx_t_3); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 292, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_1); - if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { - PyObject* sequence = __pyx_t_1; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(2, 292, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); - __Pyx_INCREF(__pyx_t_7); - __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); - __Pyx_INCREF(__pyx_t_8); - } else { - __pyx_t_7 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 292, __pyx_L1_error) - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 292, __pyx_L1_error) - __Pyx_XGOTREF(__pyx_t_8); - } - #else - __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 292, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 292, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - #endif - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_9 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 292, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_9); - index = 0; __pyx_t_7 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_7)) goto __pyx_L7_unpacking_failed; - __Pyx_GOTREF(__pyx_t_7); - index = 1; __pyx_t_8 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L7_unpacking_failed; - __Pyx_GOTREF(__pyx_t_8); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < (0)) __PYX_ERR(2, 292, __pyx_L1_error) - __pyx_t_10 = NULL; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L8_unpacking_done; - __pyx_L7_unpacking_failed:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_10 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(2, 292, __pyx_L1_error) - __pyx_L8_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_param, __pyx_t_7); - __pyx_t_7 = 0; - __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_8); - __pyx_t_8 = 0; - - __pyx_t_8 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_8); - __pyx_t_4 = 0; - { - PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_v_param, __pyx_v_value}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_Function__check_opt_input_value, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 293, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 293, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 294, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_param); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 294, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely((PyObject_SetItem(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_value, __pyx_v_value) < 0))) __PYX_ERR(2, 294, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - } - - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - if (__Pyx_PyObject_SetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs_valid, Py_False) < (0)) __PYX_ERR(2, 295, __pyx_L1_error) - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parameters); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 296, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 296, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - if (unlikely((PyObject_SetItem(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_parameters, __pyx_t_3) < 0))) __PYX_ERR(2, 296, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_AddTraceback("talib._ta_lib.Function.set_parameters", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_local); - __Pyx_XDECREF(__pyx_v_param); - __Pyx_XDECREF(__pyx_v_value); - __Pyx_XDECREF(__pyx_v_parameters); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_23set_function_args(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_22set_function_args, "Function.set_function_args(self, *args, **kwargs)\n\noptional args:[input_arrays,] [parameter_args,] [input_price_series_kwargs,] [parameter_kwargs]"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_23set_function_args = {"set_function_args", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_23set_function_args, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_22set_function_args}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_23set_function_args(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_args = 0; - PyObject *__pyx_v_kwargs = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("set_function_args (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; - __Pyx_GOTREF(__pyx_v_kwargs); - __pyx_v_args = __Pyx_ArgsSlice_FASTCALL(__pyx_args, 1, __pyx_nargs); - if (unlikely(!__pyx_v_args)) { - __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; - __Pyx_RefNannyFinishContext(); - return NULL; - } - __Pyx_GOTREF(__pyx_v_args); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 300, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - default: - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 300, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - const Py_ssize_t used_pos_args = (kwd_pos_args < 1) ? kwd_pos_args : 1; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, __pyx_kwds_len, "set_function_args", 1) < (0)) __PYX_ERR(2, 300, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("set_function_args", 0, 1, 1, i); __PYX_ERR(2, 300, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs < 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 300, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_function_args", 0, 1, 1, __pyx_nargs); __PYX_ERR(2, 300, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0; - __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; - __Pyx_AddTraceback("talib._ta_lib.Function.set_function_args", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_22set_function_args(__pyx_self, __pyx_v_self, __pyx_v_args, __pyx_v_kwargs); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_DECREF(__pyx_v_args); - __Pyx_DECREF(__pyx_v_kwargs); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_22set_function_args(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { - PyObject *__pyx_v_local = NULL; - int __pyx_v_update_info; - PyObject *__pyx_v_key = NULL; - PyObject *__pyx_v_value = NULL; - PyObject *__pyx_v_skip_first = NULL; - PyObject *__pyx_v_i = NULL; - PyObject *__pyx_v_param_name = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - size_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *(*__pyx_t_11)(PyObject *); - int __pyx_t_12; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("set_function_args", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 304, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_v_update_info = 0; - - __pyx_t_2 = 0; - __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_kwargs, 1, ((PyObject *)NULL), (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); - __pyx_t_1 = __pyx_t_5; - __pyx_t_5 = 0; - while (1) { - __pyx_t_6 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, NULL, NULL, __pyx_t_4); - if (unlikely(__pyx_t_6 == 0)) break; - if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(2, 307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 308, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_v_key, __pyx_t_5, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 308, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_7) { - - - __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_8 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_8); - __pyx_t_9 = 0; - { - PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_v_key, __pyx_v_value}; - __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_Function__check_opt_input_value, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 310, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 310, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_7) { - - - __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 311, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 311, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_key); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 311, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely((PyObject_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_value, __pyx_t_5) < 0))) __PYX_ERR(2, 311, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_v_update_info = 1; - - } - - goto __pyx_L5; - } - - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 313, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_v_key, __pyx_t_5, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 313, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_7) { - - - __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 314, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 314, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_key); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 314, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely((PyObject_SetItem(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_price_series, __pyx_t_5) < 0))) __PYX_ERR(2, 314, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely((PyObject_SetItem(__pyx_t_10, __pyx_v_key, __pyx_t_5) < 0))) __PYX_ERR(2, 315, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - } - __pyx_L5:; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_v_args); - if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(2, 317, __pyx_L1_error) - __pyx_t_7 = (__pyx_temp != 0); - } - - if (__pyx_t_7) { - - - __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0); - __pyx_v_skip_first = __pyx_mstate_global->__pyx_int_0; - - __pyx_t_5 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_5); - __pyx_t_10 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyLong_From_long, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 319, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_10}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_set_input_arrays, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 319, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 319, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_7) { - - - __Pyx_INCREF(__pyx_mstate_global->__pyx_int_1); - __Pyx_DECREF_SET(__pyx_v_skip_first, __pyx_mstate_global->__pyx_int_1); - - } - - __pyx_t_3 = __Pyx_PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 321, __pyx_L1_error) - __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 321, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_7 = __Pyx_PyObject_CompareBoolGt_int_int(__pyx_t_1, __pyx_v_skip_first, Py_GT); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 321, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_7) { - - - __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0); - __pyx_t_1 = __pyx_mstate_global->__pyx_int_0; - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { - __pyx_t_5 = __pyx_t_10; __Pyx_INCREF(__pyx_t_5); - __pyx_t_3 = 0; - __pyx_t_11 = NULL; - } else { - __pyx_t_3 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 322, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - for (;;) { - if (likely(!__pyx_t_11)) { - if (likely(PyList_CheckExact(__pyx_t_5))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 322, __pyx_L1_error) - #endif - if (__pyx_t_3 >= __pyx_temp) break; - } - __pyx_t_10 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_5, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_3; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 322, __pyx_L1_error) - #endif - if (__pyx_t_3 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_10 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_3)); - #else - __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_3); - #endif - ++__pyx_t_3; - } - if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 322, __pyx_L1_error) - } else { - __pyx_t_10 = __pyx_t_11(__pyx_t_5); - if (unlikely(!__pyx_t_10)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 322, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_10); - __Pyx_XDECREF_SET(__pyx_v_param_name, __pyx_t_10); - __pyx_t_10 = 0; - __Pyx_INCREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1); - __pyx_t_10 = __Pyx_PyLong_AddObjC(__pyx_t_1, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_1); - __pyx_t_1 = __pyx_t_10; - __pyx_t_10 = 0; - - __pyx_t_10 = __Pyx_PyNumber_InPlaceAdd_object_int(__pyx_v_i, __pyx_v_skip_first); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 323, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF_SET(__pyx_v_i, __pyx_t_10); - __pyx_t_10 = 0; - - __pyx_t_2 = __Pyx_PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(2, 324, __pyx_L1_error) - __pyx_t_10 = PyLong_FromSsize_t(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 324, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - - __pyx_t_7 = __Pyx_PyObject_CompareBoolLt_object_int(__pyx_v_i, __pyx_t_10, Py_LT); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 324, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_7) { - - - __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_v_args, __pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 325, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_10); - __pyx_t_10 = 0; - - __pyx_t_8 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_8); - __pyx_t_9 = 0; - { - PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_v_param_name, __pyx_v_value}; - __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_Function__check_opt_input_value, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 326, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 326, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_7) { - - - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_param_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely((PyObject_SetItem(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_value, __pyx_v_value) < 0))) __PYX_ERR(2, 327, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - __pyx_v_update_info = 1; - - } - - } - - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - } - - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_v_args); - if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(2, 330, __pyx_L1_error) - __pyx_t_12 = (__pyx_temp != 0); - } - - if (!__pyx_t_12) { - - } else { - - __pyx_t_7 = __pyx_t_12; - - goto __pyx_L16_bool_binop_done; - } - { - Py_ssize_t __pyx_temp = __Pyx_PyDict_GET_SIZE(__pyx_v_kwargs); - if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(2, 330, __pyx_L1_error) - __pyx_t_12 = (__pyx_temp != 0); - } - - - __pyx_t_7 = __pyx_t_12; - - __pyx_L16_bool_binop_done:; - if (__pyx_t_7) { - - - if (__pyx_v_update_info) { - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parameters); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (unlikely((PyObject_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_parameters, __pyx_t_1) < 0))) __PYX_ERR(2, 332, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - if (__Pyx_PyObject_SetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs_valid, Py_False) < (0)) __PYX_ERR(2, 333, __pyx_L1_error) - - } - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_AddTraceback("talib._ta_lib.Function.set_function_args", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_local); - - __Pyx_XDECREF(__pyx_v_key); - __Pyx_XDECREF(__pyx_v_value); - __Pyx_XDECREF(__pyx_v_skip_first); - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XDECREF(__pyx_v_param_name); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_25lookback(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_24lookback, "Function.lookback(self)\n\nReturns the lookback window size for the function with the parameter\nvalues that are currently set."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_25lookback = {"lookback", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_25lookback, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_24lookback}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_25lookback(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("lookback (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 335, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 335, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "lookback", 0) < (0)) __PYX_ERR(2, 335, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("lookback", 1, 1, 1, i); __PYX_ERR(2, 335, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 335, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("lookback", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 335, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.lookback", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_24lookback(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_24lookback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_v_local = NULL; - TA_ParamHolder *__pyx_v_holder; - PyObject *__pyx_v_i = NULL; - PyObject *__pyx_v_opt_input = NULL; - PyObject *__pyx_v_value = NULL; - PyObject *__pyx_v_type_ = NULL; - int __pyx_v_lookback; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - char *__pyx_t_2; - TA_ParamHolder *__pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - Py_ssize_t __pyx_t_6; - PyObject *(*__pyx_t_7)(PyObject *); - PyObject *__pyx_t_8 = NULL; - size_t __pyx_t_9; - int __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; - double __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - char const *__pyx_t_16; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("lookback", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 341, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_AsWritableString(__pyx_t_1); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) __PYX_ERR(2, 343, __pyx_L1_error) - __pyx_t_3 = __pyx_f_5talib_7_ta_lib___ta_paramHolderAlloc(__pyx_t_2); if (unlikely(__pyx_t_3 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(2, 343, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_v_holder = __pyx_t_3; - - __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0); - __pyx_t_1 = __pyx_mstate_global->__pyx_int_0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 344, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { - __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); - __pyx_t_6 = 0; - __pyx_t_7 = NULL; - } else { - __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 344, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 344, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - for (;;) { - if (likely(!__pyx_t_7)) { - if (likely(PyList_CheckExact(__pyx_t_5))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 344, __pyx_L1_error) - #endif - if (__pyx_t_6 >= __pyx_temp) break; - } - __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_6; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 344, __pyx_L1_error) - #endif - if (__pyx_t_6 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6)); - #else - __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); - #endif - ++__pyx_t_6; - } - if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 344, __pyx_L1_error) - } else { - __pyx_t_4 = __pyx_t_7(__pyx_t_5); - if (unlikely(!__pyx_t_4)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 344, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_4); - __Pyx_XDECREF_SET(__pyx_v_opt_input, __pyx_t_4); - __pyx_t_4 = 0; - __Pyx_INCREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1); - __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_1, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 344, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); - __pyx_t_1 = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_8 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_8); - __pyx_t_9 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_opt_input}; - __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_Function__get_opt_input_value, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 345, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_4); - __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_opt_input); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_type_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF_SET(__pyx_v_type_, __pyx_t_4); - __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyLong_From_TA_OptInputParameterType(TA_OptInput_RealRange); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 347, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = __Pyx_PyObject_CompareBoolEq_object_int(__pyx_v_type_, __pyx_t_4, Py_EQ); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(2, 347, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (!__pyx_t_11) { - - } else { - - __pyx_t_10 = __pyx_t_11; - - goto __pyx_L6_bool_binop_done; - } - __pyx_t_4 = __Pyx_PyLong_From_TA_OptInputParameterType(TA_OptInput_RealList); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 347, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = __Pyx_PyObject_CompareBoolEq_object_int(__pyx_v_type_, __pyx_t_4, Py_EQ); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(2, 347, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_10 = __pyx_t_11; - - __pyx_L6_bool_binop_done:; - if (__pyx_t_10) { - - - __pyx_t_12 = __Pyx_PyLong_As_int(__pyx_v_i); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 348, __pyx_L1_error) - __pyx_t_13 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(2, 348, __pyx_L1_error) - __pyx_t_14 = __pyx_f_5talib_7_ta_lib___ta_setOptInputParamReal(__pyx_v_holder, __pyx_t_12, __pyx_t_13); if (unlikely(__pyx_t_14 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(2, 348, __pyx_L1_error) - - - - - goto __pyx_L5; - } - - __pyx_t_4 = __Pyx_PyLong_From_TA_OptInputParameterType(TA_OptInput_IntegerRange); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 349, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = __Pyx_PyObject_CompareBoolEq_object_int(__pyx_v_type_, __pyx_t_4, Py_EQ); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(2, 349, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (!__pyx_t_11) { - - } else { - - __pyx_t_10 = __pyx_t_11; - - goto __pyx_L8_bool_binop_done; - } - __pyx_t_4 = __Pyx_PyLong_From_TA_OptInputParameterType(TA_OptInput_IntegerList); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 349, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = __Pyx_PyObject_CompareBoolEq_object_int(__pyx_v_type_, __pyx_t_4, Py_EQ); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(2, 349, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_10 = __pyx_t_11; - - __pyx_L8_bool_binop_done:; - if (__pyx_t_10) { - - - __pyx_t_14 = __Pyx_PyLong_As_int(__pyx_v_i); if (unlikely((__pyx_t_14 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 350, __pyx_L1_error) - __pyx_t_12 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 350, __pyx_L1_error) - __pyx_t_15 = __pyx_f_5talib_7_ta_lib___ta_setOptInputParamInteger(__pyx_v_holder, __pyx_t_14, __pyx_t_12); if (unlikely(__pyx_t_15 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(2, 350, __pyx_L1_error) - - - - - } - __pyx_L5:; - - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /*try:*/ { - - __pyx_t_15 = __pyx_f_5talib_7_ta_lib___ta_getLookback(__pyx_v_holder); if (unlikely(__pyx_t_15 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(2, 353, __pyx_L12_error) - __pyx_v_lookback = __pyx_t_15; - } - - /*finally:*/ { - /*normal exit:*/{ - __pyx_t_15 = __pyx_f_5talib_7_ta_lib___ta_paramHolderFree(__pyx_v_holder); if (unlikely(__pyx_t_15 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(2, 355, __pyx_L1_error) - - goto __pyx_L13; - } - __pyx_L12_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_ExceptionSwap(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); - if ( unlikely(__Pyx_GetException(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19) < 0)) __Pyx_ErrFetch(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __pyx_t_15 = __pyx_lineno; __pyx_t_12 = __pyx_clineno; __pyx_t_16 = __pyx_filename; - { - __pyx_t_14 = __pyx_f_5talib_7_ta_lib___ta_paramHolderFree(__pyx_v_holder); if (unlikely(__pyx_t_14 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(2, 355, __pyx_L15_error) - - } - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ErrRestore(__pyx_t_17, __pyx_t_18, __pyx_t_19); - __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - __pyx_lineno = __pyx_t_15; __pyx_clineno = __pyx_t_12; __pyx_filename = __pyx_t_16; - goto __pyx_L1_error; - __pyx_L15_error:; - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22); - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - goto __pyx_L1_error; - } - __pyx_L13:; - } - - __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_lookback); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 356, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("talib._ta_lib.Function.lookback", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_local); - - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XDECREF(__pyx_v_opt_input); - __Pyx_XDECREF(__pyx_v_value); - __Pyx_XDECREF(__pyx_v_type_); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_27output_names(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_26output_names, "Function.output_names(self)\n\nReturns a list of the output names returned by this function."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_27output_names = {"output_names", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_27output_names, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_26output_names}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_27output_names(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("output_names (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 358, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 358, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "output_names", 0) < (0)) __PYX_ERR(2, 358, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("output_names", 1, 1, 1, i); __PYX_ERR(2, 358, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 358, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("output_names", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 358, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.output_names", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_26output_names(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_26output_names(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_v_ret = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - size_t __pyx_t_5; - int __pyx_t_6; - int __pyx_t_7; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("output_names", 0); - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 363, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_outputs); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 363, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __pyx_t_4; - __Pyx_INCREF(__pyx_t_2); - __pyx_t_5 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_keys, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 363, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_v_ret = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_6 = PyList_Check(__pyx_v_ret); - __pyx_t_7 = (!__pyx_t_6); - - - if (__pyx_t_7) { - - - __pyx_t_1 = PySequence_List(__pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 365, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_ret, __pyx_t_1); - __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_v_ret); - __pyx_r = __pyx_v_ret; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.Function.output_names", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_ret); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_29outputs(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_28outputs, "Function.outputs(self)\n\nReturns the TA function values for the currently set input_arrays and\nparameters. Returned values are a ndarray if there is only one output\nor a list of ndarrays for more than one output."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_29outputs = {"outputs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_29outputs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_28outputs}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_29outputs(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("outputs (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 368, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 368, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "outputs", 0) < (0)) __PYX_ERR(2, 368, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("outputs", 1, 1, 1, i); __PYX_ERR(2, 368, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 368, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("outputs", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 368, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.outputs", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_28outputs(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_28outputs(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_v_local = NULL; - PyObject *__pyx_v_ret = NULL; - PyObject *__pyx_v_index = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - size_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - Py_ssize_t __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("outputs", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 375, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs_valid); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 376, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = (!__pyx_t_2); - - - if (__pyx_t_3) { - - - __pyx_t_4 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_4); - __pyx_t_5 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_Function__call_function, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 378, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __pyx_t_6; - __Pyx_INCREF(__pyx_t_4); - __pyx_t_5 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_values, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 378, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_v_ret = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = PyList_Check(__pyx_v_ret); - __pyx_t_2 = (!__pyx_t_3); - - - if (__pyx_t_2) { - - - __pyx_t_1 = PySequence_List(__pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 380, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_ret, __pyx_t_1); - __pyx_t_1 = 0; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_PANDAS_DATAFRAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 381, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = (__pyx_t_1 != Py_None); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_3) { - - } else { - - __pyx_t_2 = __pyx_t_3; - - goto __pyx_L6_bool_binop_done; - } - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PANDAS_DATAFRAME); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = PyObject_IsInstance(__pyx_t_1, __pyx_t_6); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 382, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_2 = __pyx_t_3; - - __pyx_L6_bool_binop_done:; - - if (__pyx_t_2) { - - - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 383, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 383, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_index = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_7 = PyObject_Length(__pyx_v_ret); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(2, 384, __pyx_L1_error) - __pyx_t_2 = (__pyx_t_7 == 1); - - - if (__pyx_t_2) { - - - __pyx_t_6 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PANDAS_SERIES); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_ret, 0, long, 1, __Pyx_PyLong_From_long, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_5 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - assert(__pyx_t_6); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_4, __pyx__function); - __pyx_t_5 = 0; - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_8, __pyx_v_index}; - #if CYTHON_VECTORCALL - __pyx_t_9 = __pyx_mstate_global->__pyx_tuple[2]; - if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 385, __pyx_L1_error) - __Pyx_INCREF(__pyx_t_9); - #else - { - PyObject *__pyx_temp[1] = {__pyx_mstate_global->__pyx_n_u_index}; - __pyx_t_9 = __Pyx_MakeKwargDict(__pyx_temp, __pyx_callargs+2, 1); - if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - } - #endif - __pyx_t_1 = __Pyx_Object_VectorcallKwds((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - /*else*/ { - __pyx_t_4 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_PANDAS_DATAFRAME); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_6 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_numpy); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_column_stack); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_5 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_11); - assert(__pyx_t_6); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_11, __pyx__function); - __pyx_t_5 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_ret}; - __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - } - - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_output_names); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 389, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_5 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_9); - assert(__pyx_t_4); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_9, __pyx__function); - __pyx_t_5 = 0; - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_t_8, __pyx_v_index, __pyx_t_11}; - #if CYTHON_VECTORCALL - __pyx_t_6 = __pyx_mstate_global->__pyx_tuple[3]; - if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 387, __pyx_L1_error) - __Pyx_INCREF(__pyx_t_6); - #else - { - PyObject *__pyx_temp[2] = {__pyx_mstate_global->__pyx_n_u_index, __pyx_mstate_global->__pyx_n_u_columns}; - __pyx_t_6 = __Pyx_MakeKwargDict(__pyx_temp, __pyx_callargs+2, 2); - if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - } - #endif - __pyx_t_1 = __Pyx_Object_VectorcallKwds((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - } - - } - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_POLARS_DATAFRAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 390, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = (__pyx_t_1 != Py_None); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_3) { - - } else { - - __pyx_t_2 = __pyx_t_3; - - goto __pyx_L9_bool_binop_done; - } - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 391, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_POLARS_DATAFRAME); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 391, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_3 = PyObject_IsInstance(__pyx_t_1, __pyx_t_9); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 391, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_2 = __pyx_t_3; - - __pyx_L9_bool_binop_done:; - - if (__pyx_t_2) { - - - __pyx_t_7 = PyObject_Length(__pyx_v_ret); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(2, 392, __pyx_L1_error) - __pyx_t_2 = (__pyx_t_7 == 1); - - - if (__pyx_t_2) { - - - __pyx_t_1 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_POLARS_SERIES); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 393, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_ret, 0, long, 1, __Pyx_PyLong_From_long, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 393, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_5 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); - assert(__pyx_t_1); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_6, __pyx__function); - __pyx_t_5 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_11}; - __pyx_t_9 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 393, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_9; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_9 = 0; - goto __pyx_L0; - - } - - /*else*/ { - __pyx_t_6 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_POLARS_DATAFRAME); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 395, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_8 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_numpy); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 395, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_column_stack); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 395, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_5 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_10); - assert(__pyx_t_8); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_10, __pyx__function); - __pyx_t_5 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_ret}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 395, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_output_names); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 396, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_11); - assert(__pyx_t_6); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_11, __pyx__function); - __pyx_t_5 = 0; - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_1, __pyx_t_10}; - #if CYTHON_VECTORCALL - __pyx_t_8 = __pyx_mstate_global->__pyx_tuple[4]; - if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 395, __pyx_L1_error) - __Pyx_INCREF(__pyx_t_8); - #else - { - PyObject *__pyx_temp[1] = {__pyx_mstate_global->__pyx_n_u_schema}; - __pyx_t_8 = __Pyx_MakeKwargDict(__pyx_temp, __pyx_callargs+2, 1); - if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 395, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - } - #endif - __pyx_t_9 = __Pyx_Object_VectorcallKwds((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 395, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_9; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_9 = 0; - goto __pyx_L0; - } - - } - - /*else*/ { - __pyx_t_7 = PyObject_Length(__pyx_v_ret); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(2, 398, __pyx_L1_error) - __pyx_t_2 = (__pyx_t_7 == 1); - - - if (__pyx_t_2) { - __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_ret, 0, long, 1, __Pyx_PyLong_From_long, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 398, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __pyx_t_11; - __pyx_t_11 = 0; - } else { - __Pyx_INCREF(__pyx_v_ret); - __pyx_t_9 = __pyx_v_ret; - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_9; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_9 = 0; - goto __pyx_L0; - } - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_AddTraceback("talib._ta_lib.Function.outputs", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_local); - __Pyx_XDECREF(__pyx_v_ret); - __Pyx_XDECREF(__pyx_v_index); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_31run(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_30run, "Function.run(self, input_arrays=None)\n\nrun([input_arrays=None])\n\nThis is a shortcut to the outputs property that also allows setting\nthe input_arrays dict."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_31run = {"run", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_31run, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_30run}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_31run(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_input_arrays = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("run (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_input_arrays,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 400, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 400, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 400, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "run", 0) < (0)) __PYX_ERR(2, 400, __pyx_L3_error) - if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None)); - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("run", 0, 1, 2, i); __PYX_ERR(2, 400, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 400, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 400, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None)); - } - __pyx_v_self = values[0]; - __pyx_v_input_arrays = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("run", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 400, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.run", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_30run(__pyx_self, __pyx_v_self, __pyx_v_input_arrays); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_30run(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_input_arrays) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("run", 0); - - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_input_arrays); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 407, __pyx_L1_error) - if (__pyx_t_1) { - - - __pyx_t_3 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_3); - __pyx_t_4 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_input_arrays}; - __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_set_input_arrays, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - } - - __pyx_t_3 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_3); - __pyx_t_4 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_Function__call_function, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_outputs); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 410, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_2; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_2 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.Function.run", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_33__call__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_32__call__, "Function.__call__(self, *args, **kwargs)\n\nfunc_instance([input_arrays,] [parameter_args,] [input_price_series_kwargs,] [parameter_kwargs])\n\nThis is a shortcut to the outputs property that also allows setting\nthe input_arrays dict and function parameters."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_33__call__ = {"__call__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_33__call__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_32__call__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_33__call__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_args = 0; - PyObject *__pyx_v_kwargs = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__call__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; - __Pyx_GOTREF(__pyx_v_kwargs); - __pyx_v_args = __Pyx_ArgsSlice_FASTCALL(__pyx_args, 1, __pyx_nargs); - if (unlikely(!__pyx_v_args)) { - __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; - __Pyx_RefNannyFinishContext(); - return NULL; - } - __Pyx_GOTREF(__pyx_v_args); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 412, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - default: - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 412, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - const Py_ssize_t used_pos_args = (kwd_pos_args < 1) ? kwd_pos_args : 1; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, __pyx_kwds_len, "__call__", 1) < (0)) __PYX_ERR(2, 412, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__call__", 0, 1, 1, i); __PYX_ERR(2, 412, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs < 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 412, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__call__", 0, 1, 1, __pyx_nargs); __PYX_ERR(2, 412, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0; - __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; - __Pyx_AddTraceback("talib._ta_lib.Function.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_32__call__(__pyx_self, __pyx_v_self, __pyx_v_args, __pyx_v_kwargs); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_DECREF(__pyx_v_args); - __Pyx_DECREF(__pyx_v_kwargs); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_32__call__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { - PyObject *__pyx_v_local = NULL; - PyObject *__pyx_v_opt_input_values = NULL; - PyObject *__pyx_v_price_series_name_values = NULL; - PyObject *__pyx_v_input_arrays = NULL; - PyObject *__pyx_v_input_price_series_names = NULL; - PyObject *__pyx_v_i = NULL; - PyObject *__pyx_v_arg = NULL; - PyObject *__pyx_v_msg = NULL; - PyObject *__pyx_v_no_existing_input_arrays = NULL; - PyObject *__pyx_v_param_name = NULL; - PyObject *__pyx_v_value = NULL; - PyObject *__pyx_v_input_name = NULL; - PyObject *__pyx_v_n = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - size_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - PyObject *(*__pyx_t_7)(PyObject *); - int __pyx_t_8; - int __pyx_t_9; - int __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - PyObject *__pyx_t_15 = NULL; - Py_ssize_t __pyx_t_16; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19[5]; - PyObject *__pyx_t_20 = NULL; - PyObject *(*__pyx_t_21)(PyObject *); - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__call__", 0); - __Pyx_INCREF(__pyx_v_args); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 419, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 422, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __pyx_t_4; - __Pyx_INCREF(__pyx_t_3); - __pyx_t_5 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_keys, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 422, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { - __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); - __pyx_t_6 = 0; - __pyx_t_7 = NULL; - } else { - __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 422, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 422, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - for (;;) { - if (likely(!__pyx_t_7)) { - if (likely(PyList_CheckExact(__pyx_t_4))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 422, __pyx_L1_error) - #endif - if (__pyx_t_6 >= __pyx_temp) break; - } - __pyx_t_2 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_4, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_6; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 422, __pyx_L1_error) - #endif - if (__pyx_t_6 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6)); - #else - __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_6); - #endif - ++__pyx_t_6; - } - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 422, __pyx_L1_error) - } else { - __pyx_t_2 = __pyx_t_7(__pyx_t_4); - if (unlikely(!__pyx_t_2)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 422, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XDECREF_SET(__pyx_v_param_name, __pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_param_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_param_name); - __Pyx_GIVEREF(__pyx_v_param_name); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_param_name) != (0)) __PYX_ERR(2, 421, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2) != (0)) __PYX_ERR(2, 421, __pyx_L1_error); - __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_3); - if (unlikely(__Pyx_ListComp_AppendAndDecref(__pyx_t_1, __pyx_t_3))) __PYX_ERR(2, 421, __pyx_L1_error) - __pyx_t_3 = 0; - - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_opt_input_values = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 424, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { - __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); - __pyx_t_6 = 0; - __pyx_t_7 = NULL; - } else { - __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 424, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 424, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - for (;;) { - if (likely(!__pyx_t_7)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 424, __pyx_L1_error) - #endif - if (__pyx_t_6 >= __pyx_temp) break; - } - __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_3, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_6; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 424, __pyx_L1_error) - #endif - if (__pyx_t_6 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6)); - #else - __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_6); - #endif - ++__pyx_t_6; - } - if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 424, __pyx_L1_error) - } else { - __pyx_t_4 = __pyx_t_7(__pyx_t_3); - if (unlikely(!__pyx_t_4)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 424, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_4); - __Pyx_XDECREF_SET(__pyx_v_n, __pyx_t_4); - __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_price_series); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_n); - __Pyx_GIVEREF(__pyx_v_n); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_n) != (0)) __PYX_ERR(2, 423, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4) != (0)) __PYX_ERR(2, 423, __pyx_L1_error); - __pyx_t_4 = 0; - __Pyx_GIVEREF(__pyx_t_2); - if (unlikely(__Pyx_ListComp_AppendAndDecref(__pyx_t_1, __pyx_t_2))) __PYX_ERR(2, 423, __pyx_L1_error) - __pyx_t_2 = 0; - - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_price_series_name_values = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PySequence_List(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 427, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_args, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 428, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_input_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_3 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_3); - __pyx_t_5 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_Function__input_price_series_na, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 429, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_v_input_price_series_names = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_args); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(2, 430, __pyx_L1_error) - if (__pyx_t_9) { - - } else { - - __pyx_t_8 = __pyx_t_9; - - goto __pyx_L10_bool_binop_done; - } - __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_args, 0, long, 1, __Pyx_PyLong_From_long, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_INPUT_ARRAYS_TYPES); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_9 = PyObject_IsInstance(__pyx_t_1, __pyx_t_3); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(2, 430, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_10 = (!__pyx_t_9); - - - - __pyx_t_8 = __pyx_t_10; - - __pyx_L10_bool_binop_done:; - if (__pyx_t_8) { - - - __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0); - __pyx_t_3 = __pyx_mstate_global->__pyx_int_0; - if (likely(PyList_CheckExact(__pyx_v_args)) || PyTuple_CheckExact(__pyx_v_args)) { - __pyx_t_1 = __pyx_v_args; __Pyx_INCREF(__pyx_t_1); - __pyx_t_6 = 0; - __pyx_t_7 = NULL; - } else { - __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 431, __pyx_L1_error) - } - for (;;) { - if (likely(!__pyx_t_7)) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 431, __pyx_L1_error) - #endif - if (__pyx_t_6 >= __pyx_temp) break; - } - __pyx_t_2 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_6; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 431, __pyx_L1_error) - #endif - if (__pyx_t_6 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6)); - #else - __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_6); - #endif - ++__pyx_t_6; - } - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 431, __pyx_L1_error) - } else { - __pyx_t_2 = __pyx_t_7(__pyx_t_1); - if (unlikely(!__pyx_t_2)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 431, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XDECREF_SET(__pyx_v_arg, __pyx_t_2); - __pyx_t_2 = 0; - __Pyx_INCREF(__pyx_t_3); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); - __pyx_t_2 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_ARRAY_TYPES); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 432, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = PyObject_IsInstance(__pyx_v_arg, __pyx_t_2); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(2, 432, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = (!__pyx_t_8); - - - if (__pyx_t_10) { - - - goto __pyx_L13_break; - - } - - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - - __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_input_price_series_names, __pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 436, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_2); - if (unlikely((PyDict_SetItem(__pyx_v_input_arrays, __pyx_t_2, __pyx_v_arg) < 0))) __PYX_ERR(2, 436, __pyx_L15_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L22_try_end; - __pyx_L15_error:; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_14 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_IndexError)))); - if (__pyx_t_14) { - __Pyx_AddTraceback("talib._ta_lib.Function.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_4, &__pyx_t_15) < 0) __PYX_ERR(2, 437, __pyx_L17_except_error) - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_15); - - __pyx_t_16 = PyObject_Length(__pyx_v_input_price_series_names); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(2, 439, __pyx_L17_except_error) - __pyx_t_17 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_16, 0, ' ', 'd'); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 439, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_17); - - - __pyx_t_18 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__4, __pyx_v_input_price_series_names); if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 440, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_19[0] = __pyx_mstate_global->__pyx_kp_u_Too_many_price_arguments_expecte; - __pyx_t_19[1] = __pyx_t_17; - __pyx_t_19[2] = __pyx_mstate_global->__pyx_kp_u__5; - __pyx_t_19[3] = __pyx_t_18; - __pyx_t_19[4] = __pyx_mstate_global->__pyx_kp_u__6; - - __pyx_t_16 = 38; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_16 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_19[1]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_19[3]); - #endif - __pyx_t_14 = 0; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_14 |= __Pyx_PyUnicode_KIND_04(__pyx_t_19[3]); - #endif - __pyx_t_20 = __Pyx_PyUnicode_Join(__pyx_t_19, 5, __pyx_t_16, __pyx_t_14); - if (unlikely(!__pyx_t_20)) __PYX_ERR(2, 438, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_v_msg = ((PyObject*)__pyx_t_20); - __pyx_t_20 = 0; - - __pyx_t_18 = NULL; - __pyx_t_5 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_18, __pyx_v_msg}; - __pyx_t_20 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(2, 441, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_20); - } - __Pyx_Raise(__pyx_t_20, 0, 0, 0); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __PYX_ERR(2, 441, __pyx_L17_except_error) - } - goto __pyx_L17_except_error; - - __pyx_L17_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L1_error; - __pyx_L22_try_end:; - } - - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L25_for_end; - __pyx_L13_break:; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L25_for_end; - __pyx_L25_for_end:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PANDAS_DATAFRAME); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 443, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = (__pyx_t_3 != Py_None); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_8) { - - } else { - - __pyx_t_10 = __pyx_t_8; - - goto __pyx_L27_bool_binop_done; - } - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 444, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_PANDAS_DATAFRAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 444, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = PyObject_IsInstance(__pyx_t_3, __pyx_t_1); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(2, 444, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_10 = __pyx_t_8; - - __pyx_L27_bool_binop_done:; - - if (__pyx_t_10) { - - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_no_existing_input_arrays = __pyx_t_3; - __pyx_t_3 = 0; - - goto __pyx_L26; - } - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_POLARS_DATAFRAME); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = (__pyx_t_3 != Py_None); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_8) { - - } else { - - __pyx_t_10 = __pyx_t_8; - - goto __pyx_L29_bool_binop_done; - } - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_POLARS_DATAFRAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = PyObject_IsInstance(__pyx_t_3, __pyx_t_1); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(2, 447, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_10 = __pyx_t_8; - - __pyx_L29_bool_binop_done:; - - if (__pyx_t_10) { - - - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_3 = __pyx_t_15; - __Pyx_INCREF(__pyx_t_3); - __pyx_t_5 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_is_empty, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_v_no_existing_input_arrays = __pyx_t_1; - __pyx_t_1 = 0; - - goto __pyx_L26; - } - - /*else*/ { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 450, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(2, 450, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyBool_FromLong((!(!(!__pyx_t_10)))); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 450, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_v_no_existing_input_arrays = __pyx_t_1; - __pyx_t_1 = 0; - } - __pyx_L26:; - - __pyx_t_6 = PyDict_Size(__pyx_v_input_arrays); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(2, 452, __pyx_L1_error) - __pyx_t_16 = PyObject_Length(__pyx_v_input_price_series_names); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(2, 452, __pyx_L1_error) - __pyx_t_10 = (__pyx_t_6 == __pyx_t_16); - - - - if (__pyx_t_10) { - - - __pyx_t_15 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_15); - __pyx_t_5 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_15, __pyx_v_input_arrays}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_set_input_arrays, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 453, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_16 = PyDict_Size(__pyx_v_input_arrays); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(2, 454, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyList_GetSlice(__pyx_v_args, __pyx_t_16, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 454, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_DECREF_SET(__pyx_v_args, __pyx_t_1); - __pyx_t_1 = 0; - - goto __pyx_L31; - } - - __pyx_t_16 = PyDict_Size(__pyx_v_input_arrays); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(2, 455, __pyx_L1_error) - __pyx_t_8 = (__pyx_t_16 != 0); - - - if (!__pyx_t_8) { - - } else { - - __pyx_t_10 = __pyx_t_8; - - goto __pyx_L32_bool_binop_done; - } - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_no_existing_input_arrays); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 455, __pyx_L1_error) - if (__pyx_t_8) { - - } else { - - __pyx_t_10 = __pyx_t_8; - - goto __pyx_L32_bool_binop_done; - } - - __pyx_t_16 = PyObject_Length(__pyx_v_args); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(2, 456, __pyx_L1_error) - __pyx_t_8 = (!(__pyx_t_16 != 0)); - - - if (!__pyx_t_8) { - - } else { - - __pyx_t_10 = __pyx_t_8; - - goto __pyx_L32_bool_binop_done; - } - __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_args, 0, long, 1, __Pyx_PyLong_From_long, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_INPUT_ARRAYS_TYPES); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_8 = PyObject_IsInstance(__pyx_t_1, __pyx_t_15); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(2, 456, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_9 = (!__pyx_t_8); - - - - __pyx_t_10 = __pyx_t_9; - - __pyx_L32_bool_binop_done:; - - if (unlikely(__pyx_t_10)) { - - - __pyx_t_16 = PyObject_Length(__pyx_v_input_price_series_names); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(2, 458, __pyx_L1_error) - __pyx_t_15 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_16, 0, ' ', 'd'); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - - - __pyx_t_1 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__4, __pyx_v_input_price_series_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_19[0] = __pyx_mstate_global->__pyx_kp_u_Not_enough_price_arguments_expec; - __pyx_t_19[1] = __pyx_t_15; - __pyx_t_19[2] = __pyx_mstate_global->__pyx_kp_u__5; - __pyx_t_19[3] = __pyx_t_1; - __pyx_t_19[4] = __pyx_mstate_global->__pyx_kp_u__6; - - __pyx_t_16 = 40; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_16 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_19[1]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_19[3]); - #endif - __pyx_t_14 = 0; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_14 |= __Pyx_PyUnicode_KIND_04(__pyx_t_19[3]); - #endif - __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_19, 5, __pyx_t_16, __pyx_t_14); - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 457, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_msg = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; - - __pyx_t_1 = NULL; - __pyx_t_5 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_msg}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 460, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(2, 460, __pyx_L1_error) - - } - __pyx_L31:; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_set_function_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_15 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_15); - __pyx_t_5 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_15, NULL}; - __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_Function__call_function, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 463, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __pyx_v_opt_input_values; __Pyx_INCREF(__pyx_t_4); - __pyx_t_16 = 0; - for (;;) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 466, __pyx_L1_error) - #endif - if (__pyx_t_16 >= __pyx_temp) break; - } - __pyx_t_15 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_4, __pyx_t_16, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_16; - if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 466, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - if ((likely(PyTuple_CheckExact(__pyx_t_15))) || (PyList_CheckExact(__pyx_t_15))) { - PyObject* sequence = __pyx_t_15; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(2, 466, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); - __Pyx_INCREF(__pyx_t_3); - } else { - __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 466, __pyx_L1_error) - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 466, __pyx_L1_error) - __Pyx_XGOTREF(__pyx_t_3); - } - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 466, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 466, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_2 = PyObject_GetIter(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 466, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_21 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); - index = 0; __pyx_t_1 = __pyx_t_21(__pyx_t_2); if (unlikely(!__pyx_t_1)) goto __pyx_L38_unpacking_failed; - __Pyx_GOTREF(__pyx_t_1); - index = 1; __pyx_t_3 = __pyx_t_21(__pyx_t_2); if (unlikely(!__pyx_t_3)) goto __pyx_L38_unpacking_failed; - __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_21(__pyx_t_2), 2) < (0)) __PYX_ERR(2, 466, __pyx_L1_error) - __pyx_t_21 = NULL; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L39_unpacking_done; - __pyx_L38_unpacking_failed:; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_21 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(2, 466, __pyx_L1_error) - __pyx_L39_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_param_name, __pyx_t_1); - __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_3); - __pyx_t_3 = 0; - - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 467, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_param_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 467, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_value, __pyx_v_value) < 0))) __PYX_ERR(2, 467, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parameters); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 468, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 468, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_parameters, __pyx_t_4) < 0))) __PYX_ERR(2, 468, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __pyx_v_price_series_name_values; __Pyx_INCREF(__pyx_t_4); - __pyx_t_16 = 0; - for (;;) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 471, __pyx_L1_error) - #endif - if (__pyx_t_16 >= __pyx_temp) break; - } - __pyx_t_3 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_4, __pyx_t_16, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_16; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 471, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { - PyObject* sequence = __pyx_t_3; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(2, 471, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_15 = PyTuple_GET_ITEM(sequence, 0); - __Pyx_INCREF(__pyx_t_15); - __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); - __Pyx_INCREF(__pyx_t_1); - } else { - __pyx_t_15 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 471, __pyx_L1_error) - __Pyx_XGOTREF(__pyx_t_15); - __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 471, __pyx_L1_error) - __Pyx_XGOTREF(__pyx_t_1); - } - #else - __pyx_t_15 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 471, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 471, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 471, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_21 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); - index = 0; __pyx_t_15 = __pyx_t_21(__pyx_t_2); if (unlikely(!__pyx_t_15)) goto __pyx_L43_unpacking_failed; - __Pyx_GOTREF(__pyx_t_15); - index = 1; __pyx_t_1 = __pyx_t_21(__pyx_t_2); if (unlikely(!__pyx_t_1)) goto __pyx_L43_unpacking_failed; - __Pyx_GOTREF(__pyx_t_1); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_21(__pyx_t_2), 2) < (0)) __PYX_ERR(2, 471, __pyx_L1_error) - __pyx_t_21 = NULL; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L44_unpacking_done; - __pyx_L43_unpacking_failed:; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_21 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(2, 471, __pyx_L1_error) - __pyx_L44_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_input_name, __pyx_t_15); - __pyx_t_15 = 0; - __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 472, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_input_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 472, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_price_series, __pyx_v_value) < 0))) __PYX_ERR(2, 472, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 473, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 473, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_v_input_name, __pyx_v_value) < 0))) __PYX_ERR(2, 473, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_outputs); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_XDECREF(__pyx_t_20); - __Pyx_AddTraceback("talib._ta_lib.Function.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_args); - __Pyx_XDECREF(__pyx_v_local); - __Pyx_XDECREF(__pyx_v_opt_input_values); - __Pyx_XDECREF(__pyx_v_price_series_name_values); - __Pyx_XDECREF(__pyx_v_input_arrays); - __Pyx_XDECREF(__pyx_v_input_price_series_names); - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XDECREF(__pyx_v_arg); - __Pyx_XDECREF(__pyx_v_msg); - __Pyx_XDECREF(__pyx_v_no_existing_input_arrays); - __Pyx_XDECREF(__pyx_v_param_name); - __Pyx_XDECREF(__pyx_v_value); - __Pyx_XDECREF(__pyx_v_input_name); - __Pyx_XDECREF(__pyx_v_n); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_35__input_price_series_names(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_34__input_price_series_names, "Function.__input_price_series_names(self)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_35__input_price_series_names = {"__input_price_series_names", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_35__input_price_series_names, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_34__input_price_series_names}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_35__input_price_series_names(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__input_price_series_names (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 478, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 478, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__input_price_series_names", 0) < (0)) __PYX_ERR(2, 478, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__input_price_series_names", 1, 1, 1, i); __PYX_ERR(2, 478, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 478, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__input_price_series_names", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 478, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.__input_price_series_names", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_34__input_price_series_names(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_34__input_price_series_names(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_v_local = NULL; - PyObject *__pyx_v_input_price_series_names = NULL; - PyObject *__pyx_v_input_name = NULL; - PyObject *__pyx_v_price_series = NULL; - PyObject *__pyx_v_name = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - Py_ssize_t __pyx_t_3; - PyObject *(*__pyx_t_4)(PyObject *); - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - Py_ssize_t __pyx_t_7; - PyObject *(*__pyx_t_8)(PyObject *); - int __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__input_price_series_names", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 479, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_input_price_series_names = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { - __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - __pyx_t_4 = NULL; - } else { - __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 481, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - if (likely(!__pyx_t_4)) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 481, __pyx_L1_error) - #endif - if (__pyx_t_3 >= __pyx_temp) break; - } - __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_2, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_3; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 481, __pyx_L1_error) - #endif - if (__pyx_t_3 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3)); - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); - #endif - ++__pyx_t_3; - } - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 481, __pyx_L1_error) - } else { - __pyx_t_1 = __pyx_t_4(__pyx_t_2); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 481, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_input_name, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_input_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_price_series); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF_SET(__pyx_v_price_series, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_6 = PyList_Check(__pyx_v_price_series); - if (__pyx_t_6) { - - - if (likely(PyList_CheckExact(__pyx_v_price_series)) || PyTuple_CheckExact(__pyx_v_price_series)) { - __pyx_t_1 = __pyx_v_price_series; __Pyx_INCREF(__pyx_t_1); - __pyx_t_7 = 0; - __pyx_t_8 = NULL; - } else { - __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_price_series); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 484, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 484, __pyx_L1_error) - } - for (;;) { - if (likely(!__pyx_t_8)) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 484, __pyx_L1_error) - #endif - if (__pyx_t_7 >= __pyx_temp) break; - } - __pyx_t_5 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_7; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 484, __pyx_L1_error) - #endif - if (__pyx_t_7 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7)); - #else - __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_7); - #endif - ++__pyx_t_7; - } - if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 484, __pyx_L1_error) - } else { - __pyx_t_5 = __pyx_t_8(__pyx_t_1); - if (unlikely(!__pyx_t_5)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 484, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_5); - __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5); - __pyx_t_5 = 0; - - __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_input_price_series_names, __pyx_v_name); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(2, 485, __pyx_L1_error) - - - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - goto __pyx_L5; - } - - /*else*/ { - __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_input_price_series_names, __pyx_v_price_series); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(2, 487, __pyx_L1_error) - - } - __pyx_L5:; - - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_v_input_price_series_names); - __pyx_r = __pyx_v_input_price_series_names; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.Function.__input_price_series_names", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_local); - __Pyx_XDECREF(__pyx_v_input_price_series_names); - __Pyx_XDECREF(__pyx_v_input_name); - __Pyx_XDECREF(__pyx_v_price_series); - __Pyx_XDECREF(__pyx_v_name); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_37__call_function(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_36__call_function, "Function.__call_function(self)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_37__call_function = {"__call_function", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_37__call_function, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_36__call_function}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_37__call_function(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__call_function (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 490, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 490, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__call_function", 0) < (0)) __PYX_ERR(2, 490, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__call_function", 1, 1, 1, i); __PYX_ERR(2, 490, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 490, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__call_function", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 490, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.__call_function", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_36__call_function(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_36__call_function(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_v_local = NULL; - PyObject *__pyx_v_input_price_series_names = NULL; - PyObject *__pyx_v_args = NULL; - PyObject *__pyx_v_price_series = NULL; - PyObject *__pyx_v_series = NULL; - PyObject *__pyx_v_opt_input = NULL; - PyObject *__pyx_v_value = NULL; - PyObject *__pyx_v_results = NULL; - PyObject *__pyx_v_keys = NULL; - PyObject *__pyx_v_i = NULL; - PyObject *__pyx_v_output = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - PyObject *(*__pyx_t_5)(PyObject *); - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - int __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - int __pyx_t_11; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__call_function", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 491, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_Function__input_price_series_na, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_v_input_price_series_names = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 495, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_args = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - if (likely(PyList_CheckExact(__pyx_v_input_price_series_names)) || PyTuple_CheckExact(__pyx_v_input_price_series_names)) { - __pyx_t_1 = __pyx_v_input_price_series_names; __Pyx_INCREF(__pyx_t_1); - __pyx_t_4 = 0; - __pyx_t_5 = NULL; - } else { - __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_input_price_series_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 496, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 496, __pyx_L1_error) - } - for (;;) { - if (likely(!__pyx_t_5)) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 496, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - __pyx_t_2 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_4; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 496, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4)); - #else - __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_4); - #endif - ++__pyx_t_4; - } - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 496, __pyx_L1_error) - } else { - __pyx_t_2 = __pyx_t_5(__pyx_t_1); - if (unlikely(!__pyx_t_2)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 496, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XDECREF_SET(__pyx_v_price_series, __pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_input_arrays); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 497, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_price_series); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 497, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF_SET(__pyx_v_series, __pyx_t_6); - __pyx_t_6 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PANDAS_SERIES); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 498, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = (__pyx_t_6 != Py_None); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_8) { - - } else { - - __pyx_t_7 = __pyx_t_8; - - goto __pyx_L6_bool_binop_done; - } - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PANDAS_SERIES); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 499, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = PyObject_IsInstance(__pyx_v_series, __pyx_t_6); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(2, 499, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_7 = __pyx_t_8; - - __pyx_L6_bool_binop_done:; - - if (__pyx_t_7) { - - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_series, __pyx_mstate_global->__pyx_n_u_values); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 500, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_2 = __pyx_t_9; - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)(&PyFloat_Type))}; - __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_astype, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 500, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - } - __Pyx_DECREF_SET(__pyx_v_series, __pyx_t_6); - __pyx_t_6 = 0; - - goto __pyx_L5; - } - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_POLARS_SERIES); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 501, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = (__pyx_t_6 != Py_None); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_8) { - - } else { - - __pyx_t_7 = __pyx_t_8; - - goto __pyx_L8_bool_binop_done; - } - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_POLARS_SERIES); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 502, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = PyObject_IsInstance(__pyx_v_series, __pyx_t_6); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(2, 502, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_7 = __pyx_t_8; - - __pyx_L8_bool_binop_done:; - - if (__pyx_t_7) { - - - __pyx_t_10 = __pyx_v_series; - __Pyx_INCREF(__pyx_t_10); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_to_numpy, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 503, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __pyx_t_9 = __pyx_t_2; - __Pyx_INCREF(__pyx_t_9); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, ((PyObject *)(&PyFloat_Type))}; - __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_astype, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 503, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - } - __Pyx_DECREF_SET(__pyx_v_series, __pyx_t_6); - __pyx_t_6 = 0; - - } - __pyx_L5:; - - __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_args, __pyx_v_series); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(2, 504, __pyx_L1_error) - - - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { - __pyx_t_6 = __pyx_t_1; __Pyx_INCREF(__pyx_t_6); - __pyx_t_4 = 0; - __pyx_t_5 = NULL; - } else { - __pyx_t_4 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 505, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - if (likely(!__pyx_t_5)) { - if (likely(PyList_CheckExact(__pyx_t_6))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 505, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_6, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_4; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 505, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_4)); - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_4); - #endif - ++__pyx_t_4; - } - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 505, __pyx_L1_error) - } else { - __pyx_t_1 = __pyx_t_5(__pyx_t_6); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 505, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_opt_input, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_opt_input}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_Function__get_opt_input_value, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 506, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_args, __pyx_v_value); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(2, 507, __pyx_L1_error) - - - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_func_object); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 510, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 510, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 510, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_results = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_7 = __Pyx_TypeCheck(__pyx_v_results, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray); - if (__pyx_t_7) { - - - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 512, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __pyx_t_6; - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_keys, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 512, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __pyx_v_keys = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_7 = PyList_Check(__pyx_v_keys); - __pyx_t_8 = (!__pyx_t_7); - - - if (__pyx_t_8) { - - - __pyx_t_2 = PySequence_List(__pyx_v_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 514, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF_SET(__pyx_v_keys, __pyx_t_2); - __pyx_t_2 = 0; - - } - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_keys, 0, long, 1, __Pyx_PyLong_From_long, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (unlikely((PyObject_SetItem(__pyx_t_2, __pyx_t_6, __pyx_v_results) < 0))) __PYX_ERR(2, 515, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - goto __pyx_L14; - } - - /*else*/ { - __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0); - __pyx_t_6 = __pyx_mstate_global->__pyx_int_0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 517, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { - __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); - __pyx_t_4 = 0; - __pyx_t_5 = NULL; - } else { - __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 517, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 517, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - for (;;) { - if (likely(!__pyx_t_5)) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 517, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - __pyx_t_2 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_1, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_4; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 517, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4)); - #else - __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_4); - #endif - ++__pyx_t_4; - } - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 517, __pyx_L1_error) - } else { - __pyx_t_2 = __pyx_t_5(__pyx_t_1); - if (unlikely(!__pyx_t_2)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 517, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XDECREF_SET(__pyx_v_output, __pyx_t_2); - __pyx_t_2 = 0; - __Pyx_INCREF(__pyx_t_6); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_6); - __pyx_t_2 = __Pyx_PyLong_AddObjC(__pyx_t_6, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 517, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); - __pyx_t_6 = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_results, __pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 518, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 518, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (unlikely((PyObject_SetItem(__pyx_t_9, __pyx_v_output, __pyx_t_2) < 0))) __PYX_ERR(2, 518, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_L14:; - - if (__Pyx_PyObject_SetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_outputs_valid, Py_True) < (0)) __PYX_ERR(2, 519, __pyx_L1_error) - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_AddTraceback("talib._ta_lib.Function.__call_function", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_local); - __Pyx_XDECREF(__pyx_v_input_price_series_names); - __Pyx_XDECREF(__pyx_v_args); - __Pyx_XDECREF(__pyx_v_price_series); - __Pyx_XDECREF(__pyx_v_series); - __Pyx_XDECREF(__pyx_v_opt_input); - __Pyx_XDECREF(__pyx_v_value); - __Pyx_XDECREF(__pyx_v_results); - __Pyx_XDECREF(__pyx_v_keys); - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XDECREF(__pyx_v_output); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_39__check_opt_input_value(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_38__check_opt_input_value, "Function.__check_opt_input_value(self, input_name, value)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_39__check_opt_input_value = {"__check_opt_input_value", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_39__check_opt_input_value, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_38__check_opt_input_value}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_39__check_opt_input_value(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_input_name = 0; - PyObject *__pyx_v_value = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__check_opt_input_value (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_input_name,&__pyx_mstate_global->__pyx_n_u_value,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 521, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 521, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 521, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 521, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__check_opt_input_value", 0) < (0)) __PYX_ERR(2, 521, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__check_opt_input_value", 1, 3, 3, i); __PYX_ERR(2, 521, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 521, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 521, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 521, __pyx_L3_error) - } - __pyx_v_self = values[0]; - __pyx_v_input_name = values[1]; - __pyx_v_value = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__check_opt_input_value", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 521, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.__check_opt_input_value", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_38__check_opt_input_value(__pyx_self, __pyx_v_self, __pyx_v_input_name, __pyx_v_value); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_38__check_opt_input_value(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_input_name, PyObject *__pyx_v_value) { - PyObject *__pyx_v_type_ = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9[7]; - Py_ssize_t __pyx_t_10; - int __pyx_t_11; - size_t __pyx_t_12; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__check_opt_input_value", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_input_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_type_ = __pyx_t_2; - __pyx_t_2 = 0; - - __Pyx_INCREF(__pyx_v_type_); - __pyx_t_2 = __pyx_v_type_; - __pyx_t_1 = __Pyx_PyLong_From_TA_OptInputParameterType(TA_OptInput_IntegerList); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_CompareBoolEq_object_int(__pyx_t_2, __pyx_t_1, Py_EQ); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 523, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!__pyx_t_4) { - - } else { - - __pyx_t_3 = __pyx_t_4; - - goto __pyx_L4_bool_binop_done; - } - __pyx_t_1 = __Pyx_PyLong_From_TA_OptInputParameterType(TA_OptInput_IntegerRange); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_CompareBoolEq_object_int(__pyx_t_2, __pyx_t_1, Py_EQ); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 523, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_3 = __pyx_t_4; - - __pyx_L4_bool_binop_done:; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __pyx_t_3; - - - if (__pyx_t_4) { - - - __Pyx_INCREF((PyObject *)(&PyLong_Type)); - __Pyx_DECREF_SET(__pyx_v_type_, ((PyObject *)(&PyLong_Type))); - - goto __pyx_L3; - } - - __Pyx_INCREF(__pyx_v_type_); - __pyx_t_2 = __pyx_v_type_; - __pyx_t_1 = __Pyx_PyLong_From_TA_OptInputParameterType(TA_OptInput_RealList); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_CompareBoolEq_object_int(__pyx_t_2, __pyx_t_1, Py_EQ); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 525, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!__pyx_t_3) { - - } else { - - __pyx_t_4 = __pyx_t_3; - - goto __pyx_L6_bool_binop_done; - } - __pyx_t_1 = __Pyx_PyLong_From_TA_OptInputParameterType(TA_OptInput_RealRange); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_CompareBoolEq_object_int(__pyx_t_2, __pyx_t_1, Py_EQ); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 525, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_4 = __pyx_t_3; - - __pyx_L6_bool_binop_done:; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __pyx_t_4; - - - if (__pyx_t_3) { - - - __Pyx_INCREF((PyObject *)(&PyFloat_Type)); - __Pyx_DECREF_SET(__pyx_v_type_, ((PyObject *)(&PyFloat_Type))); - - } - __pyx_L3:; - - __pyx_t_3 = PyObject_IsInstance(__pyx_v_value, __pyx_v_type_); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 528, __pyx_L1_error) - if (__pyx_t_3) { - - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(Py_True); - __pyx_r = Py_True; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - } - - __pyx_t_3 = (__pyx_v_value != Py_None); - if (unlikely(__pyx_t_3)) { - - - __pyx_t_1 = NULL; - - __pyx_t_5 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_input_name), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 533, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_type_, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 533, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_6), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 533, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_value)), __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 533, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_6), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 533, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_9[0] = __pyx_mstate_global->__pyx_kp_u_Invalid_parameter_value_for; - __pyx_t_9[1] = __pyx_t_5; - __pyx_t_9[2] = __pyx_mstate_global->__pyx_kp_u_expected; - __pyx_t_9[3] = __pyx_t_7; - __pyx_t_9[4] = __pyx_mstate_global->__pyx_kp_u_got; - __pyx_t_9[5] = __pyx_t_8; - __pyx_t_9[6] = __pyx_mstate_global->__pyx_kp_u__6; - - __pyx_t_10 = 46; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9[1]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9[3]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9[5]); - #endif - __pyx_t_11 = 0; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_11 |= __Pyx_PyUnicode_KIND_04(__pyx_t_9[1]) | __Pyx_PyUnicode_KIND_04(__pyx_t_9[3]) | __Pyx_PyUnicode_KIND_04(__pyx_t_9[5]); - #endif - __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_9, 7, __pyx_t_10, __pyx_t_11); - if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 532, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_12 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_6}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_12, (2-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(2, 531, __pyx_L1_error) - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(Py_False); - __pyx_r = Py_False; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("talib._ta_lib.Function.__check_opt_input_value", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_type_); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_41__get_opt_input_value(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_40__get_opt_input_value, "Function.__get_opt_input_value(self, input_name)\n\nReturns the user-set value if there is one, otherwise the default."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_41__get_opt_input_value = {"__get_opt_input_value", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_41__get_opt_input_value, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_40__get_opt_input_value}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_41__get_opt_input_value(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_input_name = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get_opt_input_value (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_input_name,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 536, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__get_opt_input_value", 0) < (0)) __PYX_ERR(2, 536, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__get_opt_input_value", 1, 2, 2, i); __PYX_ERR(2, 536, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 536, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 536, __pyx_L3_error) - } - __pyx_v_self = values[0]; - __pyx_v_input_name = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__get_opt_input_value", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 536, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.__get_opt_input_value", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_40__get_opt_input_value(__pyx_self, __pyx_v_self, __pyx_v_input_name); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_40__get_opt_input_value(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_input_name) { - PyObject *__pyx_v_local = NULL; - PyObject *__pyx_v_value = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get_opt_input_value", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_Function__local); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_local = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_input_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_value = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = (__pyx_v_value == Py_None); - if (__pyx_t_3) { - - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_opt_inputs); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_input_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_default_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_1); - __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_v_value); - __pyx_r = __pyx_v_value; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.Function.__get_opt_input_value", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_local); - __Pyx_XDECREF(__pyx_v_value); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_43__repr__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_42__repr__, "Function.__repr__(self)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_43__repr__ = {"__repr__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_43__repr__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_42__repr__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_43__repr__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 546, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 546, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__repr__", 0) < (0)) __PYX_ERR(2, 546, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__repr__", 1, 1, 1, i); __PYX_ERR(2, 546, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 546, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__repr__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 546, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_42__repr__(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_42__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__repr__", 0); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 547, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_2, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 547, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_2; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_2 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.Function.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_45__unicode__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_44__unicode__, "Function.__unicode__(self)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_45__unicode__ = {"__unicode__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_45__unicode__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_44__unicode__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_45__unicode__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__unicode__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 549, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 549, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__unicode__", 0) < (0)) __PYX_ERR(2, 549, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__unicode__", 1, 1, 1, i); __PYX_ERR(2, 549, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 549, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__unicode__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 549, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.__unicode__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_44__unicode__(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_44__unicode__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__unicode__", 0); - - __pyx_t_2 = __pyx_v_self; - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_str, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 550, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 550, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_2; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_2 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.Function.__unicode__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_47__str__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_8Function_46__str__, "Function.__str__(self)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_8Function_47__str__ = {"__str__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_8Function_47__str__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_8Function_46__str__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_8Function_47__str__(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_self = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__str__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 552, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 552, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__str__", 0) < (0)) __PYX_ERR(2, 552, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__str__", 1, 1, 1, i); __PYX_ERR(2, 552, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 552, __pyx_L3_error) - } - __pyx_v_self = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__str__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 552, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Function.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_8Function_46__str__(__pyx_self, __pyx_v_self); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_8Function_46__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - size_t __pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__str__", 0); - - __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_get_defaults_and_docs); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 553, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 553, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - assert(__pyx_t_2); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_3, __pyx__function); - __pyx_t_5 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 553, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyLong_From_long, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 553, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.Function.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_431_ta_getGroupTable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_430_ta_getGroupTable, "_ta_getGroupTable()\n\nReturns the list of available TALIB function group names. *slow*"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_431_ta_getGroupTable = {"_ta_getGroupTable", (PyCFunction)__pyx_pw_5talib_7_ta_lib_431_ta_getGroupTable, METH_NOARGS, __pyx_doc_5talib_7_ta_lib_430_ta_getGroupTable}; -static PyObject *__pyx_pw_5talib_7_ta_lib_431_ta_getGroupTable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_getGroupTable (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_430_ta_getGroupTable(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_430_ta_getGroupTable(CYTHON_UNUSED PyObject *__pyx_self) { - TA_StringTable *__pyx_v_table; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_v_groups = NULL; - unsigned int __pyx_v_i; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - unsigned int __pyx_t_10; - unsigned int __pyx_t_11; - unsigned int __pyx_t_12; - int __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - char const *__pyx_t_16; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - int __pyx_t_23; - int __pyx_t_24; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_getGroupTable", 0); - - /*with:*/ { - __pyx_t_2 = NULL; - __pyx_t_3 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 572, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_1); - } - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 572, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - assert(__pyx_t_5); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_6, __pyx__function); - __pyx_t_3 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 572, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_GroupTableAlloc((&__pyx_v_table)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_GroupTableAlloc, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 575, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /*try:*/ { - - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 577, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_groups = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - - __pyx_t_10 = __pyx_v_table->size; - __pyx_t_11 = __pyx_t_10; - - for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) { - __pyx_v_i = __pyx_t_12; - - __pyx_t_1 = __Pyx_PyBytes_FromString((*(&(__pyx_v_table->string[__pyx_v_i])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 579, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_groups, __pyx_t_1); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(2, 579, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_GroupTableFree(__pyx_v_table); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_GroupTableFree, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 583, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L18; - } - __pyx_L17_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_ExceptionSwap(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); - if ( unlikely(__Pyx_GetException(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19) < 0)) __Pyx_ErrFetch(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __pyx_t_14 = __pyx_lineno; __pyx_t_15 = __pyx_clineno; __pyx_t_16 = __pyx_filename; - { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_GroupTableFree(__pyx_v_table); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L28; - } - __pyx_L28:; - } - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_GroupTableFree, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 583, __pyx_L25_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ErrRestore(__pyx_t_17, __pyx_t_18, __pyx_t_19); - __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - __pyx_lineno = __pyx_t_14; __pyx_clineno = __pyx_t_15; __pyx_filename = __pyx_t_16; - goto __pyx_L7_error; - __pyx_L25_error:; - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22); - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - goto __pyx_L7_error; - } - __pyx_L18:; - } - - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /*except:*/ { - __Pyx_AddTraceback("talib._ta_lib._ta_getGroupTable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(2, 572, __pyx_L9_except_error) - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_6); - { - PyObject* __pyx_temp[3] = {__pyx_t_1, __pyx_t_2, __pyx_t_6}; - __pyx_t_5 = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 572, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - } - __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_22)) __PYX_ERR(2, 572, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_23 = __Pyx_PyObject_IsTrue(__pyx_t_22); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - if (__pyx_t_23 < (0)) __PYX_ERR(2, 572, __pyx_L9_except_error) - __pyx_t_24 = (!__pyx_t_23); - - - if (unlikely(__pyx_t_24)) { - - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_6); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_6 = 0; - __PYX_ERR(2, 572, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L32; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L32:; - } - - if (unlikely(!__pyx_v_groups)) { __Pyx_RaiseUnboundLocalError("groups"); __PYX_ERR(2, 584, __pyx_L1_error) } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_v_groups); - __pyx_r = __pyx_v_groups; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib._ta_getGroupTable", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XDECREF(__pyx_v_groups); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_433_ta_getFuncTable(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_432_ta_getFuncTable, "_ta_getFuncTable(char *group)\n\nReturns a list of the functions for the specified group name. *slow*"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_433_ta_getFuncTable = {"_ta_getFuncTable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_433_ta_getFuncTable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_432_ta_getFuncTable}; -static PyObject *__pyx_pw_5talib_7_ta_lib_433_ta_getFuncTable(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - char *__pyx_v_group; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_getFuncTable (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_group,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 586, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 586, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_ta_getFuncTable", 0) < (0)) __PYX_ERR(2, 586, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_ta_getFuncTable", 1, 1, 1, i); __PYX_ERR(2, 586, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 586, __pyx_L3_error) - } - __pyx_v_group = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_group) && PyErr_Occurred())) __PYX_ERR(2, 586, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_ta_getFuncTable", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 586, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._ta_getFuncTable", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_432_ta_getFuncTable(__pyx_self, __pyx_v_group); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_432_ta_getFuncTable(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_group) { - TA_StringTable *__pyx_v_table; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_v_functions = NULL; - unsigned int __pyx_v_i; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - unsigned int __pyx_t_10; - unsigned int __pyx_t_11; - unsigned int __pyx_t_12; - int __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - char const *__pyx_t_16; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - int __pyx_t_23; - int __pyx_t_24; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_getFuncTable", 0); - - /*with:*/ { - __pyx_t_2 = NULL; - __pyx_t_3 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 592, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_1); - } - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 592, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 592, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - assert(__pyx_t_5); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_6, __pyx__function); - __pyx_t_3 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 592, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_FuncTableAlloc(__pyx_v_group, (&__pyx_v_table)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FuncTableAlloc, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 595, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /*try:*/ { - - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 597, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_functions = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - - __pyx_t_10 = __pyx_v_table->size; - __pyx_t_11 = __pyx_t_10; - - for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) { - __pyx_v_i = __pyx_t_12; - - __pyx_t_1 = __Pyx_PyBytes_FromString((*(&(__pyx_v_table->string[__pyx_v_i])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 599, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_functions, __pyx_t_1); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(2, 599, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_FuncTableFree(__pyx_v_table); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L23; - } - __pyx_L23:; - } - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FuncTableFree, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 603, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L18; - } - __pyx_L17_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_ExceptionSwap(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); - if ( unlikely(__Pyx_GetException(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19) < 0)) __Pyx_ErrFetch(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __pyx_t_14 = __pyx_lineno; __pyx_t_15 = __pyx_clineno; __pyx_t_16 = __pyx_filename; - { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_FuncTableFree(__pyx_v_table); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L28; - } - __pyx_L28:; - } - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FuncTableFree, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 603, __pyx_L25_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ErrRestore(__pyx_t_17, __pyx_t_18, __pyx_t_19); - __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - __pyx_lineno = __pyx_t_14; __pyx_clineno = __pyx_t_15; __pyx_filename = __pyx_t_16; - goto __pyx_L7_error; - __pyx_L25_error:; - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22); - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - goto __pyx_L7_error; - } - __pyx_L18:; - } - - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /*except:*/ { - __Pyx_AddTraceback("talib._ta_lib._ta_getFuncTable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(2, 592, __pyx_L9_except_error) - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_6); - { - PyObject* __pyx_temp[3] = {__pyx_t_1, __pyx_t_2, __pyx_t_6}; - __pyx_t_5 = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 592, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - } - __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_22)) __PYX_ERR(2, 592, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_23 = __Pyx_PyObject_IsTrue(__pyx_t_22); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - if (__pyx_t_23 < (0)) __PYX_ERR(2, 592, __pyx_L9_except_error) - __pyx_t_24 = (!__pyx_t_23); - - - if (unlikely(__pyx_t_24)) { - - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_6); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_6 = 0; - __PYX_ERR(2, 592, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 592, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L32; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L32:; - } - - if (unlikely(!__pyx_v_functions)) { __Pyx_RaiseUnboundLocalError("functions"); __PYX_ERR(2, 604, __pyx_L1_error) } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_v_functions); - __pyx_r = __pyx_v_functions; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib._ta_getFuncTable", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XDECREF(__pyx_v_functions); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_435__get_flags(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_434__get_flags, "__get_flags(int flag, dict flags_lookup_dict)\n\nTA-LIB provides hints for multiple flags as a bitwise-ORed int.\nThis function returns the flags from flag found in the provided\nflags_lookup_dict."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_435__get_flags = {"__get_flags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_435__get_flags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_434__get_flags}; -static PyObject *__pyx_pw_5talib_7_ta_lib_435__get_flags(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - int __pyx_v_flag; - PyObject *__pyx_v_flags_lookup_dict = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get_flags (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_flag,&__pyx_mstate_global->__pyx_n_u_flags_lookup_dict,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 606, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 606, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 606, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__get_flags", 0) < (0)) __PYX_ERR(2, 606, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__get_flags", 1, 2, 2, i); __PYX_ERR(2, 606, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 606, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 606, __pyx_L3_error) - } - __pyx_v_flag = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_flag == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 606, __pyx_L3_error) - __pyx_v_flags_lookup_dict = ((PyObject*)values[1]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__get_flags", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 606, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.__get_flags", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_flags_lookup_dict), (&PyDict_Type), 1, "flags_lookup_dict", 1))) __PYX_ERR(2, 606, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_434__get_flags(__pyx_self, __pyx_v_flag, __pyx_v_flags_lookup_dict); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_434__get_flags(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_flag, PyObject *__pyx_v_flags_lookup_dict) { - PyObject *__pyx_v_bit = NULL; - PyObject *__pyx_v_description = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *(*__pyx_t_9)(PyObject *); - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get_flags", 0); - - __pyx_t_1 = (__pyx_v_flag < 1); - - if (__pyx_t_1) { - - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - } - - __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 616, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - if (unlikely(__pyx_v_flags_lookup_dict == Py_None)) { - PyErr_Format(PyExc_AttributeError, "\047NoneType\047 object has no attribute \047%.30s\047", "items"); - __PYX_ERR(2, 617, __pyx_L1_error) - } - __pyx_t_3 = __Pyx_PyDict_Items(__pyx_v_flags_lookup_dict); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely((PyList_Sort(__pyx_t_4) < 0))) __PYX_ERR(2, 617, __pyx_L1_error) - __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - for (;;) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 617, __pyx_L1_error) - #endif - if (__pyx_t_5 >= __pyx_temp) break; - } - __pyx_t_4 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_3, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_5; - if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { - PyObject* sequence = __pyx_t_4; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(2, 617, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); - __Pyx_INCREF(__pyx_t_6); - __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1); - __Pyx_INCREF(__pyx_t_7); - } else { - __pyx_t_6 = __Pyx_PyList_GET_ITEM_REF(sequence, 0, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 617, __pyx_L1_error) - __Pyx_XGOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyList_GET_ITEM_REF(sequence, 1, __Pyx_ReferenceSharing_SharedReference); - if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 617, __pyx_L1_error) - __Pyx_XGOTREF(__pyx_t_7); - } - #else - __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - #endif - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_8 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); - index = 0; __pyx_t_6 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_6)) goto __pyx_L6_unpacking_failed; - __Pyx_GOTREF(__pyx_t_6); - index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L6_unpacking_failed; - __Pyx_GOTREF(__pyx_t_7); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < (0)) __PYX_ERR(2, 617, __pyx_L1_error) - __pyx_t_9 = NULL; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L7_unpacking_done; - __pyx_L6_unpacking_failed:; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_9 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(2, 617, __pyx_L1_error) - __pyx_L7_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_bit, __pyx_t_6); - __pyx_t_6 = 0; - __Pyx_XDECREF_SET(__pyx_v_description, __pyx_t_7); - __pyx_t_7 = 0; - - __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_flag); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = __Pyx_PyNumber_And_object_int(__pyx_v_bit, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 618, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_1) { - - - if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, __pyx_v_description))) __PYX_ERR(2, 616, __pyx_L1_error) - - } - - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_2; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_2 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("talib._ta_lib.__get_flags", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_bit); - __Pyx_XDECREF(__pyx_v_description); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_437_ta_getFuncInfo(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_436_ta_getFuncInfo, "_ta_getFuncInfo(char *function_name)\n\nReturns the info dict for the function. It has the following keys: name,\ngroup, help, flags, num_inputs, num_opt_inputs and num_outputs."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_437_ta_getFuncInfo = {"_ta_getFuncInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_437_ta_getFuncInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_436_ta_getFuncInfo}; -static PyObject *__pyx_pw_5talib_7_ta_lib_437_ta_getFuncInfo(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - char *__pyx_v_function_name; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_getFuncInfo (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_function_name,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 659, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 659, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_ta_getFuncInfo", 0) < (0)) __PYX_ERR(2, 659, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_ta_getFuncInfo", 1, 1, 1, i); __PYX_ERR(2, 659, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 659, __pyx_L3_error) - } - __pyx_v_function_name = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_function_name) && PyErr_Occurred())) __PYX_ERR(2, 659, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_ta_getFuncInfo", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 659, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._ta_getFuncInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_436_ta_getFuncInfo(__pyx_self, __pyx_v_function_name); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_436_ta_getFuncInfo(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_function_name) { - TA_FuncInfo const *__pyx_v_info; - TA_FuncHandle const *__pyx_v_handle; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - TA_FuncHandle const *__pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_getFuncInfo", 0); - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib___ta_getFuncHandle(__pyx_v_function_name); if (unlikely(__pyx_t_1 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(2, 665, __pyx_L1_error) - __pyx_v_handle = __pyx_t_1; - - /*with:*/ { - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 667, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_2); - } - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 667, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 667, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); - assert(__pyx_t_6); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_7, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 667, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - (void)__pyx_t_8; (void)__pyx_t_9; (void)__pyx_t_10; /* mark used */ - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_GetFuncInfo(__pyx_v_handle, (&__pyx_v_info)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - - } - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_5) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 667, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_GetFuncInfo, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 670, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyDict_NewPresized(7); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 673, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_bytes2str); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 673, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_11 = __Pyx_PyBytes_FromString(__pyx_v_info->name); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 673, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - assert(__pyx_t_7); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_6, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_11}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 673, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name, __pyx_t_3) < (0)) __PYX_ERR(2, 673, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_6 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_bytes2str); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_7 = __Pyx_PyBytes_FromString(__pyx_v_info->group); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_11); - assert(__pyx_t_6); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_11, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_group, __pyx_t_3) < (0)) __PYX_ERR(2, 673, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_11 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_bytes2str); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyBytes_FromString(__pyx_v_info->hint); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_7); - assert(__pyx_t_11); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_7, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_6}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_display_name, __pyx_t_3) < (0)) __PYX_ERR(2, 673, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_7 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_get_flags); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 676, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_11 = __Pyx_PyLong_From_TA_FuncFlags(__pyx_v_info->flags); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 676, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_TA_FUNC_FLAGS); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 676, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - assert(__pyx_t_7); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_6, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_11, __pyx_t_12}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 676, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_function_flags, __pyx_t_3) < (0)) __PYX_ERR(2, 673, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_6 = NULL; - __pyx_t_12 = __Pyx_PyLong_From_unsigned_int(__pyx_v_info->nbInput); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 677, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_12}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(&PyLong_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 677, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_num_inputs, __pyx_t_3) < (0)) __PYX_ERR(2, 673, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_12 = NULL; - __pyx_t_6 = __Pyx_PyLong_From_unsigned_int(__pyx_v_info->nbOptInput); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 678, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_6}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(&PyLong_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 678, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_num_opt_inputs, __pyx_t_3) < (0)) __PYX_ERR(2, 673, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_6 = NULL; - __pyx_t_12 = __Pyx_PyLong_From_unsigned_int(__pyx_v_info->nbOutput); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 679, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_12}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(&PyLong_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 679, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_num_outputs, __pyx_t_3) < (0)) __PYX_ERR(2, 673, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_2; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_2 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_AddTraceback("talib._ta_lib._ta_getFuncInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_439_ta_getInputParameterInfo(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_438_ta_getInputParameterInfo, "_ta_getInputParameterInfo(char *function_name, int idx)\n\nReturns the function\047s input info dict for the given index. It has two\nkeys: name and flags."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_439_ta_getInputParameterInfo = {"_ta_getInputParameterInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_439_ta_getInputParameterInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_438_ta_getInputParameterInfo}; -static PyObject *__pyx_pw_5talib_7_ta_lib_439_ta_getInputParameterInfo(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - char *__pyx_v_function_name; - int __pyx_v_idx; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_getInputParameterInfo (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_function_name,&__pyx_mstate_global->__pyx_n_u_idx,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 682, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 682, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 682, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_ta_getInputParameterInfo", 0) < (0)) __PYX_ERR(2, 682, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_ta_getInputParameterInfo", 1, 2, 2, i); __PYX_ERR(2, 682, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 682, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 682, __pyx_L3_error) - } - __pyx_v_function_name = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_function_name) && PyErr_Occurred())) __PYX_ERR(2, 682, __pyx_L3_error) - __pyx_v_idx = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 682, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_ta_getInputParameterInfo", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 682, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._ta_getInputParameterInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_438_ta_getInputParameterInfo(__pyx_self, __pyx_v_function_name, __pyx_v_idx); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_438_ta_getInputParameterInfo(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_function_name, int __pyx_v_idx) { - TA_InputParameterInfo const *__pyx_v_info; - TA_FuncHandle const *__pyx_v_handle; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_v_name = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - TA_FuncHandle const *__pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_getInputParameterInfo", 0); - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib___ta_getFuncHandle(__pyx_v_function_name); if (unlikely(__pyx_t_1 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(2, 688, __pyx_L1_error) - __pyx_v_handle = __pyx_t_1; - - /*with:*/ { - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 690, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_2); - } - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 690, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 690, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); - assert(__pyx_t_6); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_7, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 690, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - (void)__pyx_t_8; (void)__pyx_t_9; (void)__pyx_t_10; /* mark used */ - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_GetInputParameterInfo(__pyx_v_handle, __pyx_v_idx, (&__pyx_v_info)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - - } - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_5) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 690, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_GetInputParameterInfo, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 693, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_3 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_bytes2str); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 695, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyBytes_FromString(__pyx_v_info->paramName); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 695, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); - assert(__pyx_t_3); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_7, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 695, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __pyx_v_name = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_11 = __Pyx_PyUnicode_GET_LENGTH(__pyx_mstate_global->__pyx_n_u_in); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(2, 696, __pyx_L1_error) - __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_v_name, __pyx_t_11, 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 696, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - - __pyx_t_7 = __pyx_t_6; - __Pyx_INCREF(__pyx_t_7); - __pyx_t_4 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_lower, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 696, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_12 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_n_u_real, __pyx_v_name, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(2, 697, __pyx_L1_error) - if (__pyx_t_12) { - - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_mstate_global->__pyx_n_u_replace); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 698, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[5], NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 698, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_6); - __pyx_t_6 = 0; - - goto __pyx_L17; - } - - __pyx_t_12 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_n_u_price, __pyx_v_name, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(2, 699, __pyx_L1_error) - if (__pyx_t_12) { - - - __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_prices); - __Pyx_DECREF_SET(__pyx_v_name, __pyx_mstate_global->__pyx_n_u_prices); - - } - __pyx_L17:; - - __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 703, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_name, __pyx_v_name) < (0)) __PYX_ERR(2, 703, __pyx_L1_error) - - __pyx_t_7 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_get_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 704, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_13 = __Pyx_PyLong_From_TA_InputFlags(__pyx_v_info->flags); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 704, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_TA_INPUT_FLAGS); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 704, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); - assert(__pyx_t_7); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_3, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_13, __pyx_t_14}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 704, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - if (PyDict_SetItem(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_price_series, __pyx_t_2) < (0)) __PYX_ERR(2, 703, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib._ta_getInputParameterInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XDECREF(__pyx_v_name); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_441_ta_getOptInputParameterInfo(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_440_ta_getOptInputParameterInfo, "_ta_getOptInputParameterInfo(char *function_name, int idx)\n\nReturns the function\047s opt_input info dict for the given index. It has the\nfollowing keys: name, display_name, type, help, default_value and value."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_441_ta_getOptInputParameterInfo = {"_ta_getOptInputParameterInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_441_ta_getOptInputParameterInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_440_ta_getOptInputParameterInfo}; -static PyObject *__pyx_pw_5talib_7_ta_lib_441_ta_getOptInputParameterInfo(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - char *__pyx_v_function_name; - int __pyx_v_idx; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_getOptInputParameterInfo (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_function_name,&__pyx_mstate_global->__pyx_n_u_idx,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 707, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 707, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 707, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_ta_getOptInputParameterInfo", 0) < (0)) __PYX_ERR(2, 707, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_ta_getOptInputParameterInfo", 1, 2, 2, i); __PYX_ERR(2, 707, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 707, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 707, __pyx_L3_error) - } - __pyx_v_function_name = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_function_name) && PyErr_Occurred())) __PYX_ERR(2, 707, __pyx_L3_error) - __pyx_v_idx = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 707, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_ta_getOptInputParameterInfo", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 707, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._ta_getOptInputParameterInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_440_ta_getOptInputParameterInfo(__pyx_self, __pyx_v_function_name, __pyx_v_idx); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_440_ta_getOptInputParameterInfo(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_function_name, int __pyx_v_idx) { - TA_OptInputParameterInfo const *__pyx_v_info; - TA_FuncHandle const *__pyx_v_handle; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_v_name = NULL; - PyObject *__pyx_v_default_value = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - TA_FuncHandle const *__pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_getOptInputParameterInfo", 0); - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib___ta_getFuncHandle(__pyx_v_function_name); if (unlikely(__pyx_t_1 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(2, 713, __pyx_L1_error) - __pyx_v_handle = __pyx_t_1; - - /*with:*/ { - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 715, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_2); - } - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 715, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 715, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); - assert(__pyx_t_6); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_7, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 715, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - (void)__pyx_t_8; (void)__pyx_t_9; (void)__pyx_t_10; /* mark used */ - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_GetOptInputParameterInfo(__pyx_v_handle, __pyx_v_idx, (&__pyx_v_info)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - - } - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_5) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 715, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_GetOptInputParameterInfo, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 718, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_3 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_bytes2str); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 720, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyBytes_FromString(__pyx_v_info->paramName); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 720, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); - assert(__pyx_t_3); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_7, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 720, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __pyx_v_name = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_11 = __Pyx_PyUnicode_GET_LENGTH(__pyx_mstate_global->__pyx_n_u_optIn); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(2, 721, __pyx_L1_error) - __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_v_name, __pyx_t_11, 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 721, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - - __pyx_t_7 = __pyx_t_6; - __Pyx_INCREF(__pyx_t_7); - __pyx_t_4 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_lower, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 721, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_12 = (__pyx_v_info->type > 1); - - if (__pyx_t_12) { - __pyx_t_6 = PyLong_FromDouble(__pyx_v_info->defaultValue); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 722, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __pyx_t_6; - __pyx_t_6 = 0; - } else { - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_info->defaultValue); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 722, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __pyx_t_6; - __pyx_t_6 = 0; - } - - __pyx_v_default_value = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 725, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name, __pyx_v_name) < (0)) __PYX_ERR(2, 725, __pyx_L1_error) - - __pyx_t_7 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_bytes2str); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 726, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_13 = __Pyx_PyBytes_FromString(__pyx_v_info->displayName); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 726, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); - assert(__pyx_t_7); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_3, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_13}; - __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 726, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - } - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_display_name, __pyx_t_6) < (0)) __PYX_ERR(2, 725, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_PyLong_From_TA_OptInputParameterType(__pyx_v_info->type); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 727, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_type_2, __pyx_t_6) < (0)) __PYX_ERR(2, 725, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_3 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_bytes2str); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 728, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_7 = __Pyx_PyBytes_FromString(__pyx_v_info->hint); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 728, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13); - assert(__pyx_t_3); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_13, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7}; - __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_13, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 728, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - } - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_help, __pyx_t_6) < (0)) __PYX_ERR(2, 725, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_default_value, __pyx_v_default_value) < (0)) __PYX_ERR(2, 725, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_value, Py_None) < (0)) __PYX_ERR(2, 725, __pyx_L1_error) - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_2; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_2 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib._ta_getOptInputParameterInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XDECREF(__pyx_v_name); - __Pyx_XDECREF(__pyx_v_default_value); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_443_ta_getOutputParameterInfo(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_442_ta_getOutputParameterInfo, "_ta_getOutputParameterInfo(char *function_name, int idx)\n\nReturns the function\047s output info dict for the given index. It has two\nkeys: name and flags."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_443_ta_getOutputParameterInfo = {"_ta_getOutputParameterInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_443_ta_getOutputParameterInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_442_ta_getOutputParameterInfo}; -static PyObject *__pyx_pw_5talib_7_ta_lib_443_ta_getOutputParameterInfo(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - char *__pyx_v_function_name; - int __pyx_v_idx; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_ta_getOutputParameterInfo (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_function_name,&__pyx_mstate_global->__pyx_n_u_idx,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 733, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 733, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 733, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_ta_getOutputParameterInfo", 0) < (0)) __PYX_ERR(2, 733, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_ta_getOutputParameterInfo", 1, 2, 2, i); __PYX_ERR(2, 733, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 733, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 733, __pyx_L3_error) - } - __pyx_v_function_name = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_function_name) && PyErr_Occurred())) __PYX_ERR(2, 733, __pyx_L3_error) - __pyx_v_idx = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 733, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_ta_getOutputParameterInfo", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 733, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._ta_getOutputParameterInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_442_ta_getOutputParameterInfo(__pyx_self, __pyx_v_function_name, __pyx_v_idx); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_442_ta_getOutputParameterInfo(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_function_name, int __pyx_v_idx) { - TA_OutputParameterInfo const *__pyx_v_info; - TA_FuncHandle const *__pyx_v_handle; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_v_name = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - TA_FuncHandle const *__pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - Py_ssize_t __pyx_t_11; - int __pyx_t_12; - int __pyx_t_13; - int __pyx_t_14; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_ta_getOutputParameterInfo", 0); - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib___ta_getFuncHandle(__pyx_v_function_name); if (unlikely(__pyx_t_1 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(2, 739, __pyx_L1_error) - __pyx_v_handle = __pyx_t_1; - - /*with:*/ { - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 741, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_2); - } - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 741, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 741, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); - assert(__pyx_t_6); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_7, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 741, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - (void)__pyx_t_8; (void)__pyx_t_9; (void)__pyx_t_10; /* mark used */ - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_GetOutputParameterInfo(__pyx_v_handle, __pyx_v_idx, (&__pyx_v_info)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - - } - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_5) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 741, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_GetOutputParameterInfo, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_3 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_bytes2str); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 746, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyBytes_FromString(__pyx_v_info->paramName); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 746, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); - assert(__pyx_t_3); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_7, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 746, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __pyx_v_name = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_11 = __Pyx_PyUnicode_GET_LENGTH(__pyx_mstate_global->__pyx_n_u_out); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(2, 747, __pyx_L1_error) - __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_v_name, __pyx_t_11, 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 747, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - - __pyx_t_7 = __pyx_t_6; - __Pyx_INCREF(__pyx_t_7); - __pyx_t_4 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_lower, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 747, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_13 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_n_u_real, __pyx_v_name, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(2, 749, __pyx_L1_error) - if (__pyx_t_13) { - - } else { - - __pyx_t_12 = __pyx_t_13; - - goto __pyx_L18_bool_binop_done; - } - __Pyx_INCREF(__pyx_v_name); - __pyx_t_2 = __pyx_v_name; - __pyx_t_14 = __Pyx_PyObject_CompareBoolNe_object_str(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_real, Py_NE); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(2, 749, __pyx_L1_error) - if (__pyx_t_14) { - - } else { - - __pyx_t_13 = __pyx_t_14; - - goto __pyx_L20_bool_binop_done; - } - __pyx_t_14 = __Pyx_PyObject_CompareBoolNe_object_str(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_real0, Py_NE); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(2, 749, __pyx_L1_error) - if (__pyx_t_14) { - - } else { - - __pyx_t_13 = __pyx_t_14; - - goto __pyx_L20_bool_binop_done; - } - __pyx_t_14 = __Pyx_PyObject_CompareBoolNe_object_str(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_real1, Py_NE); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(2, 749, __pyx_L1_error) - - __pyx_t_13 = __pyx_t_14; - - __pyx_L20_bool_binop_done:; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = __pyx_t_13; - - - - __pyx_t_12 = __pyx_t_14; - - __pyx_L18_bool_binop_done:; - if (__pyx_t_12) { - - - __pyx_t_11 = __Pyx_PyUnicode_GET_LENGTH(__pyx_mstate_global->__pyx_n_u_real); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(2, 750, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_v_name, __pyx_t_11, 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_2); - __pyx_t_2 = 0; - - } - - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 753, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name, __pyx_v_name) < (0)) __PYX_ERR(2, 753, __pyx_L1_error) - - __pyx_t_7 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_get_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 754, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyLong_From_TA_OutputFlags(__pyx_v_info->flags); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 754, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_TA_OUTPUT_FLAGS); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 754, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); - assert(__pyx_t_7); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_3, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_15, __pyx_t_16}; - __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 754, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - } - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_flags, __pyx_t_6) < (0)) __PYX_ERR(2, 753, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_2; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_2 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_AddTraceback("talib._ta_lib._ta_getOutputParameterInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XDECREF(__pyx_v_name); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_445_get_defaults_and_docs(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_444_get_defaults_and_docs, "_get_defaults_and_docs(func_info)\n\nReturns a tuple with two outputs: defaults, a dict of parameter defaults,\nand documentation, a formatted docstring for the function.\n.. Note: func_info should come from Function.info, *not* _ta_getFuncInfo."); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_445_get_defaults_and_docs = {"_get_defaults_and_docs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_445_get_defaults_and_docs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_444_get_defaults_and_docs}; -static PyObject *__pyx_pw_5talib_7_ta_lib_445_get_defaults_and_docs(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_func_info = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_get_defaults_and_docs (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_func_info,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(2, 757, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 757, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_get_defaults_and_docs", 0) < (0)) __PYX_ERR(2, 757, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_get_defaults_and_docs", 1, 1, 1, i); __PYX_ERR(2, 757, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 757, __pyx_L3_error) - } - __pyx_v_func_info = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_get_defaults_and_docs", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 757, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib._get_defaults_and_docs", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_444_get_defaults_and_docs(__pyx_self, __pyx_v_func_info); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_444_get_defaults_and_docs(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func_info) { - PyObject *__pyx_v_defaults = NULL; - PyObject *__pyx_v_func_line = NULL; - PyObject *__pyx_v_func_args = NULL; - PyObject *__pyx_v_docs = NULL; - PyObject *__pyx_v_input_names = NULL; - PyObject *__pyx_v_input_name = NULL; - PyObject *__pyx_v_value = NULL; - PyObject *__pyx_v_params = NULL; - PyObject *__pyx_v_param = NULL; - PyObject *__pyx_v_outputs = NULL; - PyObject *__pyx_v_candlestick = NULL; - PyObject *__pyx_v_output = NULL; - PyObject *__pyx_v_documentation = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; - Py_ssize_t __pyx_t_4; - PyObject *(*__pyx_t_5)(PyObject *); - int __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9[4]; - Py_ssize_t __pyx_t_10; - int __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13[5]; - size_t __pyx_t_14; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_get_defaults_and_docs", 0); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 763, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_defaults = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_func_info, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 764, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 764, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 764, __pyx_L1_error); - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__7); - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u__7); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_mstate_global->__pyx_kp_u__7) != (0)) __PYX_ERR(2, 764, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_v_func_line = ((PyObject*)__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 765, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_input_arrays_2); - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_input_arrays_2); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_mstate_global->__pyx_kp_u_input_arrays_2) != (0)) __PYX_ERR(2, 765, __pyx_L1_error); - __pyx_v_func_args = ((PyObject*)__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 766, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_v_docs = ((PyObject*)__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_display_name_s_group_s, __pyx_v_func_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 767, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_docs, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 767, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - - __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_func_info, __pyx_mstate_global->__pyx_n_u_input_names); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 769, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_v_input_names = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_docs, __pyx_mstate_global->__pyx_kp_u_Inputs); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 770, __pyx_L1_error) - - - if (likely(PyList_CheckExact(__pyx_v_input_names)) || PyTuple_CheckExact(__pyx_v_input_names)) { - __pyx_t_2 = __pyx_v_input_names; __Pyx_INCREF(__pyx_t_2); - __pyx_t_4 = 0; - __pyx_t_5 = NULL; - } else { - __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_input_names); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 771, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 771, __pyx_L1_error) - } - for (;;) { - if (likely(!__pyx_t_5)) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 771, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - __pyx_t_1 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_2, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_4; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 771, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4)); - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_4); - #endif - ++__pyx_t_4; - } - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 771, __pyx_L1_error) - } else { - __pyx_t_1 = __pyx_t_5(__pyx_t_2); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 771, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_input_name, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_input_names, __pyx_v_input_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_6 = PyList_Check(__pyx_v_value); - __pyx_t_7 = (!__pyx_t_6); - - - if (__pyx_t_7) { - - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_any_ndarray); - __Pyx_DECREF_SET(__pyx_v_value, __pyx_mstate_global->__pyx_kp_u_any_ndarray); - - } - - __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_input_name), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 775, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_value), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 775, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9[0] = __pyx_mstate_global->__pyx_kp_u__8; - __pyx_t_9[1] = __pyx_t_1; - __pyx_t_9[2] = __pyx_mstate_global->__pyx_kp_u__2; - __pyx_t_9[3] = __pyx_t_8; - __pyx_t_10 = 6; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9[1]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9[3]); - #endif - __pyx_t_11 = 0; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_11 |= __Pyx_PyUnicode_KIND_04(__pyx_t_9[1]) | __Pyx_PyUnicode_KIND_04(__pyx_t_9[3]); - #endif - __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_9, 4, __pyx_t_10, __pyx_t_11); - if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 775, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_docs, __pyx_t_12); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 775, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_func_info, __pyx_mstate_global->__pyx_n_u_parameters); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 777, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_v_params = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_params); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 778, __pyx_L1_error) - if (__pyx_t_7) { - - - __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_docs, __pyx_mstate_global->__pyx_kp_u_Parameters); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 779, __pyx_L1_error) - - - } - - if (likely(PyList_CheckExact(__pyx_v_params)) || PyTuple_CheckExact(__pyx_v_params)) { - __pyx_t_2 = __pyx_v_params; __Pyx_INCREF(__pyx_t_2); - __pyx_t_4 = 0; - __pyx_t_5 = NULL; - } else { - __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_params); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 780, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 780, __pyx_L1_error) - } - for (;;) { - if (likely(!__pyx_t_5)) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 780, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - __pyx_t_12 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_2, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_4; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 780, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_12 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4)); - #else - __pyx_t_12 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_4); - #endif - ++__pyx_t_4; - } - if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 780, __pyx_L1_error) - } else { - __pyx_t_12 = __pyx_t_5(__pyx_t_2); - if (unlikely(!__pyx_t_12)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 780, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_12); - __Pyx_XDECREF_SET(__pyx_v_param, __pyx_t_12); - __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_param), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_params, __pyx_v_param); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_8), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_9[0] = __pyx_mstate_global->__pyx_kp_u__8; - __pyx_t_9[1] = __pyx_t_12; - __pyx_t_9[2] = __pyx_mstate_global->__pyx_kp_u__2; - __pyx_t_9[3] = __pyx_t_1; - __pyx_t_10 = 6; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9[1]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9[3]); - #endif - __pyx_t_11 = 0; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_11 |= __Pyx_PyUnicode_KIND_04(__pyx_t_9[1]) | __Pyx_PyUnicode_KIND_04(__pyx_t_9[3]); - #endif - __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_9, 4, __pyx_t_10, __pyx_t_11); - if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_docs, __pyx_t_8); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 781, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - - __pyx_t_8 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_param), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 782, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_params, __pyx_v_param); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 782, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_1), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 782, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13[0] = __pyx_mstate_global->__pyx_kp_u__9; - __pyx_t_13[1] = __pyx_t_8; - __pyx_t_13[2] = __pyx_mstate_global->__pyx_kp_u__10; - __pyx_t_13[3] = __pyx_t_12; - __pyx_t_13[4] = __pyx_mstate_global->__pyx_kp_u__11; - __pyx_t_10 = 3; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_13[1]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_13[3]); - #endif - __pyx_t_11 = 0; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_11 |= __Pyx_PyUnicode_KIND_04(__pyx_t_13[1]) | __Pyx_PyUnicode_KIND_04(__pyx_t_13[3]); - #endif - __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_13, 5, __pyx_t_10, __pyx_t_11); - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 782, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_func_args, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 782, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - - __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_params, __pyx_v_param); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 783, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (unlikely((PyDict_SetItem(__pyx_v_defaults, __pyx_v_param, __pyx_t_1) < 0))) __PYX_ERR(2, 783, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_12 = __pyx_v_param; - __Pyx_INCREF(__pyx_t_12); - __pyx_t_14 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_mstate_global->__pyx_n_u_matype}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_endswith, __pyx_callargs+__pyx_t_14, (2-__pyx_t_14) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 784, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 784, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_7) { - - - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_docs, -1L, long, 1, __Pyx_PyLong_From_long, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_params, __pyx_v_param); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_t_8); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_3, __pyx_t_15); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyList_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyList_SET_ITEM(__pyx_t_15, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 785, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_8); - if (__Pyx_PyList_SET_ITEM(__pyx_t_15, 1, __pyx_t_8) != (0)) __PYX_ERR(2, 785, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_8 = 0; - __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__12, __pyx_t_15); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely((__Pyx_SetItemInt(__pyx_v_docs, -1L, __pyx_t_8, long, 1, __Pyx_PyLong_From_long, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(2, 785, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - } - - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_func_info, __pyx_mstate_global->__pyx_n_u_output_names); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 787, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_v_outputs = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_v_func_info, __pyx_mstate_global->__pyx_n_u_function_flags); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 788, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 788, __pyx_L1_error) - if (!__pyx_t_7) { - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } else { - __Pyx_INCREF(__pyx_t_8); - __pyx_t_2 = __pyx_t_8; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_bool_binop_done; - } - __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 788, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_INCREF(__pyx_t_8); - __pyx_t_2 = __pyx_t_8; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_L12_bool_binop_done:; - __pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_kp_u_Output_is_a_candlestick, __pyx_t_2, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 788, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 788, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - __pyx_v_candlestick = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_docs, __pyx_mstate_global->__pyx_kp_u_Outputs); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 789, __pyx_L1_error) - - - if (likely(PyList_CheckExact(__pyx_v_outputs)) || PyTuple_CheckExact(__pyx_v_outputs)) { - __pyx_t_2 = __pyx_v_outputs; __Pyx_INCREF(__pyx_t_2); - __pyx_t_4 = 0; - __pyx_t_5 = NULL; - } else { - __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_outputs); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 790, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 790, __pyx_L1_error) - } - for (;;) { - if (likely(!__pyx_t_5)) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 790, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - __pyx_t_8 = __Pyx_PyList_GET_ITEM_REF(__pyx_t_2, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference); - ++__pyx_t_4; - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 790, __pyx_L1_error) - #endif - if (__pyx_t_4 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_8 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4)); - #else - __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_4); - #endif - ++__pyx_t_4; - } - if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 790, __pyx_L1_error) - } else { - __pyx_t_8 = __pyx_t_5(__pyx_t_2); - if (unlikely(!__pyx_t_8)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 790, __pyx_L1_error) - PyErr_Clear(); - } - break; - } - } - __Pyx_GOTREF(__pyx_t_8); - __Pyx_XDECREF_SET(__pyx_v_output, __pyx_t_8); - __pyx_t_8 = 0; - - __pyx_t_6 = __Pyx_PyObject_CompareBoolEq_object_str(__pyx_v_output, __pyx_mstate_global->__pyx_n_u_integer, Py_EQ); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 791, __pyx_L1_error) - if (__pyx_t_6) { - - } else { - - __pyx_t_7 = __pyx_t_6; - - goto __pyx_L17_bool_binop_done; - } - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_candlestick); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 791, __pyx_L1_error) - - __pyx_t_7 = __pyx_t_6; - - __pyx_L17_bool_binop_done:; - if (__pyx_t_7) { - - - __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_integer_values_are_100_0_or_100); - __Pyx_DECREF_SET(__pyx_v_output, __pyx_mstate_global->__pyx_kp_u_integer_values_are_100_0_or_100); - - } - - __pyx_t_8 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_4, __pyx_v_output); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 793, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_docs, __pyx_t_8); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 793, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__4, __pyx_v_func_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 795, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_func_line, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 795, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - - __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_func_line, __pyx_mstate_global->__pyx_kp_u__13); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 796, __pyx_L1_error) - - - __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__3, __pyx_v_func_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 797, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyList_Insert(__pyx_v_docs, 0, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 797, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - - __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__14, __pyx_v_docs); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_v_documentation = ((PyObject*)__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 799, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_defaults); - __Pyx_GIVEREF(__pyx_v_defaults); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_defaults) != (0)) __PYX_ERR(2, 799, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_documentation); - __Pyx_GIVEREF(__pyx_v_documentation); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_documentation) != (0)) __PYX_ERR(2, 799, __pyx_L1_error); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_2; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_2 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("talib._ta_lib._get_defaults_and_docs", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_defaults); - __Pyx_XDECREF(__pyx_v_func_line); - __Pyx_XDECREF(__pyx_v_func_args); - __Pyx_XDECREF(__pyx_v_docs); - __Pyx_XDECREF(__pyx_v_input_names); - __Pyx_XDECREF(__pyx_v_input_name); - __Pyx_XDECREF(__pyx_v_value); - __Pyx_XDECREF(__pyx_v_params); - __Pyx_XDECREF(__pyx_v_param); - __Pyx_XDECREF(__pyx_v_outputs); - __Pyx_XDECREF(__pyx_v_candlestick); - __Pyx_XDECREF(__pyx_v_output); - __Pyx_XDECREF(__pyx_v_documentation); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_FuncHandle const *__pyx_f_5talib_7_ta_lib___ta_getFuncHandle(char *__pyx_v_function_name) { - TA_FuncHandle const *__pyx_v_handle; - TA_RetCode __pyx_v_retCode; - TA_FuncHandle const *__pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__ta_getFuncHandle", 0); - - /*with:*/ { - __pyx_t_2 = NULL; - __pyx_t_3 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 816, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_1); - } - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 816, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 816, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - assert(__pyx_t_5); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_6, __pyx__function); - __pyx_t_3 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 816, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - (void)__pyx_t_7; (void)__pyx_t_8; (void)__pyx_t_9; /* mark used */ - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_GetFuncHandle(__pyx_v_function_name, (&__pyx_v_handle)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - - } - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 816, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_GetFuncHandle, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 819, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - - __pyx_r = __pyx_v_handle; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.__ta_getFuncHandle", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_ParamHolder *__pyx_f_5talib_7_ta_lib___ta_paramHolderAlloc(char *__pyx_v_function_name) { - TA_ParamHolder *__pyx_v_holder; - TA_FuncHandle const *__pyx_v_handle; - TA_RetCode __pyx_v_retCode; - TA_ParamHolder *__pyx_r; - __Pyx_RefNannyDeclarations - TA_FuncHandle const *__pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__ta_paramHolderAlloc", 0); - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib___ta_getFuncHandle(__pyx_v_function_name); if (unlikely(__pyx_t_1 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(2, 827, __pyx_L1_error) - __pyx_v_handle = __pyx_t_1; - - /*with:*/ { - __pyx_t_3 = NULL; - __pyx_t_4 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 829, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_2); - } - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 829, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 829, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); - assert(__pyx_t_6); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_7, __pyx__function); - __pyx_t_4 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 829, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - (void)__pyx_t_8; (void)__pyx_t_9; (void)__pyx_t_10; /* mark used */ - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ParamHolderAlloc(__pyx_v_handle, (&__pyx_v_holder)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - - } - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_5) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 829, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ParamHolderAlloc, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 832, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - { - - __pyx_r = __pyx_v_holder; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("talib._ta_lib.__ta_paramHolderAlloc", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static int __pyx_f_5talib_7_ta_lib___ta_paramHolderFree(TA_ParamHolder *__pyx_v_params) { - TA_RetCode __pyx_v_retCode; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__ta_paramHolderFree", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ParamHolderFree(__pyx_v_params); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ParamHolderFree, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 843, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.__ta_paramHolderFree", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static int __pyx_f_5talib_7_ta_lib___ta_setOptInputParamInteger(TA_ParamHolder *__pyx_v_holder, int __pyx_v_idx, int __pyx_v_value) { - TA_RetCode __pyx_v_retCode; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__ta_setOptInputParamInteger", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SetOptInputParamInteger(__pyx_v_holder, __pyx_v_idx, __pyx_v_value); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SetOptInputParamInteger, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 849, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.__ta_setOptInputParamInteger", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static int __pyx_f_5talib_7_ta_lib___ta_setOptInputParamReal(TA_ParamHolder *__pyx_v_holder, int __pyx_v_idx, double __pyx_v_value) { - TA_RetCode __pyx_v_retCode; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__ta_setOptInputParamReal", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SetOptInputParamReal(__pyx_v_holder, __pyx_v_idx, __pyx_v_value); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SetOptInputParamReal, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.__ta_setOptInputParamReal", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static int __pyx_f_5talib_7_ta_lib___ta_getLookback(TA_ParamHolder *__pyx_v_holder) { - int __pyx_v_lookback; - TA_RetCode __pyx_v_retCode; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__ta_getLookback", 0); - - /*with:*/ { - __pyx_t_2 = NULL; - __pyx_t_3 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 860, __pyx_L1_error) - __Pyx_GOTREF((PyObject *)__pyx_t_1); - } - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 860, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 860, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = 1; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - assert(__pyx_t_5); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_6, __pyx__function); - __pyx_t_3 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 860, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - (void)__pyx_t_7; (void)__pyx_t_8; (void)__pyx_t_9; /* mark used */ - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_GetLookback(__pyx_v_holder, (&__pyx_v_lookback)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - - } - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[0], NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 860, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_GetLookback, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 863, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - { - - __pyx_r = __pyx_v_lookback; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.__ta_getLookback", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static npy_intp __pyx_f_5talib_7_ta_lib_check_length(PyObject *__pyx_v_arrays) { - npy_intp __pyx_v_length; - PyObject *__pyx_v_other = NULL; - npy_intp __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - size_t __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("check_length", 0); - - if (unlikely(__pyx_v_arrays == Py_None)) { - PyErr_SetString(PyExc_TypeError, "\047NoneType\047 object is not subscriptable"); - __PYX_ERR(3, 2429, __pyx_L1_error) - } - __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_arrays, 0, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2429, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_length = (__pyx_f_5numpy_7ndarray_5shape___get__(((PyArrayObject *)__pyx_t_1))[0]); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - if (unlikely(__pyx_v_arrays == Py_None)) { - PyErr_SetString(PyExc_TypeError, "\047NoneType\047 object is not subscriptable"); - __PYX_ERR(3, 2430, __pyx_L1_error) - } - __pyx_t_1 = __Pyx_PyTuple_GetSlice(__pyx_v_arrays, 1, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 2430, __pyx_L1_error) - #endif - if (__pyx_t_3 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3)); - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); - #endif - ++__pyx_t_3; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_other, __pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_4 = (__pyx_v_length != (__pyx_f_5numpy_7ndarray_5shape___get__(((PyArrayObject *)__pyx_v_other))[0])); - - if (unlikely(__pyx_t_4)) { - - - __pyx_t_5 = NULL; - __pyx_t_6 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_input_array_lengths_are_differen}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2432, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(3, 2432, __pyx_L1_error) - - } - - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - { - - __pyx_r = __pyx_v_length; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.check_length", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1L; - __pyx_L0:; - - __Pyx_XDECREF(__pyx_v_other); - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static int __pyx_f_5talib_7_ta_lib_check_begidx(npy_intp __pyx_v_length, PyObject *__pyx_v_arrays) { - double *__pyx_v_data[8]; - npy_intp __pyx_v_i; - int __pyx_v_k; - int __pyx_v_count; - int __pyx_r; - __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - size_t __pyx_t_5; - int __pyx_t_6; - int __pyx_t_7; - int __pyx_t_8; - npy_intp __pyx_t_9; - npy_intp __pyx_t_10; - npy_intp __pyx_t_11; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("check_begidx", 0); - - if (unlikely(__pyx_v_arrays == Py_None)) { - PyErr_SetString(PyExc_TypeError, "object of type \047NoneType\047 has no len()"); - __PYX_ERR(3, 2440, __pyx_L1_error) - } - __pyx_t_1 = __Pyx_PyTuple_GET_SIZE(__pyx_v_arrays); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(3, 2440, __pyx_L1_error) - __pyx_v_count = __pyx_t_1; - - __pyx_t_2 = (__pyx_v_count > 8); - - if (unlikely(__pyx_t_2)) { - - - __pyx_t_4 = NULL; - __pyx_t_5 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_too_many_input_arrays}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2442, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(3, 2442, __pyx_L1_error) - - } - - - __pyx_t_6 = __pyx_v_count; - __pyx_t_7 = __pyx_t_6; - - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_k = __pyx_t_8; - - if (unlikely(__pyx_v_arrays == Py_None)) { - PyErr_SetString(PyExc_TypeError, "\047NoneType\047 object is not subscriptable"); - __PYX_ERR(3, 2444, __pyx_L1_error) - } - __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_arrays, __pyx_v_k, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2444, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - (__pyx_v_data[__pyx_v_k]) = ((double *)__pyx_f_5numpy_7ndarray_4data___get__(((PyArrayObject *)__pyx_t_3))); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - - __pyx_t_9 = __pyx_v_length; - __pyx_t_10 = __pyx_t_9; - - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i = __pyx_t_11; - - - __pyx_t_6 = __pyx_v_count; - __pyx_t_7 = __pyx_t_6; - - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_k = __pyx_t_8; - - __pyx_t_2 = (((__pyx_v_data[__pyx_v_k])[__pyx_v_i]) != ((__pyx_v_data[__pyx_v_k])[__pyx_v_i])); - - if (__pyx_t_2) { - - - goto __pyx_L12_break; - - } - } - /*else*/ { - - { - - __pyx_r = ((int)__pyx_v_i); - } - goto __pyx_L6_return; - } - __pyx_L12_break:; - - } - - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L6_return: { - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L0; - } - __pyx_L8:; - } - } - - { - - __pyx_r = (((int)__pyx_v_length) - 1); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.check_begidx", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -2; - __pyx_L0:; - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static PyArrayObject *__pyx_f_5talib_7_ta_lib__stream_input(PyObject *__pyx_v_values) { - PyObject *__pyx_v_series = NULL; - PyArrayObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - Py_ssize_t __pyx_t_5; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - size_t __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_stream_input", 0); - - __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_values, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray); - if (__pyx_t_1) { - - - if (!(likely(((__pyx_v_values) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_values, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(3, 2462, __pyx_L1_error) - __pyx_t_2 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(((PyArrayObject *)__pyx_v_values))); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 2462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - { - PyArrayObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = ((PyArrayObject *)__pyx_t_2); - } - __Pyx_XDECREF((PyObject *)__pyx_temp); - } - __pyx_t_2 = 0; - goto __pyx_L0; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PANDAS_SERIES); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 2463, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_POLARS_SERIES); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2463, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2463, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(3, 2463, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3) != (0)) __PYX_ERR(3, 2463, __pyx_L1_error); - __pyx_t_2 = 0; - __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - for (;;) { - if (__pyx_t_5 >= 2) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5)); - #else - __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_5); - #endif - ++__pyx_t_5; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2463, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_XDECREF_SET(__pyx_v_series, __pyx_t_4); - __pyx_t_4 = 0; - - __pyx_t_6 = (__pyx_v_series != Py_None); - if (__pyx_t_6) { - - } else { - - __pyx_t_1 = __pyx_t_6; - - goto __pyx_L7_bool_binop_done; - } - __pyx_t_6 = PyObject_IsInstance(__pyx_v_values, __pyx_v_series); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(3, 2464, __pyx_L1_error) - - __pyx_t_1 = __pyx_t_6; - - __pyx_L7_bool_binop_done:; - if (__pyx_t_1) { - - - __pyx_t_8 = __pyx_v_values; - __Pyx_INCREF(__pyx_t_8); - __pyx_t_9 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL}; - __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_to_numpy, __pyx_callargs+__pyx_t_9, (1-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 2465, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - } - __pyx_t_2 = __pyx_t_7; - __Pyx_INCREF(__pyx_t_2); - __pyx_t_9 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)(&PyFloat_Type))}; - __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_astype, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2465, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(3, 2465, __pyx_L1_error) - __pyx_t_7 = ((PyObject *)__pyx_f_5talib_7_ta_lib_check_array(((PyArrayObject *)__pyx_t_4))); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 2465, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - { - PyArrayObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = ((PyArrayObject *)__pyx_t_7); - } - __Pyx_XDECREF((PyObject *)__pyx_temp); - } - __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L0; - - } - - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_7 = NULL; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_values)), __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2467, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_input_must_be_a_numpy_array_or_a, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 2467, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2466, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(3, 2466, __pyx_L1_error) - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("talib._ta_lib._stream_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_series); - __Pyx_XGIVEREF((PyObject *)__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static int __pyx_f_5talib_7_ta_lib__stream_history(npy_intp __pyx_v_length, int __pyx_v_begidx) { - int __pyx_r; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - size_t __pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_stream_history", 0); - - __pyx_t_1 = (__pyx_v_begidx < 0); - - if (unlikely(__pyx_t_1)) { - - - __pyx_t_3 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_InsufficientHistory); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2472, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - assert(__pyx_t_3); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_4, __pyx__function); - __pyx_t_5 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_no_history_the_input_array_is_em}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 2472, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(3, 2472, __pyx_L1_error) - - } - - { - - __pyx_r = ((int)(__pyx_v_length - __pyx_v_begidx)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib._stream_history", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static PyObject *__pyx_f_5talib_7_ta_lib__stream_open_failed(PyObject *__pyx_v_function_name, TA_RetCode __pyx_v_retCode, int __pyx_v_historylen, int __pyx_v_need) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8[6]; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - size_t __pyx_t_12; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_stream_open_failed", 0); - - - __pyx_t_1 = (__pyx_v_retCode == 17); - - if (__pyx_t_1) { - - - __pyx_t_1 = (__pyx_v_need <= __pyx_v_historylen); - - if (__pyx_t_1) { - - - __pyx_v_need = (__pyx_v_historylen + 1); - - } - - __pyx_t_3 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_InsufficientHistory); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - __pyx_t_5 = __Pyx_PyUnicode_Unicode(__pyx_v_function_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 2482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyUnicode_From_int(__pyx_v_historylen, 0, ' ', 'd'); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 2482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyUnicode_From_int(__pyx_v_need, 0, ' ', 'd'); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 2482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8[0] = __pyx_t_5; - __pyx_t_8[1] = __pyx_mstate_global->__pyx_kp_u__2; - __pyx_t_8[2] = __pyx_t_6; - __pyx_t_8[3] = __pyx_mstate_global->__pyx_kp_u_bars_of_history_at_least; - __pyx_t_8[4] = __pyx_t_7; - __pyx_t_8[5] = __pyx_mstate_global->__pyx_kp_u_needed_a_leading_bar_that_is_Na; - - __pyx_t_9 = 92; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8[0]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8[2]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8[4]); - #endif - __pyx_t_10 = 0; - #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH - __pyx_t_10 |= __Pyx_PyUnicode_KIND_04(__pyx_t_8[0]); - #endif - __pyx_t_11 = __Pyx_PyUnicode_Join(__pyx_t_8, 6, __pyx_t_9, __pyx_t_10); - if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 2481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_12 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - assert(__pyx_t_3); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_4, __pyx__function); - __pyx_t_12 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_11}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_12, (2-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 2480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(3, 2480, __pyx_L1_error) - - } - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_v_function_name, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 2483, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_AddTraceback("talib._ta_lib._stream_open_failed", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static PyObject *__pyx_f_5talib_7_ta_lib__stream_like(PyObject *__pyx_v_sources, PyObject *__pyx_v_result) { - PyObject *__pyx_v_pandas = NULL; - PyObject *__pyx_v_polars = NULL; - PyObject *__pyx_v_s = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - int __pyx_t_6; - size_t __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_stream_like", 0); - - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2487, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (unlikely(__pyx_v_sources == Py_None)) { - PyErr_SetString(PyExc_TypeError, "\047NoneType\047 object is not iterable"); - __PYX_ERR(3, 2487, __pyx_L1_error) - } - __pyx_t_2 = __pyx_v_sources; __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - for (;;) { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 2487, __pyx_L1_error) - #endif - if (__pyx_t_3 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3)); - #else - __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); - #endif - ++__pyx_t_3; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2487, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_XDECREF_SET(__pyx_v_s, __pyx_t_4); - __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PANDAS_SERIES); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2488, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = (__pyx_t_4 != Py_None); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - - } else { - - __pyx_t_5 = __pyx_t_6; - - goto __pyx_L6_bool_binop_done; - } - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PANDAS_SERIES); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2488, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = PyObject_IsInstance(__pyx_v_s, __pyx_t_4); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(3, 2488, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_5 = __pyx_t_6; - - __pyx_L6_bool_binop_done:; - if (__pyx_t_5) { - - - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, __pyx_v_s))) __PYX_ERR(3, 2487, __pyx_L1_error) - - } - - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_pandas = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2489, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (unlikely(__pyx_v_sources == Py_None)) { - PyErr_SetString(PyExc_TypeError, "\047NoneType\047 object is not iterable"); - __PYX_ERR(3, 2489, __pyx_L1_error) - } - __pyx_t_2 = __pyx_v_sources; __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - for (;;) { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 2489, __pyx_L1_error) - #endif - if (__pyx_t_3 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3)); - #else - __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); - #endif - ++__pyx_t_3; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2489, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_XDECREF_SET(__pyx_v_s, __pyx_t_4); - __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_POLARS_SERIES); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = (__pyx_t_4 != Py_None); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - - } else { - - __pyx_t_5 = __pyx_t_6; - - goto __pyx_L12_bool_binop_done; - } - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_POLARS_SERIES); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = PyObject_IsInstance(__pyx_v_s, __pyx_t_4); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(3, 2490, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_5 = __pyx_t_6; - - __pyx_L12_bool_binop_done:; - if (__pyx_t_5) { - - - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, __pyx_v_s))) __PYX_ERR(3, 2489, __pyx_L1_error) - - } - - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_polars = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_pandas); - if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(3, 2491, __pyx_L1_error) - __pyx_t_6 = (__pyx_temp != 0); - } - - if (__pyx_t_6) { - - } else { - - __pyx_t_5 = __pyx_t_6; - - goto __pyx_L16_bool_binop_done; - } - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_polars); - if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(3, 2491, __pyx_L1_error) - __pyx_t_6 = (__pyx_temp != 0); - } - - - __pyx_t_5 = __pyx_t_6; - - __pyx_L16_bool_binop_done:; - if (unlikely(__pyx_t_5)) { - - - __pyx_t_2 = NULL; - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Cannot_mix_polars_and_pandas}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(3, 2492, __pyx_L1_error) - - } - - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_pandas); - if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(3, 2493, __pyx_L1_error) - __pyx_t_5 = (__pyx_temp != 0); - } - - if (__pyx_t_5) { - - - __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PANDAS_SERIES); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2494, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = __Pyx_GetItemInt_List(__pyx_v_pandas, 0, long, 1, __Pyx_PyLong_From_long, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 2494, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_index); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 2494, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_7 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); - assert(__pyx_t_2); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_4, __pyx__function); - __pyx_t_7 = 0; - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_result, __pyx_t_9}; - #if CYTHON_VECTORCALL - __pyx_t_8 = __pyx_mstate_global->__pyx_tuple[2]; - if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 2494, __pyx_L1_error) - __Pyx_INCREF(__pyx_t_8); - #else - { - PyObject *__pyx_temp[1] = {__pyx_mstate_global->__pyx_n_u_index}; - __pyx_t_8 = __Pyx_MakeKwargDict(__pyx_temp, __pyx_callargs+2, 1); - if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 2494, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - } - #endif - __pyx_t_1 = __Pyx_Object_VectorcallKwds((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2494, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_polars); - if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(3, 2495, __pyx_L1_error) - __pyx_t_5 = (__pyx_temp != 0); - } - - if (__pyx_t_5) { - - - __pyx_t_4 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_POLARS_SERIES); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 2496, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8); - assert(__pyx_t_4); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_8, __pyx__function); - __pyx_t_7 = 0; - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_result}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2496, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_v_result); - __pyx_r = __pyx_v_result; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_AddTraceback("talib._ta_lib._stream_like", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_pandas); - __Pyx_XDECREF(__pyx_v_polars); - __Pyx_XDECREF(__pyx_v_s); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_6Stream_1__cinit__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_6Stream_1__cinit__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return -1; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__cinit__", __pyx_kwds); return -1;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_6Stream___cinit__(((struct __pyx_obj_5talib_7_ta_lib_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_6Stream___cinit__(struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self) { - int __pyx_r; - - __pyx_v_self->_handle = NULL; - - - /* function exit code */ - __pyx_r = 0; - - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_6Stream__out_range(CYTHON_UNUSED struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self, CYTHON_UNUSED int *__pyx_v_outbegidx, CYTHON_UNUSED int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_BAD_PARAM; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_6Stream__advance(CYTHON_UNUSED struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_BAD_PARAM; - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_6Stream_9out_range_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_6Stream_9out_range_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_6Stream_9out_range___get__(((struct __pyx_obj_5talib_7_ta_lib_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_6Stream_9out_range___get__(struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self) { - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - int __pyx_v_begidx; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - size_t __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->_mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = ((struct __pyx_vtabstruct_5talib_7_ta_lib_Stream *)__pyx_v_self->__pyx_vtab)->_out_range(__pyx_v_self, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement)); - - __pyx_t_2 = __pyx_v_self->_begidx; - - __pyx_v_begidx = __pyx_t_2; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_3 = (__pyx_v_retCode != 0); - - if (__pyx_t_3) { - - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2530, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_out_range, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 2530, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(((PyObject*)__pyx_t_5), __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2530, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - } - - __pyx_t_5 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_OutRange); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 2531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyLong_From_int((__pyx_v_outbegidx + __pyx_v_begidx)); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 2531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_outnbelement); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 2531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = 1; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - assert(__pyx_t_5); - PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx__function); - __Pyx_DECREF_SET(__pyx_t_6, __pyx__function); - __pyx_t_9 = 0; - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_7, __pyx_t_8}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("talib._ta_lib.Stream.out_range.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_6Stream_3advance(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_6Stream_2advance, "Stream.advance(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_6Stream_3advance(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("advance (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("advance", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("advance", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_6Stream_2advance(((struct __pyx_obj_5talib_7_ta_lib_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_6Stream_2advance(struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self) { - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("advance", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->_mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = ((struct __pyx_vtabstruct_5talib_7_ta_lib_Stream *)__pyx_v_self->__pyx_vtab)->_advance(__pyx_v_self); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_advance, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(((PyObject*)__pyx_t_4), __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.Stream.advance", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_6Stream_5__copy__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_6Stream_4__copy__, "Stream.__copy__(self)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_6Stream_5__copy__ = {"__copy__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_6Stream_5__copy__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_6Stream_4__copy__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_6Stream_5__copy__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__copy__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__copy__", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__copy__", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_6Stream_4__copy__(((struct __pyx_obj_5talib_7_ta_lib_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_6Stream_4__copy__(struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__copy__", 0); - - __pyx_t_2 = ((PyObject *)__pyx_v_self); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_copy, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.Stream.__copy__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_6Stream_7__deepcopy__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_6Stream_6__deepcopy__, "Stream.__deepcopy__(self, memo)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_6Stream_7__deepcopy__ = {"__deepcopy__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_6Stream_7__deepcopy__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_6Stream_6__deepcopy__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_6Stream_7__deepcopy__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - CYTHON_UNUSED PyObject *__pyx_v_memo = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__deepcopy__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_memo,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 2545, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2545, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__deepcopy__", 0) < (0)) __PYX_ERR(3, 2545, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__deepcopy__", 1, 1, 1, i); __PYX_ERR(3, 2545, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2545, __pyx_L3_error) - } - __pyx_v_memo = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__deepcopy__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 2545, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.Stream.__deepcopy__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_6Stream_6__deepcopy__(((struct __pyx_obj_5talib_7_ta_lib_Stream *)__pyx_v_self), __pyx_v_memo); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_6Stream_6__deepcopy__(struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_memo) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__deepcopy__", 0); - - __pyx_t_2 = ((PyObject *)__pyx_v_self); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_copy, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2546, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.Stream.__deepcopy__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_6Stream_9__reduce__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_6Stream_8__reduce__, "Stream.__reduce__(self)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_6Stream_9__reduce__ = {"__reduce__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_6Stream_9__reduce__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_6Stream_8__reduce__}; -static PyObject *__pyx_pw_5talib_7_ta_lib_6Stream_9__reduce__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__reduce__ (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce__", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce__", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_6Stream_8__reduce__(((struct __pyx_obj_5talib_7_ta_lib_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_6Stream_8__reduce__(struct __pyx_obj_5talib_7_ta_lib_Stream *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - size_t __pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__reduce__", 0); - - __pyx_t_2 = NULL; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2551, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_cannot_pickle_s_a_stream_handle, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2551, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_5 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4}; - __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2549, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(3, 2549, __pyx_L1_error) - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.Stream.__reduce__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_9AC_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_9AC_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_9AC_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_AC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_9AC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_AC_Close(((TA_AC_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_9AC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_9AC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_signalperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_signalperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 2576, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 2576, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 2576, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 2576, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2576, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2576, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 2576, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 5, i); __PYX_ERR(3, 2576, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 2576, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 2576, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 2576, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2576, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2576, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 2576, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 2576, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 2576, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 5, __pyx_nargs); __PYX_ERR(3, 2576, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AC_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_AC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_9AC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_AC_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2577, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2578, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 2579, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 2579, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 2580, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 2581, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 2582, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 2587, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_AC_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod) + 1); - - __pyx_v_retCode = TA_AC_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_AC_Close(((TA_AC_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AC_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2604, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.AC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9AC_Stream_4open_and_fill, "AC_Stream.open_and_fill(high, low, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int signalperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_9AC_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AC_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_9AC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_signalperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_signalperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 2606, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 2606, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 2606, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 2606, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2606, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2606, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 2606, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 5, i); __PYX_ERR(3, 2606, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 2606, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 2606, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 2606, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2606, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2606, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 2607, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 2607, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 2607, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 5, __pyx_nargs); __PYX_ERR(3, 2606, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AC_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AC_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_AC_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2608, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2609, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2610, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 2610, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 2610, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 2611, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 2612, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 2613, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_AC_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AC_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2619, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 2621, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AC_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2625, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AC_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AC_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2636, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2637, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 2637, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 2637, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 2637, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2637, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 2637, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 2637, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.AC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9AC_Stream_6update, "AC_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9AC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 2639, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2639, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2639, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 2639, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 2639, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2639, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2639, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 2640, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 2640, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 2639, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AC_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_AC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AC_Update(((TA_AC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AC_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2647, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2648, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9AC_Stream_8peek, "AC_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9AC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 2650, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2650, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2650, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 2650, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 2650, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2650, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2650, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 2651, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 2651, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 2650, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AC_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_AC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AC_Peek(((TA_AC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AC_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2658, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2659, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AC_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AC_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AC_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_AC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AC_Value(((TA_AC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AC_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2669, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2670, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AC_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9AC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AC_OutRange(((TA_AC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9AC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AC_Advance(((TA_AC_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9AC_Stream_10copy, "AC_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9AC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AC_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_AC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_self) { - TA_AC_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_AC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AC_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2681, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AC_Stream))))) __PYX_ERR(3, 2681, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_AC_Clone(((TA_AC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AC_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2691, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.AC_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ACCBANDS_Close(((TA_ACCBANDS_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 2717, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 2717, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 2717, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2717, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2717, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 2717, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, i); __PYX_ERR(3, 2717, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 2717, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 2717, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2717, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2717, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 2717, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 2717, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ACCBANDS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ACCBANDS_Stream *__pyx_v_handle; - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2718, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2719, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2720, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2721, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 2721, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 2721, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 2721, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 2722, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 2723, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 2724, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 2731, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ACCBANDS_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_ACCBANDS_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ACCBANDS_Close(((TA_ACCBANDS_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ACCBANDS_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2748, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ACCBANDS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15ACCBANDS_Stream_4open_and_fill, "ACCBANDS_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15ACCBANDS_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15ACCBANDS_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 2750, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 2750, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 2750, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2750, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2750, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 2750, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, i); __PYX_ERR(3, 2750, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 2750, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 2750, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2750, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2750, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 2751, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 2750, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ACCBANDS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outupperband = 0; - PyArrayObject *__pyx_v_outmiddleband = 0; - PyArrayObject *__pyx_v_outlowerband = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ACCBANDS_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2752, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2753, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2754, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2755, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 2755, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 2755, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 2755, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 2756, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 2757, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 2758, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ACCBANDS_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2766, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 2768, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ACCBANDS_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2772, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outupperband = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2773, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmiddleband = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2774, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outlowerband = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ACCBANDS_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outupperband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmiddleband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outlowerband)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ACCBANDS_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2786, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outupperband)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 2786, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2786, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmiddleband)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 2786, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2786, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __pyx_t_15 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outlowerband)); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 2786, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2786, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_15); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_15) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 2786, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 2786, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_15; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_15 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("talib._ta_lib.ACCBANDS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outupperband); - __Pyx_XDECREF((PyObject *)__pyx_v_outmiddleband); - __Pyx_XDECREF((PyObject *)__pyx_v_outlowerband); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15ACCBANDS_Stream_6update, "ACCBANDS_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 2788, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 2788, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2788, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2788, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 2788, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 2788, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2788, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2788, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 2788, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 2789, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 2789, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 2789, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 2788, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ACCBANDS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ACCBANDS_Update(((TA_ACCBANDS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ACCBANDS_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outupperband); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2799, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmiddleband); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2799, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outlowerband); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 2799, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 2799, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 2799, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 2799, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 2799, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.ACCBANDS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15ACCBANDS_Stream_8peek, "ACCBANDS_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 2801, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 2801, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2801, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2801, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 2801, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 2801, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2801, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 2801, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 2801, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 2802, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 2802, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 2802, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 2801, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ACCBANDS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ACCBANDS_Peek(((TA_ACCBANDS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ACCBANDS_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outupperband); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2812, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmiddleband); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2812, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outlowerband); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 2812, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 2812, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 2812, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 2812, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 2812, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.ACCBANDS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self) { - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ACCBANDS_Value(((TA_ACCBANDS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ACCBANDS_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outupperband); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmiddleband); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outlowerband); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 2825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 2825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 2825, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 2825, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 2825, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.ACCBANDS_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15ACCBANDS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ACCBANDS_OutRange(((TA_ACCBANDS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15ACCBANDS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ACCBANDS_Advance(((TA_ACCBANDS_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15ACCBANDS_Stream_10copy, "ACCBANDS_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15ACCBANDS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_self) { - TA_ACCBANDS_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2836, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream))))) __PYX_ERR(3, 2836, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ACCBANDS_Clone(((TA_ACCBANDS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ACCBANDS_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2846, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ACCBANDS_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11ACOS_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11ACOS_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11ACOS_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11ACOS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ACOS_Close(((TA_ACOS_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11ACOS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11ACOS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 2868, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2868, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 2868, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 2868, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2868, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 2868, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ACOS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ACOS_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11ACOS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ACOS_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2869, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2870, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 2870, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 2871, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 2872, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 2873, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 2878, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ACOS_Lookback() + 1); - - __pyx_v_retCode = TA_ACOS_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ACOS_Close(((TA_ACOS_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ACOS_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2895, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ACOS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ACOS_Stream_4open_and_fill, "ACOS_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11ACOS_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ACOS_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 2897, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2897, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 2897, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 2897, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2897, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 2897, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ACOS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ACOS_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ACOS_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ACOS_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2899, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2900, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 2900, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 2901, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 2902, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 2903, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ACOS_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2909, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 2911, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ACOS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2915, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ACOS_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ACOS_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2926, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2927, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 2927, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 2927, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2927, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 2927, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 2927, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ACOS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ACOS_Stream_6update, "ACOS_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 2929, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2929, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 2929, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 2929, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2929, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 2930, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 2929, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ACOS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ACOS_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ACOS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ACOS_Update(((TA_ACOS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ACOS_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2937, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2938, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ACOS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ACOS_Stream_8peek, "ACOS_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 2940, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2940, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 2940, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 2940, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 2940, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 2941, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 2940, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ACOS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ACOS_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ACOS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ACOS_Peek(((TA_ACOS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ACOS_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2948, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ACOS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ACOS_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ACOS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ACOS_Value(((TA_ACOS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ACOS_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 2960, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ACOS_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ACOS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ACOS_OutRange(((TA_ACOS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ACOS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ACOS_Advance(((TA_ACOS_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ACOS_Stream_10copy, "ACOS_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ACOS_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ACOS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_self) { - TA_ACOS_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2971, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream))))) __PYX_ERR(3, 2971, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ACOS_Clone(((TA_ACOS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ACOS_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2981, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ACOS_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_9AD_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_9AD_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_9AD_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_AD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_9AD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_AD_Close(((TA_AD_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_9AD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_9AD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3003, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3003, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3003, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3003, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3003, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 3003, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 3003, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3003, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3003, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3003, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3003, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - __pyx_v_volume = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 3003, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AD_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_AD_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_9AD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_AD_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3004, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3005, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3006, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3007, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3008, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 3008, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 3008, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 3008, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 3008, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3009, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3010, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3011, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3016, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_AD_Lookback() + 1); - - __pyx_v_retCode = TA_AD_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_AD_Close(((TA_AD_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AD_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3033, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.AD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9AD_Stream_4open_and_fill, "AD_Stream.open_and_fill(high, low, close, volume)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_9AD_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AD_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_9AD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3035, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3035, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3035, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3035, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3035, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 3035, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 3035, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3035, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3035, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3035, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3035, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - __pyx_v_volume = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 3035, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AD_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AD_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_AD_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3037, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3038, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3039, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3040, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3041, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 3041, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 3041, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 3041, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 3041, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3042, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3043, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3044, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_AD_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AD_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3050, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3052, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AD_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3056, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AD_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AD_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3067, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3068, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 3068, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 3068, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 3068, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_volume) != (0)) __PYX_ERR(3, 3068, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 3068, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3068, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 3068, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 3068, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.AD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9AD_Stream_6update, "AD_Stream.update(self, double high, double low, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9AD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3070, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3070, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3070, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3070, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3070, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 3070, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 3070, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3070, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3070, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3070, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3070, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3071, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3071, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3071, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3071, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 3070, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AD_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_AD_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AD_Update(((TA_AD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AD_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3078, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3079, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9AD_Stream_8peek, "AD_Stream.peek(self, double high, double low, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9AD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3081, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3081, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3081, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3081, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3081, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 3081, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 3081, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3081, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3081, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3081, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3081, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3082, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3082, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3082, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3082, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 3081, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AD_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_AD_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AD_Peek(((TA_AD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AD_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3089, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3090, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AD_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AD_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AD_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_AD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AD_Value(((TA_AD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AD_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AD_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9AD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AD_OutRange(((TA_AD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9AD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AD_Advance(((TA_AD_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9AD_Stream_10copy, "AD_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9AD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AD_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_AD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_self) { - TA_AD_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_AD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AD_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3112, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AD_Stream))))) __PYX_ERR(3, 3112, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_AD_Clone(((TA_AD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AD_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3122, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.AD_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10ADD_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10ADD_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10ADD_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10ADD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ADD_Close(((TA_ADD_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10ADD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10ADD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real0 = 0; - PyObject *__pyx_v_real1 = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3145, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3145, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3145, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 3145, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(3, 3145, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3145, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3145, __pyx_L3_error) - } - __pyx_v_real0 = values[0]; - __pyx_v_real1 = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 3145, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADD_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10ADD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self, PyObject *__pyx_v_real0, PyObject *__pyx_v_real1) { - PyArrayObject *__pyx_v_a_real0 = 0; - PyArrayObject *__pyx_v_a_real1 = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ADD_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real0 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real1 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3148, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real0); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real0)) != (0)) __PYX_ERR(3, 3148, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_real1); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_real1)) != (0)) __PYX_ERR(3, 3148, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3149, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3150, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3151, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3156, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ADD_Lookback() + 1); - - __pyx_v_retCode = TA_ADD_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real1)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ADD_Close(((TA_ADD_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ADD_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ADD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_a_real1); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ADD_Stream_4open_and_fill, "ADD_Stream.open_and_fill(real0, real1)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10ADD_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADD_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real0 = 0; - PyObject *__pyx_v_real1 = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3175, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3175, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3175, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 3175, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, i); __PYX_ERR(3, 3175, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3175, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3175, __pyx_L3_error) - } - __pyx_v_real0 = values[0]; - __pyx_v_real1 = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 3175, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADD_Stream_4open_and_fill(__pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADD_Stream_4open_and_fill(PyObject *__pyx_v_real0, PyObject *__pyx_v_real1) { - PyArrayObject *__pyx_v_a_real0 = 0; - PyArrayObject *__pyx_v_a_real1 = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ADD_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3177, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real0 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real1 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3179, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real0); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real0)) != (0)) __PYX_ERR(3, 3179, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_real1); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_real1)) != (0)) __PYX_ERR(3, 3179, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3180, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3181, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3182, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ADD_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADD_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3190, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ADD_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3194, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ADD_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real1)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ADD_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real0); - __Pyx_GIVEREF(__pyx_v_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real0) != (0)) __PYX_ERR(3, 3206, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_real1); - __Pyx_GIVEREF(__pyx_v_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_real1) != (0)) __PYX_ERR(3, 3206, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 3206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 3206, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 3206, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ADD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_a_real1); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ADD_Stream_6update, "ADD_Stream.update(self, double real0, double real1)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real0; - double __pyx_v_real1; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3208, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3208, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3208, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 3208, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 3208, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3208, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3208, __pyx_L3_error) - } - __pyx_v_real0 = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3209, __pyx_L3_error) - __pyx_v_real1 = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_real1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3209, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 3208, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADD_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADD_Update(((TA_ADD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real0, __pyx_v_real1, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADD_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3217, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ADD_Stream_8peek, "ADD_Stream.peek(self, double real0, double real1)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real0; - double __pyx_v_real1; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3219, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3219, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3219, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 3219, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 3219, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3219, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3219, __pyx_L3_error) - } - __pyx_v_real0 = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3220, __pyx_L3_error) - __pyx_v_real1 = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_real1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3220, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 3219, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADD_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADD_Peek(((TA_ADD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real0, __pyx_v_real1, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADD_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADD_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADD_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADD_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADD_Value(((TA_ADD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADD_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3238, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3239, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADD_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ADD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ADD_OutRange(((TA_ADD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ADD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ADD_Advance(((TA_ADD_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ADD_Stream_10copy, "ADD_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADD_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_self) { - TA_ADD_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADD_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADD_Stream))))) __PYX_ERR(3, 3250, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ADD_Clone(((TA_ADD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADD_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3260, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ADD_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_12ADOSC_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_12ADOSC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ADOSC_Close(((TA_ADOSC_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[6] = {0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3285, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 3285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 3285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 3285, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 6, i); __PYX_ERR(3, 3285, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 3285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 3285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3285, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3285, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3285, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3285, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - __pyx_v_volume = values[3]; - if (values[4]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3285, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3285, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 6, __pyx_nargs); __PYX_ERR(3, 3285, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADOSC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, __pyx_v_fastperiod, __pyx_v_slowperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_fastperiod, int __pyx_v_slowperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ADOSC_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3286, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3287, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3289, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3290, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 3290, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 3290, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 3290, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 3290, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3291, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3292, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3293, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3298, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ADOSC_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod) + 1); - - __pyx_v_retCode = TA_ADOSC_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ADOSC_Close(((TA_ADOSC_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ADOSC_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ADOSC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12ADOSC_Stream_4open_and_fill, "ADOSC_Stream.open_and_fill(high, low, close, volume, int fastperiod=-0x80000000, int slowperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_12ADOSC_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12ADOSC_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[6] = {0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3317, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 3317, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 3317, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3317, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3317, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3317, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3317, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 3317, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 6, i); __PYX_ERR(3, 3317, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 3317, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 3317, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3317, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3317, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3317, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3317, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - __pyx_v_volume = values[3]; - if (values[4]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3318, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3318, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 6, __pyx_nargs); __PYX_ERR(3, 3317, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADOSC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, __pyx_v_fastperiod, __pyx_v_slowperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_fastperiod, int __pyx_v_slowperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ADOSC_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3319, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3320, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3321, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3323, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 3323, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 3323, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 3323, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 3323, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3324, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3325, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3326, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ADOSC_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3334, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ADOSC_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3338, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ADOSC_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ADOSC_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3349, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3350, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 3350, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 3350, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 3350, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_volume) != (0)) __PYX_ERR(3, 3350, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 3350, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3350, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 3350, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 3350, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ADOSC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12ADOSC_Stream_6update, "ADOSC_Stream.update(self, double high, double low, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3352, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 3352, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 3352, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3352, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3352, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3352, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3352, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3353, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3353, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3353, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3353, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 3352, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADOSC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADOSC_Update(((TA_ADOSC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADOSC_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADOSC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12ADOSC_Stream_8peek, "ADOSC_Stream.peek(self, double high, double low, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3363, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3363, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3363, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3363, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3363, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 3363, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 3363, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3363, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3363, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3363, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3363, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3364, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3364, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3364, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3364, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 3363, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADOSC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADOSC_Peek(((TA_ADOSC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADOSC_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3371, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3372, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADOSC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADOSC_Value(((TA_ADOSC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADOSC_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3383, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADOSC_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12ADOSC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ADOSC_OutRange(((TA_ADOSC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12ADOSC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ADOSC_Advance(((TA_ADOSC_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12ADOSC_Stream_10copy, "ADOSC_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12ADOSC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_self) { - TA_ADOSC_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3394, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream))))) __PYX_ERR(3, 3394, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ADOSC_Clone(((TA_ADOSC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADOSC_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3404, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ADOSC_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10ADR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10ADR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10ADR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10ADR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ADR_Close(((TA_ADR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10ADR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10ADR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3428, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 3428, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, i); __PYX_ERR(3, 3428, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3428, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3428, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3428, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 3428, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10ADR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ADR_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3429, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 3431, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 3431, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3432, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3433, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3434, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3439, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ADR_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_ADR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ADR_Close(((TA_ADR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ADR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ADR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ADR_Stream_4open_and_fill, "ADR_Stream.open_and_fill(high, low, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10ADR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3458, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3458, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3458, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3458, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 3458, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, i); __PYX_ERR(3, 3458, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3458, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3458, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3458, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3459, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 3458, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADR_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADR_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ADR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3460, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3461, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 3462, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 3462, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3463, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3464, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3465, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ADR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3471, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3473, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ADR_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3477, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ADR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ADR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3488, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3489, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 3489, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 3489, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 3489, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3489, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 3489, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 3489, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ADR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ADR_Stream_6update, "ADR_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3491, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3491, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3491, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 3491, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 3491, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3491, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3491, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3492, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3492, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 3491, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADR_Update(((TA_ADR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3499, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3500, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ADR_Stream_8peek, "ADR_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3502, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3502, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3502, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 3502, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 3502, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3502, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3502, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3503, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3503, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 3502, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADR_Peek(((TA_ADR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3510, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3511, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADR_Value(((TA_ADR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3521, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ADR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ADR_OutRange(((TA_ADR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ADR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ADR_Advance(((TA_ADR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ADR_Stream_10copy, "ADR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_self) { - TA_ADR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3533, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADR_Stream))))) __PYX_ERR(3, 3533, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ADR_Clone(((TA_ADR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ADR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10ADX_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10ADX_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10ADX_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10ADX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ADX_Close(((TA_ADX_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10ADX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10ADX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3567, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3567, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3567, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3567, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3567, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 3567, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, i); __PYX_ERR(3, 3567, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3567, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3567, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3567, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3567, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3567, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 3567, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADX_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10ADX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ADX_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3568, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3569, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3570, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3571, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 3571, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 3571, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 3571, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3572, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3573, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3574, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3579, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ADX_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_ADX_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ADX_Close(((TA_ADX_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ADX_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3596, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ADX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ADX_Stream_4open_and_fill, "ADX_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10ADX_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADX_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3598, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3598, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3598, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3598, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3598, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 3598, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, i); __PYX_ERR(3, 3598, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3598, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3598, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3598, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3598, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3599, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 3598, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADX_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADX_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ADX_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3602, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3603, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 3603, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 3603, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 3603, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3604, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3605, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3606, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ADX_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADX_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3612, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3614, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ADX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3618, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ADX_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ADX_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3629, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3630, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 3630, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 3630, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 3630, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 3630, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3630, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 3630, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 3630, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ADX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ADX_Stream_6update, "ADX_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3632, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3632, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3632, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3632, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 3632, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 3632, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3632, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3632, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3632, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3633, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3633, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3633, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 3632, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADX_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADX_Update(((TA_ADX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADX_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3640, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ADX_Stream_8peek, "ADX_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3643, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3643, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3643, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3643, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 3643, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 3643, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3643, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3643, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3643, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3644, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3644, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3644, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 3643, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADX_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADX_Peek(((TA_ADX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADX_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3652, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADX_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADX_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADX_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADX_Value(((TA_ADX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADX_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3662, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3663, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADX_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ADX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ADX_OutRange(((TA_ADX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ADX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ADX_Advance(((TA_ADX_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ADX_Stream_10copy, "ADX_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ADX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ADX_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ADX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_self) { - TA_ADX_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADX_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADX_Stream))))) __PYX_ERR(3, 3674, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ADX_Clone(((TA_ADX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADX_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ADX_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11ADXR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11ADXR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11ADXR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11ADXR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ADXR_Close(((TA_ADXR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11ADXR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11ADXR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3708, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3708, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3708, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3708, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3708, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 3708, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, i); __PYX_ERR(3, 3708, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3708, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3708, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3708, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3708, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3708, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 3708, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADXR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ADXR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11ADXR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ADXR_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3709, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3711, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3712, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 3712, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 3712, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 3712, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3713, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3714, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3715, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3720, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ADXR_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_ADXR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ADXR_Close(((TA_ADXR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ADXR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3737, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ADXR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ADXR_Stream_4open_and_fill, "ADXR_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11ADXR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ADXR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3739, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3739, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3739, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3739, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3739, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 3739, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, i); __PYX_ERR(3, 3739, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3739, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3739, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3739, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3739, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3740, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 3739, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADXR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ADXR_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ADXR_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ADXR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3741, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3742, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3743, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 3744, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 3744, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 3744, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3745, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3746, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3747, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ADXR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3753, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3755, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ADXR_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3759, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ADXR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ADXR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3770, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3771, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 3771, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 3771, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 3771, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 3771, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3771, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 3771, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 3771, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ADXR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ADXR_Stream_6update, "ADXR_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3773, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3773, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3773, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3773, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 3773, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 3773, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3773, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3773, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3773, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3774, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3774, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3774, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 3773, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADXR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ADXR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ADXR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADXR_Update(((TA_ADXR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADXR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3782, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADXR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ADXR_Stream_8peek, "ADXR_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3784, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3784, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3784, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3784, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 3784, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 3784, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3784, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3784, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3784, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3785, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3785, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3785, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 3784, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ADXR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ADXR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ADXR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADXR_Peek(((TA_ADXR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADXR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3792, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3793, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADXR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ADXR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ADXR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ADXR_Value(((TA_ADXR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADXR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3803, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3804, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ADXR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ADXR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ADXR_OutRange(((TA_ADXR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ADXR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ADXR_Advance(((TA_ADXR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ADXR_Stream_10copy, "ADXR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ADXR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ADXR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_self) { - TA_ADXR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3815, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream))))) __PYX_ERR(3, 3815, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ADXR_Clone(((TA_ADXR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ADXR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ADXR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_9AO_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_9AO_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_9AO_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_AO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_9AO_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_AO_Close(((TA_AO_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_9AO_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_9AO_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3850, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3850, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3850, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3850, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3850, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 3850, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, i); __PYX_ERR(3, 3850, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3850, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3850, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3850, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3850, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3850, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3850, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, __pyx_nargs); __PYX_ERR(3, 3850, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AO_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AO_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_AO_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_fastperiod, __pyx_v_slowperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_9AO_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_AO_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3851, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3852, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3853, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 3853, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 3853, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3854, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3855, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3856, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3861, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_AO_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod) + 1); - - __pyx_v_retCode = TA_AO_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_AO_Close(((TA_AO_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AO_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3878, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.AO_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AO_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9AO_Stream_4open_and_fill, "AO_Stream.open_and_fill(high, low, int fastperiod=-0x80000000, int slowperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_9AO_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AO_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AO_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_9AO_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3880, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3880, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3880, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3880, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3880, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 3880, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 4, i); __PYX_ERR(3, 3880, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3880, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3880, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3880, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3880, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3881, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3881, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 4, __pyx_nargs); __PYX_ERR(3, 3880, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AO_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AO_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_fastperiod, __pyx_v_slowperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AO_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_AO_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3883, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3884, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 3884, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 3884, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3885, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3886, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3887, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_AO_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AO_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3893, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AO_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 3895, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AO_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3899, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AO_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AO_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3910, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3911, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 3911, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 3911, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 3911, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3911, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 3911, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 3911, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.AO_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AO_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9AO_Stream_6update, "AO_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9AO_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3913, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3913, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3913, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 3913, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 3913, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3913, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3913, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3914, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3914, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 3913, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AO_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AO_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_AO_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AO_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AO_Update(((TA_AO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AO_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3921, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3922, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AO_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AO_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9AO_Stream_8peek, "AO_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9AO_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3924, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3924, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3924, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 3924, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 3924, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3924, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3924, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3925, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 3925, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 3924, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AO_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AO_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_AO_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AO_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AO_Peek(((TA_AO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AO_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3932, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AO_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AO_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AO_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AO_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_AO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AO_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AO_Value(((TA_AO_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AO_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3943, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 3944, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AO_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9AO_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AO_OutRange(((TA_AO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9AO_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AO_Advance(((TA_AO_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9AO_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9AO_Stream_10copy, "AO_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9AO_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_9AO_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_AO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9AO_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_self) { - TA_AO_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_AO_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AO_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3955, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AO_Stream))))) __PYX_ERR(3, 3955, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AO_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_AO_Clone(((TA_AO_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AO_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3965, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.AO_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10APO_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10APO_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10APO_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_APO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10APO_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_APO_Close(((TA_APO_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10APO_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10APO_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 3991, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 3991, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, i); __PYX_ERR(3, 3991, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 3991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 3991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 3991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 3991, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3991, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3991, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 3991, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)1); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, __pyx_nargs); __PYX_ERR(3, 3991, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.APO_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10APO_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_APO_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10APO_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_APO_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3992, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3993, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 3993, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 3994, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 3995, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 3996, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4001, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_APO_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype) + 1); - - __pyx_v_retCode = TA_APO_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_APO_Close(((TA_APO_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_APO_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4018, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.APO_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10APO_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10APO_Stream_4open_and_fill, "APO_Stream.open_and_fill(real, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int matype=1)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10APO_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10APO_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10APO_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10APO_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4020, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 4020, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4020, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4020, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4020, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 4020, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 4, i); __PYX_ERR(3, 4020, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 4020, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4020, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4020, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4020, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 4021, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 4021, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 4021, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)1); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 4, __pyx_nargs); __PYX_ERR(3, 4020, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.APO_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10APO_Stream_4open_and_fill(__pyx_v_real, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10APO_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_APO_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4022, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4023, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 4023, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4024, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4025, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4026, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_APO_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_APO_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4032, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_APO_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4034, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_APO_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4038, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_APO_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_APO_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4049, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4050, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 4050, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 4050, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4050, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 4050, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 4050, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.APO_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10APO_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10APO_Stream_6update, "APO_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10APO_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4052, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 4052, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 4052, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4052, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4053, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 4052, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.APO_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10APO_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_APO_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10APO_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_APO_Update(((TA_APO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_APO_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4060, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4061, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.APO_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10APO_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10APO_Stream_8peek, "APO_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10APO_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4063, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4063, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 4063, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 4063, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4063, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4064, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 4063, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.APO_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10APO_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_APO_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10APO_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_APO_Peek(((TA_APO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_APO_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4071, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4072, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.APO_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10APO_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10APO_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10APO_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_APO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10APO_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_APO_Value(((TA_APO_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_APO_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4082, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.APO_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10APO_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_APO_OutRange(((TA_APO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10APO_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_APO_Advance(((TA_APO_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10APO_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10APO_Stream_10copy, "APO_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10APO_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10APO_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_APO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10APO_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_self) { - TA_APO_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_APO_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_APO_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4094, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_APO_Stream))))) __PYX_ERR(3, 4094, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_APO_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_APO_Clone(((TA_APO_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_APO_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.APO_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_12AROON_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_12AROON_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_12AROON_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_12AROON_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_AROON_Close(((TA_AROON_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_12AROON_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_12AROON_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4129, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4129, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4129, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4129, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 4129, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, i); __PYX_ERR(3, 4129, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4129, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4129, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4129, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 4129, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 4129, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AROON_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12AROON_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_12AROON_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_AROON_Stream *__pyx_v_handle; - double __pyx_v_outaroondown; - double __pyx_v_outaroonup; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4130, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 4132, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 4132, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4133, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4134, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4135, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4141, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_AROON_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_AROON_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outaroondown), (&__pyx_v_outaroonup)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_AROON_Close(((TA_AROON_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AROON_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.AROON_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12AROON_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12AROON_Stream_4open_and_fill, "AROON_Stream.open_and_fill(high, low, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_12AROON_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12AROON_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12AROON_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_12AROON_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4160, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4160, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4160, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4160, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 4160, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, i); __PYX_ERR(3, 4160, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4160, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4160, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4160, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 4161, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 4160, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AROON_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12AROON_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12AROON_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outaroondown = 0; - PyArrayObject *__pyx_v_outaroonup = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_AROON_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 4164, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 4164, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4165, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4166, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4167, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_AROON_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROON_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4174, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4176, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AROON_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4180, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outaroondown = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4181, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outaroonup = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AROON_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outaroondown)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outaroonup)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AROON_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4192, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 4193, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 4193, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outaroondown)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 4193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 4193, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 4193, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outaroonup)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 4193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 4193, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 4193, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 4193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 4193, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 4193, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_14; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_14 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib.AROON_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outaroondown); - __Pyx_XDECREF((PyObject *)__pyx_v_outaroonup); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12AROON_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12AROON_Stream_6update, "AROON_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12AROON_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4195, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4195, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4195, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 4195, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 4195, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4195, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4195, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4196, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4196, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 4195, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AROON_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12AROON_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12AROON_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outaroondown; - double __pyx_v_outaroonup; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AROON_Update(((TA_AROON_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outaroondown), (&__pyx_v_outaroonup)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AROON_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outaroondown); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outaroonup); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 4205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 4205, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 4205, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.AROON_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12AROON_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12AROON_Stream_8peek, "AROON_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12AROON_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4207, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4207, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4207, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 4207, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 4207, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4207, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4207, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4208, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4208, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 4207, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AROON_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12AROON_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12AROON_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outaroondown; - double __pyx_v_outaroonup; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AROON_Peek(((TA_AROON_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outaroondown), (&__pyx_v_outaroonup)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AROON_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outaroondown); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4217, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outaroonup); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4217, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 4217, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 4217, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 4217, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.AROON_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12AROON_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_12AROON_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_12AROON_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12AROON_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self) { - double __pyx_v_outaroondown; - double __pyx_v_outaroonup; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AROON_Value(((TA_AROON_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outaroondown), (&__pyx_v_outaroonup)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AROON_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outaroondown); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outaroonup); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 4229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 4229, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 4229, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.AROON_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12AROON_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AROON_OutRange(((TA_AROON_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12AROON_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AROON_Advance(((TA_AROON_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12AROON_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12AROON_Stream_10copy, "AROON_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12AROON_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_12AROON_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12AROON_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_self) { - TA_AROON_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROON_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROON_Stream))))) __PYX_ERR(3, 4240, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_AROON_Clone(((TA_AROON_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AROON_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.AROON_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_AROONOSC_Close(((TA_AROONOSC_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4274, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4274, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4274, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4274, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 4274, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, i); __PYX_ERR(3, 4274, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4274, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4274, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4274, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 4274, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 4274, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AROONOSC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_AROONOSC_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4275, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4277, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 4277, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 4277, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4278, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4279, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4280, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4285, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_AROONOSC_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_AROONOSC_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_AROONOSC_Close(((TA_AROONOSC_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AROONOSC_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4302, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.AROONOSC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15AROONOSC_Stream_4open_and_fill, "AROONOSC_Stream.open_and_fill(high, low, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15AROONOSC_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15AROONOSC_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4304, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4304, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4304, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4304, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 4304, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, i); __PYX_ERR(3, 4304, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4304, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4304, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4304, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 4305, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 4304, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AROONOSC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_AROONOSC_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4306, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4308, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 4308, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 4308, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4309, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4310, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4311, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_AROONOSC_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4317, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4319, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AROONOSC_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4323, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AROONOSC_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AROONOSC_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4334, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 4335, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 4335, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 4335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 4335, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 4335, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.AROONOSC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15AROONOSC_Stream_6update, "AROONOSC_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4337, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4337, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4337, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 4337, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 4337, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4337, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4337, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4338, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4338, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 4337, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AROONOSC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AROONOSC_Update(((TA_AROONOSC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AROONOSC_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4345, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AROONOSC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15AROONOSC_Stream_8peek, "AROONOSC_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4348, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4348, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4348, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 4348, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 4348, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4348, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4348, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4349, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4349, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 4348, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AROONOSC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AROONOSC_Peek(((TA_AROONOSC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AROONOSC_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4356, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4357, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AROONOSC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AROONOSC_Value(((TA_AROONOSC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AROONOSC_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4368, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AROONOSC_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15AROONOSC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AROONOSC_OutRange(((TA_AROONOSC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15AROONOSC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AROONOSC_Advance(((TA_AROONOSC_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15AROONOSC_Stream_10copy, "AROONOSC_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15AROONOSC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_self) { - TA_AROONOSC_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4379, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream))))) __PYX_ERR(3, 4379, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_AROONOSC_Clone(((TA_AROONOSC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AROONOSC_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4389, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.AROONOSC_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11ASIN_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11ASIN_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11ASIN_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11ASIN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ASIN_Close(((TA_ASIN_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11ASIN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11ASIN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4411, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4411, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 4411, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 4411, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4411, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 4411, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ASIN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ASIN_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11ASIN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ASIN_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4413, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 4413, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4414, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4415, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4416, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4421, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ASIN_Lookback() + 1); - - __pyx_v_retCode = TA_ASIN_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ASIN_Close(((TA_ASIN_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ASIN_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4438, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ASIN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ASIN_Stream_4open_and_fill, "ASIN_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11ASIN_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ASIN_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4440, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4440, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 4440, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 4440, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4440, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 4440, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ASIN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ASIN_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ASIN_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ASIN_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4442, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4443, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 4443, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4444, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4445, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4446, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ASIN_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4452, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4454, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ASIN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4458, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ASIN_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ASIN_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4469, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4470, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 4470, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 4470, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4470, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 4470, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 4470, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ASIN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ASIN_Stream_6update, "ASIN_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4472, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4472, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 4472, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 4472, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4472, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4473, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 4472, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ASIN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ASIN_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ASIN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ASIN_Update(((TA_ASIN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ASIN_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ASIN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ASIN_Stream_8peek, "ASIN_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4483, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4483, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 4483, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 4483, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4483, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4484, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 4483, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ASIN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ASIN_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ASIN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ASIN_Peek(((TA_ASIN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ASIN_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4491, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ASIN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ASIN_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ASIN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ASIN_Value(((TA_ASIN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ASIN_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4502, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4503, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ASIN_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ASIN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ASIN_OutRange(((TA_ASIN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ASIN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ASIN_Advance(((TA_ASIN_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ASIN_Stream_10copy, "ASIN_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ASIN_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ASIN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_self) { - TA_ASIN_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4514, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream))))) __PYX_ERR(3, 4514, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ASIN_Clone(((TA_ASIN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ASIN_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4524, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ASIN_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11ATAN_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11ATAN_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11ATAN_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11ATAN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ATAN_Close(((TA_ATAN_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11ATAN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11ATAN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4546, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4546, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 4546, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 4546, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4546, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 4546, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ATAN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ATAN_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11ATAN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ATAN_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4547, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4548, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 4548, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4549, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4550, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4551, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4556, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ATAN_Lookback() + 1); - - __pyx_v_retCode = TA_ATAN_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ATAN_Close(((TA_ATAN_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ATAN_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4573, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ATAN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ATAN_Stream_4open_and_fill, "ATAN_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11ATAN_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ATAN_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4575, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4575, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 4575, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 4575, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4575, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 4575, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ATAN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ATAN_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ATAN_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ATAN_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4577, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4578, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 4578, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4579, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4580, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4581, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ATAN_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4587, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4589, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ATAN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4593, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ATAN_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ATAN_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4604, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4605, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 4605, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 4605, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4605, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 4605, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 4605, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ATAN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ATAN_Stream_6update, "ATAN_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4607, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4607, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 4607, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 4607, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4607, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4608, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 4607, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ATAN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ATAN_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ATAN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ATAN_Update(((TA_ATAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ATAN_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4615, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4616, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ATAN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ATAN_Stream_8peek, "ATAN_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4618, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 4618, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 4618, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4618, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4619, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 4618, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ATAN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ATAN_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ATAN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ATAN_Peek(((TA_ATAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ATAN_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4626, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4627, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ATAN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ATAN_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ATAN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ATAN_Value(((TA_ATAN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ATAN_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4637, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4638, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ATAN_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ATAN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ATAN_OutRange(((TA_ATAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ATAN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ATAN_Advance(((TA_ATAN_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ATAN_Stream_10copy, "ATAN_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ATAN_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ATAN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_self) { - TA_ATAN_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4649, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream))))) __PYX_ERR(3, 4649, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ATAN_Clone(((TA_ATAN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ATAN_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4659, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ATAN_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10ATR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10ATR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10ATR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10ATR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ATR_Close(((TA_ATR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10ATR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10ATR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4683, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 4683, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4683, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4683, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4683, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 4683, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, i); __PYX_ERR(3, 4683, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 4683, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4683, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4683, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4683, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 4683, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 4683, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ATR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ATR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10ATR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ATR_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4686, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4687, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 4687, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 4687, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 4687, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4688, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4689, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4690, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4695, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ATR_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_ATR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ATR_Close(((TA_ATR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ATR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4712, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ATR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ATR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ATR_Stream_4open_and_fill, "ATR_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10ATR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ATR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ATR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10ATR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4714, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 4714, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4714, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4714, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4714, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 4714, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, i); __PYX_ERR(3, 4714, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 4714, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4714, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4714, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4714, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 4715, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 4714, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ATR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ATR_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ATR_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ATR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4716, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4717, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4718, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4719, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 4719, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 4719, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 4719, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4720, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4721, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4722, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ATR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4728, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4730, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ATR_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4734, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ATR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ATR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4745, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4746, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 4746, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 4746, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 4746, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 4746, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4746, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 4746, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 4746, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ATR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ATR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ATR_Stream_6update, "ATR_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ATR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4748, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4748, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4748, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4748, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 4748, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 4748, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4748, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4748, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4748, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4749, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4749, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4749, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 4748, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ATR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ATR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ATR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ATR_Update(((TA_ATR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ATR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4756, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4757, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ATR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ATR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ATR_Stream_8peek, "ATR_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ATR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4759, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4759, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4759, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4759, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 4759, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 4759, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4759, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4759, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4759, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4760, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4760, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4760, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 4759, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ATR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ATR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ATR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ATR_Peek(((TA_ATR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ATR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4767, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4768, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ATR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ATR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ATR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ATR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ATR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ATR_Value(((TA_ATR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ATR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4778, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4779, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ATR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ATR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ATR_OutRange(((TA_ATR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ATR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ATR_Advance(((TA_ATR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ATR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ATR_Stream_10copy, "ATR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ATR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ATR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ATR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_self) { - TA_ATR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4790, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATR_Stream))))) __PYX_ERR(3, 4790, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ATR_Clone(((TA_ATR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ATR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4800, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ATR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_AVGDEV_Close(((TA_AVGDEV_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4824, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4824, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4824, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 4824, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 4824, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4824, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4824, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 4824, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 4824, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AVGDEV_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_AVGDEV_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4826, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 4826, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4827, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4828, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4829, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4834, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_AVGDEV_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_AVGDEV_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_AVGDEV_Close(((TA_AVGDEV_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AVGDEV_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4851, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.AVGDEV_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13AVGDEV_Stream_4open_and_fill, "AVGDEV_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13AVGDEV_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13AVGDEV_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4853, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4853, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4853, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 4853, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 4853, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4853, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4853, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 4854, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 4853, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AVGDEV_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_AVGDEV_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4856, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 4856, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4857, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4858, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4859, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_AVGDEV_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4865, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4867, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AVGDEV_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4871, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AVGDEV_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AVGDEV_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4883, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 4883, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 4883, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4883, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 4883, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 4883, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.AVGDEV_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13AVGDEV_Stream_6update, "AVGDEV_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4885, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4885, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 4885, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 4885, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4885, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4886, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 4885, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AVGDEV_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AVGDEV_Update(((TA_AVGDEV_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AVGDEV_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4893, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4894, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AVGDEV_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13AVGDEV_Stream_8peek, "AVGDEV_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4896, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4896, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 4896, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 4896, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4896, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 4897, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 4896, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AVGDEV_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AVGDEV_Peek(((TA_AVGDEV_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AVGDEV_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4904, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4905, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AVGDEV_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AVGDEV_Value(((TA_AVGDEV_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AVGDEV_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4915, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 4916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AVGDEV_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13AVGDEV_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AVGDEV_OutRange(((TA_AVGDEV_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13AVGDEV_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AVGDEV_Advance(((TA_AVGDEV_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13AVGDEV_Stream_10copy, "AVGDEV_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13AVGDEV_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_self) { - TA_AVGDEV_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4927, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream))))) __PYX_ERR(3, 4927, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_AVGDEV_Clone(((TA_AVGDEV_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AVGDEV_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4937, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.AVGDEV_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_AVGPRICE_Close(((TA_AVGPRICE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4959, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 4959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 4959, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 4959, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4959, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4959, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4959, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 4959, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 4959, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AVGPRICE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_AVGPRICE_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4960, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4961, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4962, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4963, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4964, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 4964, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 4964, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 4964, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 4964, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4965, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4966, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 4967, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 4972, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_AVGPRICE_Lookback() + 1); - - __pyx_v_retCode = TA_AVGPRICE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_AVGPRICE_Close(((TA_AVGPRICE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AVGPRICE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4989, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.AVGPRICE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15AVGPRICE_Stream_4open_and_fill, "AVGPRICE_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15AVGPRICE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15AVGPRICE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 4991, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 4991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4991, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 4991, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 4991, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 4991, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 4991, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 4991, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 4991, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 4991, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AVGPRICE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_AVGPRICE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4993, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4994, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4995, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4996, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4997, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 4997, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 4997, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 4997, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 4997, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 4998, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 4999, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5000, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_AVGPRICE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5006, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5008, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_AVGPRICE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5012, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_AVGPRICE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_AVGPRICE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5023, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5024, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 5024, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 5024, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 5024, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 5024, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 5024, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5024, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 5024, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 5024, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.AVGPRICE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15AVGPRICE_Stream_6update, "AVGPRICE_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5026, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5026, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5026, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5026, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5026, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 5026, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 5026, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5026, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5026, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5026, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5026, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5027, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5027, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5027, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5027, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5026, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AVGPRICE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AVGPRICE_Update(((TA_AVGPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AVGPRICE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5034, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5035, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AVGPRICE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15AVGPRICE_Stream_8peek, "AVGPRICE_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5037, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5037, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5037, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5037, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5037, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 5037, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 5037, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5037, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5037, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5037, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5037, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5038, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5038, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5038, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5038, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5037, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.AVGPRICE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AVGPRICE_Peek(((TA_AVGPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AVGPRICE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5045, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5046, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AVGPRICE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_AVGPRICE_Value(((TA_AVGPRICE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AVGPRICE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5057, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.AVGPRICE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15AVGPRICE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AVGPRICE_OutRange(((TA_AVGPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15AVGPRICE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_AVGPRICE_Advance(((TA_AVGPRICE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15AVGPRICE_Stream_10copy, "AVGPRICE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15AVGPRICE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_self) { - TA_AVGPRICE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5068, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream))))) __PYX_ERR(3, 5068, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_AVGPRICE_Clone(((TA_AVGPRICE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_AVGPRICE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5078, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.AVGPRICE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_13BBANDS_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_13BBANDS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_BBANDS_Close(((TA_BBANDS_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_nbdevup; - double __pyx_v_nbdevdn; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_nbdevup,&__pyx_mstate_global->__pyx_n_u_nbdevdn,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5107, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 5107, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5107, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5107, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5107, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5107, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 5107, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 5, i); __PYX_ERR(3, 5107, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 5107, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5107, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5107, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5107, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5107, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 5107, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_nbdevup = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_nbdevup == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5107, __pyx_L3_error) - } else { - __pyx_v_nbdevup = ((double)-4e37); - } - if (values[3]) { - __pyx_v_nbdevdn = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_nbdevdn == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5107, __pyx_L3_error) - } else { - __pyx_v_nbdevdn = ((double)-4e37); - } - if (values[4]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 5107, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 5, __pyx_nargs); __PYX_ERR(3, 5107, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BBANDS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod, __pyx_v_nbdevup, __pyx_v_nbdevdn, __pyx_v_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdevup, double __pyx_v_nbdevdn, int __pyx_v_matype) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_BBANDS_Stream *__pyx_v_handle; - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 5109, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5110, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5111, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5112, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5119, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_BBANDS_Lookback(__pyx_v_timeperiod, __pyx_v_nbdevup, __pyx_v_nbdevdn, __pyx_v_matype) + 1); - - __pyx_v_retCode = TA_BBANDS_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_nbdevup, __pyx_v_nbdevdn, __pyx_v_matype, (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_BBANDS_Close(((TA_BBANDS_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_BBANDS_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.BBANDS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13BBANDS_Stream_4open_and_fill, "BBANDS_Stream.open_and_fill(real, int timeperiod=-0x80000000, double nbdevup=-4e37, double nbdevdn=-4e37, int matype=0)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13BBANDS_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13BBANDS_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_nbdevup; - double __pyx_v_nbdevdn; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_nbdevup,&__pyx_mstate_global->__pyx_n_u_nbdevdn,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5138, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 5138, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5138, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5138, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5138, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5138, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 5138, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 5, i); __PYX_ERR(3, 5138, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 5138, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5138, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5138, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5138, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5138, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 5139, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_nbdevup = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_nbdevup == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5139, __pyx_L3_error) - } else { - __pyx_v_nbdevup = ((double)-4e37); - } - if (values[3]) { - __pyx_v_nbdevdn = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_nbdevdn == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5139, __pyx_L3_error) - } else { - __pyx_v_nbdevdn = ((double)-4e37); - } - if (values[4]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 5139, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 5, __pyx_nargs); __PYX_ERR(3, 5138, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BBANDS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod, __pyx_v_nbdevup, __pyx_v_nbdevdn, __pyx_v_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdevup, double __pyx_v_nbdevdn, int __pyx_v_matype) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outupperband = 0; - PyArrayObject *__pyx_v_outmiddleband = 0; - PyArrayObject *__pyx_v_outlowerband = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_BBANDS_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5141, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 5141, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5142, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5143, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5144, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_BBANDS_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5152, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5154, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_BBANDS_Lookback(__pyx_v_timeperiod, __pyx_v_nbdevup, __pyx_v_nbdevdn, __pyx_v_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5158, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outupperband = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5159, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmiddleband = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5160, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outlowerband = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_BBANDS_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_nbdevup, __pyx_v_nbdevdn, __pyx_v_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outupperband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmiddleband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outlowerband)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_BBANDS_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 5172, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outupperband)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 5172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 5172, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmiddleband)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 5172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 5172, __pyx_L1_error); - __pyx_t_15 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outlowerband)); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 5172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 5172, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 5172, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_15); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_15) != (0)) __PYX_ERR(3, 5172, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 5172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 5172, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 5172, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_15; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_15 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("talib._ta_lib.BBANDS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outupperband); - __Pyx_XDECREF((PyObject *)__pyx_v_outmiddleband); - __Pyx_XDECREF((PyObject *)__pyx_v_outlowerband); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13BBANDS_Stream_6update, "BBANDS_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5174, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5174, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 5174, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 5174, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5174, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5175, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 5174, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BBANDS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_BBANDS_Update(((TA_BBANDS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BBANDS_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outupperband); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmiddleband); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outlowerband); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 5185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 5185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 5185, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 5185, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 5185, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.BBANDS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13BBANDS_Stream_8peek, "BBANDS_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5187, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5187, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 5187, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 5187, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5187, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5188, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 5187, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BBANDS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_BBANDS_Peek(((TA_BBANDS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BBANDS_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outupperband); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmiddleband); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outlowerband); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 5198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 5198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 5198, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 5198, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 5198, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.BBANDS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self) { - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_BBANDS_Value(((TA_BBANDS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BBANDS_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outupperband); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmiddleband); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outlowerband); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 5211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 5211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 5211, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 5211, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 5211, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.BBANDS_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13BBANDS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_BBANDS_OutRange(((TA_BBANDS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13BBANDS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_BBANDS_Advance(((TA_BBANDS_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13BBANDS_Stream_10copy, "BBANDS_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13BBANDS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_self) { - TA_BBANDS_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream))))) __PYX_ERR(3, 5222, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_BBANDS_Clone(((TA_BBANDS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BBANDS_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.BBANDS_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11BETA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11BETA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11BETA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11BETA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_BETA_Close(((TA_BETA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11BETA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11BETA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real0 = 0; - PyObject *__pyx_v_real1 = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5257, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5257, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5257, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5257, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 5257, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, i); __PYX_ERR(3, 5257, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5257, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5257, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5257, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real0 = values[0]; - __pyx_v_real1 = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 5257, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 5257, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BETA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11BETA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11BETA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self, PyObject *__pyx_v_real0, PyObject *__pyx_v_real1, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real0 = 0; - PyArrayObject *__pyx_v_a_real1 = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_BETA_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5258, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real0 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5259, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real1 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5260, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real0); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real0)) != (0)) __PYX_ERR(3, 5260, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_real1); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_real1)) != (0)) __PYX_ERR(3, 5260, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5261, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5262, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5263, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5268, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_BETA_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_BETA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real1)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_BETA_Close(((TA_BETA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_BETA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5285, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.BETA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_a_real1); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11BETA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11BETA_Stream_4open_and_fill, "BETA_Stream.open_and_fill(real0, real1, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11BETA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11BETA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11BETA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11BETA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real0 = 0; - PyObject *__pyx_v_real1 = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5287, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5287, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5287, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5287, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 5287, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, i); __PYX_ERR(3, 5287, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5287, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5287, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5287, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real0 = values[0]; - __pyx_v_real1 = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 5288, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 5287, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BETA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11BETA_Stream_4open_and_fill(__pyx_v_real0, __pyx_v_real1, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11BETA_Stream_4open_and_fill(PyObject *__pyx_v_real0, PyObject *__pyx_v_real1, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real0 = 0; - PyArrayObject *__pyx_v_a_real1 = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_BETA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5289, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real0 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5290, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real1 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5291, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real0); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real0)) != (0)) __PYX_ERR(3, 5291, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_real1); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_real1)) != (0)) __PYX_ERR(3, 5291, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5292, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5293, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5294, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_BETA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BETA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5300, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5302, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_BETA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5306, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_BETA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real1)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_BETA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5317, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real0); - __Pyx_GIVEREF(__pyx_v_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real0) != (0)) __PYX_ERR(3, 5318, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_real1); - __Pyx_GIVEREF(__pyx_v_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_real1) != (0)) __PYX_ERR(3, 5318, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 5318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 5318, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 5318, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.BETA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_a_real1); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11BETA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11BETA_Stream_6update, "BETA_Stream.update(self, double real0, double real1)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11BETA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real0; - double __pyx_v_real1; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5320, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5320, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5320, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 5320, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 5320, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5320, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5320, __pyx_L3_error) - } - __pyx_v_real0 = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5321, __pyx_L3_error) - __pyx_v_real1 = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_real1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5321, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 5320, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BETA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11BETA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11BETA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_BETA_Update(((TA_BETA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real0, __pyx_v_real1, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BETA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5328, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5329, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.BETA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11BETA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11BETA_Stream_8peek, "BETA_Stream.peek(self, double real0, double real1)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11BETA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real0; - double __pyx_v_real1; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5331, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5331, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5331, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 5331, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 5331, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5331, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5331, __pyx_L3_error) - } - __pyx_v_real0 = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5332, __pyx_L3_error) - __pyx_v_real1 = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_real1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5332, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 5331, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BETA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11BETA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11BETA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_BETA_Peek(((TA_BETA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real0, __pyx_v_real1, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BETA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5340, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.BETA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11BETA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11BETA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11BETA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11BETA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_BETA_Value(((TA_BETA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BETA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5350, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.BETA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11BETA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_BETA_OutRange(((TA_BETA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11BETA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_BETA_Advance(((TA_BETA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11BETA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11BETA_Stream_10copy, "BETA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11BETA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11BETA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11BETA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_self) { - TA_BETA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BETA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5362, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BETA_Stream))))) __PYX_ERR(3, 5362, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_BETA_Clone(((TA_BETA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BETA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5372, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.BETA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10BOP_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10BOP_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10BOP_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10BOP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_BOP_Close(((TA_BOP_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10BOP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10BOP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5394, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5394, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5394, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5394, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5394, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 5394, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 5394, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5394, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5394, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5394, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5394, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5394, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BOP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10BOP_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10BOP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_BOP_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5395, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5396, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5397, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5398, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5399, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 5399, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 5399, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 5399, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 5399, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5400, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5401, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5402, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5407, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_BOP_Lookback() + 1); - - __pyx_v_retCode = TA_BOP_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_BOP_Close(((TA_BOP_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_BOP_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5424, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.BOP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10BOP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10BOP_Stream_4open_and_fill, "BOP_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10BOP_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10BOP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10BOP_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10BOP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5426, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5426, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5426, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5426, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5426, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 5426, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 5426, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5426, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5426, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5426, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5426, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5426, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BOP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10BOP_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10BOP_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_BOP_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5428, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5429, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5432, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 5432, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 5432, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 5432, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 5432, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5433, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5434, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5435, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_BOP_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BOP_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5441, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5443, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_BOP_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5447, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_BOP_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_BOP_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 5459, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 5459, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 5459, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 5459, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 5459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 5459, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 5459, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.BOP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10BOP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10BOP_Stream_6update, "BOP_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10BOP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5461, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5461, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5461, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5461, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5461, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 5461, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 5461, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5461, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5461, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5461, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5461, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5462, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5462, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5462, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5462, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5461, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BOP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10BOP_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10BOP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_BOP_Update(((TA_BOP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BOP_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5469, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5470, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.BOP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10BOP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10BOP_Stream_8peek, "BOP_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10BOP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5472, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5472, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5472, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5472, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5472, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 5472, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 5472, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5472, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5472, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5472, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5472, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5473, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5473, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5473, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5473, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5472, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.BOP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10BOP_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10BOP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_BOP_Peek(((TA_BOP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BOP_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.BOP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10BOP_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10BOP_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10BOP_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10BOP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_BOP_Value(((TA_BOP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BOP_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5491, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.BOP_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10BOP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_BOP_OutRange(((TA_BOP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10BOP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_BOP_Advance(((TA_BOP_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10BOP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10BOP_Stream_10copy, "BOP_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10BOP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10BOP_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10BOP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_self) { - TA_BOP_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BOP_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5503, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BOP_Stream))))) __PYX_ERR(3, 5503, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_BOP_Clone(((TA_BOP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_BOP_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5513, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.BOP_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10CCI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10CCI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10CCI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10CCI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CCI_Close(((TA_CCI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10CCI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10CCI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5537, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5537, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5537, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5537, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5537, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 5537, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, i); __PYX_ERR(3, 5537, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5537, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5537, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5537, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5537, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 5537, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 5537, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CCI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CCI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10CCI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CCI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5538, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5539, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 5541, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 5541, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 5541, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5542, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5543, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5544, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5549, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CCI_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_CCI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CCI_Close(((TA_CCI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CCI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5566, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CCI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CCI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CCI_Stream_4open_and_fill, "CCI_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10CCI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CCI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CCI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10CCI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5568, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5568, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5568, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5568, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5568, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 5568, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, i); __PYX_ERR(3, 5568, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5568, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5568, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5568, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5568, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 5569, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 5568, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CCI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CCI_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CCI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CCI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5570, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5571, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5573, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 5573, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 5573, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 5573, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5574, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5575, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5576, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CCI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CCI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5582, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5584, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CCI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5588, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CCI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CCI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5599, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 5600, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 5600, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 5600, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 5600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 5600, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 5600, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CCI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CCI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CCI_Stream_6update, "CCI_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10CCI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5602, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5602, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5602, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5602, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 5602, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 5602, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5602, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5602, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5602, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5603, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5603, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5603, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 5602, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CCI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CCI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CCI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CCI_Update(((TA_CCI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CCI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5610, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5611, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CCI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CCI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CCI_Stream_8peek, "CCI_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10CCI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5613, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5613, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5613, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5613, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 5613, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 5613, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5613, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5613, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5613, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5614, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5614, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5614, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 5613, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CCI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CCI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CCI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CCI_Peek(((TA_CCI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CCI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5621, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5622, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CCI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CCI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CCI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CCI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CCI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CCI_Value(((TA_CCI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CCI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5632, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5633, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CCI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CCI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CCI_OutRange(((TA_CCI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CCI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CCI_Advance(((TA_CCI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CCI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CCI_Stream_10copy, "CCI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10CCI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CCI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CCI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_self) { - TA_CCI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CCI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5644, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CCI_Stream))))) __PYX_ERR(3, 5644, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CCI_Clone(((TA_CCI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CCI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5654, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CCI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDL2CROWS_Close(((TA_CDL2CROWS_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5676, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5676, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5676, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5676, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5676, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 5676, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 5676, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5676, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5676, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5676, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5676, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5676, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL2CROWS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDL2CROWS_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5677, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5678, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5679, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5680, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5681, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 5681, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 5681, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 5681, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 5681, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5682, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5683, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5684, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5689, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDL2CROWS_Lookback() + 1); - - __pyx_v_retCode = TA_CDL2CROWS_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDL2CROWS_Close(((TA_CDL2CROWS_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL2CROWS_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5706, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL2CROWS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDL2CROWS_Stream_4open_and_fill, "CDL2CROWS_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_16CDL2CROWS_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDL2CROWS_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5708, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5708, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5708, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5708, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5708, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 5708, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 5708, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5708, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5708, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5708, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5708, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5708, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL2CROWS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDL2CROWS_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5711, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5712, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5713, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5714, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 5714, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 5714, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 5714, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 5714, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5715, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5716, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5717, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDL2CROWS_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5723, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5725, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL2CROWS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5729, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL2CROWS_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL2CROWS_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5740, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5741, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 5741, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 5741, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 5741, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 5741, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 5741, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5741, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 5741, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 5741, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDL2CROWS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDL2CROWS_Stream_6update, "CDL2CROWS_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5743, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5743, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5743, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5743, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5743, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 5743, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 5743, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5743, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5743, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5743, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5743, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5744, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5744, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5744, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5744, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5743, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL2CROWS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL2CROWS_Update(((TA_CDL2CROWS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL2CROWS_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5751, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5752, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL2CROWS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDL2CROWS_Stream_8peek, "CDL2CROWS_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5754, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5754, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5754, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5754, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5754, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 5754, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 5754, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5754, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5754, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5754, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5754, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5755, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5755, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5755, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5755, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5754, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL2CROWS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL2CROWS_Peek(((TA_CDL2CROWS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL2CROWS_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5762, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5763, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL2CROWS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL2CROWS_Value(((TA_CDL2CROWS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL2CROWS_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5773, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5774, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL2CROWS_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDL2CROWS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL2CROWS_OutRange(((TA_CDL2CROWS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDL2CROWS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL2CROWS_Advance(((TA_CDL2CROWS_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDL2CROWS_Stream_10copy, "CDL2CROWS_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDL2CROWS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_self) { - TA_CDL2CROWS_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream))))) __PYX_ERR(3, 5785, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDL2CROWS_Clone(((TA_CDL2CROWS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL2CROWS_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5795, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDL2CROWS_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDL3BLACKCROWS_Close(((TA_CDL3BLACKCROWS_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5817, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5817, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5817, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5817, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5817, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 5817, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 5817, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5817, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5817, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5817, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5817, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5817, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3BLACKCROWS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDL3BLACKCROWS_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5818, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5819, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5820, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5821, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5822, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 5822, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 5822, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 5822, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 5822, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5823, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5824, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5825, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5830, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDL3BLACKCROWS_Lookback() + 1); - - __pyx_v_retCode = TA_CDL3BLACKCROWS_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDL3BLACKCROWS_Close(((TA_CDL3BLACKCROWS_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL3BLACKCROWS_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5847, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL3BLACKCROWS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_4open_and_fill, "CDL3BLACKCROWS_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5849, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5849, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5849, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5849, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5849, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 5849, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 5849, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5849, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5849, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5849, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5849, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5849, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3BLACKCROWS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDL3BLACKCROWS_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5851, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5852, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5853, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 5855, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 5855, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 5855, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 5855, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5856, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5857, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5858, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5864, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5866, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL3BLACKCROWS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5870, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3BLACKCROWS_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL3BLACKCROWS_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5881, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 5882, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 5882, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 5882, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 5882, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 5882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 5882, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 5882, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDL3BLACKCROWS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_6update, "CDL3BLACKCROWS_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5884, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5884, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5884, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5884, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5884, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 5884, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 5884, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5884, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5884, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5884, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5884, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5885, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5885, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5885, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5885, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5884, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3BLACKCROWS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3BLACKCROWS_Update(((TA_CDL3BLACKCROWS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3BLACKCROWS_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5892, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5893, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3BLACKCROWS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_8peek, "CDL3BLACKCROWS_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5895, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5895, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5895, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5895, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5895, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 5895, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 5895, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5895, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5895, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5895, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5895, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5896, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5896, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5896, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 5896, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5895, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3BLACKCROWS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3BLACKCROWS_Peek(((TA_CDL3BLACKCROWS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3BLACKCROWS_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5903, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5904, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3BLACKCROWS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3BLACKCROWS_Value(((TA_CDL3BLACKCROWS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3BLACKCROWS_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5914, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 5915, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3BLACKCROWS_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL3BLACKCROWS_OutRange(((TA_CDL3BLACKCROWS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL3BLACKCROWS_Advance(((TA_CDL3BLACKCROWS_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_10copy, "CDL3BLACKCROWS_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_self) { - TA_CDL3BLACKCROWS_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5926, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream))))) __PYX_ERR(3, 5926, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3BLACKCROWS_Clone(((TA_CDL3BLACKCROWS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3BLACKCROWS_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5936, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDL3BLACKCROWS_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDL3INSIDE_Close(((TA_CDL3INSIDE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5958, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5958, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5958, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5958, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5958, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 5958, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 5958, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5958, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5958, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5958, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5958, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5958, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3INSIDE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDL3INSIDE_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5960, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5961, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5962, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5963, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 5963, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 5963, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 5963, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 5963, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5964, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5965, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5966, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 5971, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDL3INSIDE_Lookback() + 1); - - __pyx_v_retCode = TA_CDL3INSIDE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDL3INSIDE_Close(((TA_CDL3INSIDE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL3INSIDE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5988, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL3INSIDE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDL3INSIDE_Stream_4open_and_fill, "CDL3INSIDE_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_17CDL3INSIDE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDL3INSIDE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 5990, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5990, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5990, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5990, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5990, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 5990, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 5990, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 5990, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 5990, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 5990, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 5990, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 5990, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3INSIDE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDL3INSIDE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5992, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5993, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5994, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5995, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5996, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 5996, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 5996, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 5996, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 5996, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 5997, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 5998, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 5999, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDL3INSIDE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6005, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6007, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL3INSIDE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6011, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3INSIDE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL3INSIDE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6022, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6023, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 6023, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 6023, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 6023, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 6023, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 6023, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6023, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 6023, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 6023, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDL3INSIDE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDL3INSIDE_Stream_6update, "CDL3INSIDE_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6025, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6025, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6025, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6025, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6025, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 6025, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 6025, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6025, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6025, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6025, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6025, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6026, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6026, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6026, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6026, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6025, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3INSIDE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3INSIDE_Update(((TA_CDL3INSIDE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3INSIDE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6033, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6034, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3INSIDE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDL3INSIDE_Stream_8peek, "CDL3INSIDE_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6036, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6036, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6036, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6036, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6036, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 6036, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 6036, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6036, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6036, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6036, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6036, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6037, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6037, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6037, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6037, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6036, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3INSIDE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3INSIDE_Peek(((TA_CDL3INSIDE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3INSIDE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6044, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6045, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3INSIDE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3INSIDE_Value(((TA_CDL3INSIDE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3INSIDE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6055, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3INSIDE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDL3INSIDE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL3INSIDE_OutRange(((TA_CDL3INSIDE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDL3INSIDE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL3INSIDE_Advance(((TA_CDL3INSIDE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDL3INSIDE_Stream_10copy, "CDL3INSIDE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDL3INSIDE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_self) { - TA_CDL3INSIDE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6067, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream))))) __PYX_ERR(3, 6067, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3INSIDE_Clone(((TA_CDL3INSIDE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3INSIDE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6077, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDL3INSIDE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDL3LINESTRIKE_Close(((TA_CDL3LINESTRIKE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6099, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6099, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6099, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6099, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6099, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 6099, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 6099, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6099, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6099, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6099, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6099, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6099, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3LINESTRIKE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDL3LINESTRIKE_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6103, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6104, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6104, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6104, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6104, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6105, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6106, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6107, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6112, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDL3LINESTRIKE_Lookback() + 1); - - __pyx_v_retCode = TA_CDL3LINESTRIKE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDL3LINESTRIKE_Close(((TA_CDL3LINESTRIKE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL3LINESTRIKE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL3LINESTRIKE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_4open_and_fill, "CDL3LINESTRIKE_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6131, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6131, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6131, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6131, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6131, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 6131, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 6131, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6131, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6131, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6131, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6131, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6131, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3LINESTRIKE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDL3LINESTRIKE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6137, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6137, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6137, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6137, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6137, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6138, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6139, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6140, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6148, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL3LINESTRIKE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6152, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3LINESTRIKE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL3LINESTRIKE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 6164, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 6164, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 6164, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 6164, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 6164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 6164, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 6164, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDL3LINESTRIKE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_6update, "CDL3LINESTRIKE_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6166, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6166, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6166, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6166, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6166, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 6166, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 6166, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6166, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6166, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6166, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6166, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6167, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6167, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6167, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6167, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6166, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3LINESTRIKE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3LINESTRIKE_Update(((TA_CDL3LINESTRIKE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3LINESTRIKE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6174, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6175, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3LINESTRIKE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_8peek, "CDL3LINESTRIKE_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6177, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6177, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6177, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6177, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6177, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 6177, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 6177, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6177, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6177, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6177, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6177, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6178, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6178, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6178, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6178, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6177, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3LINESTRIKE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3LINESTRIKE_Peek(((TA_CDL3LINESTRIKE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3LINESTRIKE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3LINESTRIKE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3LINESTRIKE_Value(((TA_CDL3LINESTRIKE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3LINESTRIKE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3LINESTRIKE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL3LINESTRIKE_OutRange(((TA_CDL3LINESTRIKE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL3LINESTRIKE_Advance(((TA_CDL3LINESTRIKE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_10copy, "CDL3LINESTRIKE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_self) { - TA_CDL3LINESTRIKE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream))))) __PYX_ERR(3, 6208, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3LINESTRIKE_Clone(((TA_CDL3LINESTRIKE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3LINESTRIKE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6218, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDL3LINESTRIKE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDL3OUTSIDE_Close(((TA_CDL3OUTSIDE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6240, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6240, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6240, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6240, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6240, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 6240, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 6240, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6240, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6240, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6240, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6240, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6240, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3OUTSIDE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDL3OUTSIDE_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6241, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6243, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6245, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6245, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6245, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6245, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6245, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6246, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6247, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6248, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6253, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDL3OUTSIDE_Lookback() + 1); - - __pyx_v_retCode = TA_CDL3OUTSIDE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDL3OUTSIDE_Close(((TA_CDL3OUTSIDE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL3OUTSIDE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6270, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL3OUTSIDE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_4open_and_fill, "CDL3OUTSIDE_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6272, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6272, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6272, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6272, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6272, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 6272, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 6272, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6272, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6272, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6272, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6272, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6272, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3OUTSIDE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDL3OUTSIDE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6275, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6277, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6278, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6278, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6278, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6278, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6278, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6279, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6280, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6281, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDL3OUTSIDE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6287, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6289, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL3OUTSIDE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6293, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3OUTSIDE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL3OUTSIDE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6304, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 6305, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 6305, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 6305, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 6305, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 6305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 6305, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 6305, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDL3OUTSIDE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_6update, "CDL3OUTSIDE_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6307, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6307, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6307, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6307, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6307, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 6307, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 6307, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6307, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6307, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6307, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6307, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6308, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6308, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6308, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6308, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6307, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3OUTSIDE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3OUTSIDE_Update(((TA_CDL3OUTSIDE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3OUTSIDE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6316, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3OUTSIDE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_8peek, "CDL3OUTSIDE_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6318, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6318, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6318, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6318, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6318, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 6318, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 6318, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6318, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6318, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6318, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6318, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6319, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6319, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6319, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6319, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6318, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3OUTSIDE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3OUTSIDE_Peek(((TA_CDL3OUTSIDE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3OUTSIDE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6326, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3OUTSIDE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3OUTSIDE_Value(((TA_CDL3OUTSIDE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3OUTSIDE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6337, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3OUTSIDE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDL3OUTSIDE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL3OUTSIDE_OutRange(((TA_CDL3OUTSIDE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDL3OUTSIDE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL3OUTSIDE_Advance(((TA_CDL3OUTSIDE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_10copy, "CDL3OUTSIDE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_self) { - TA_CDL3OUTSIDE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6349, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream))))) __PYX_ERR(3, 6349, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3OUTSIDE_Clone(((TA_CDL3OUTSIDE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3OUTSIDE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDL3OUTSIDE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDL3STARSINSOUTH_Close(((TA_CDL3STARSINSOUTH_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6381, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6381, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6381, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6381, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6381, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 6381, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 6381, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6381, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6381, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6381, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6381, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6381, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3STARSINSOUTH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDL3STARSINSOUTH_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6383, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6384, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6386, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6386, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6386, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6386, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6387, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6388, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6389, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6394, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDL3STARSINSOUTH_Lookback() + 1); - - __pyx_v_retCode = TA_CDL3STARSINSOUTH_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDL3STARSINSOUTH_Close(((TA_CDL3STARSINSOUTH_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL3STARSINSOUTH_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL3STARSINSOUTH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_4open_and_fill, "CDL3STARSINSOUTH_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6413, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6413, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6413, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6413, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6413, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 6413, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 6413, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6413, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6413, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6413, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6413, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6413, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3STARSINSOUTH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDL3STARSINSOUTH_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6415, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6416, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6418, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6419, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6419, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6419, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6419, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6419, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6420, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6421, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6422, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6428, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6430, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL3STARSINSOUTH_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6434, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3STARSINSOUTH_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL3STARSINSOUTH_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 6446, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 6446, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 6446, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 6446, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 6446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 6446, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 6446, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDL3STARSINSOUTH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_6update, "CDL3STARSINSOUTH_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6448, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6448, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6448, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6448, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6448, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 6448, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 6448, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6448, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6448, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6448, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6448, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6449, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6449, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6449, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6449, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6448, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3STARSINSOUTH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3STARSINSOUTH_Update(((TA_CDL3STARSINSOUTH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3STARSINSOUTH_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6457, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3STARSINSOUTH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_8peek, "CDL3STARSINSOUTH_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6459, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6459, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6459, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6459, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6459, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 6459, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 6459, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6459, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6459, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6459, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6459, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6460, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6460, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6460, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6460, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6459, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3STARSINSOUTH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3STARSINSOUTH_Peek(((TA_CDL3STARSINSOUTH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3STARSINSOUTH_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6467, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6468, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3STARSINSOUTH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3STARSINSOUTH_Value(((TA_CDL3STARSINSOUTH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3STARSINSOUTH_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6478, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6479, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3STARSINSOUTH_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL3STARSINSOUTH_OutRange(((TA_CDL3STARSINSOUTH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL3STARSINSOUTH_Advance(((TA_CDL3STARSINSOUTH_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_10copy, "CDL3STARSINSOUTH_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_self) { - TA_CDL3STARSINSOUTH_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream))))) __PYX_ERR(3, 6490, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3STARSINSOUTH_Clone(((TA_CDL3STARSINSOUTH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3STARSINSOUTH_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6500, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDL3STARSINSOUTH_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDL3WHITESOLDIERS_Close(((TA_CDL3WHITESOLDIERS_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6522, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6522, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6522, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6522, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6522, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 6522, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 6522, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6522, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6522, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6522, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6522, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6522, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3WHITESOLDIERS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDL3WHITESOLDIERS_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6524, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6526, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6527, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6527, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6527, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6527, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6527, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6528, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6529, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6530, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6535, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDL3WHITESOLDIERS_Lookback() + 1); - - __pyx_v_retCode = TA_CDL3WHITESOLDIERS_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDL3WHITESOLDIERS_Close(((TA_CDL3WHITESOLDIERS_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL3WHITESOLDIERS_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6552, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDL3WHITESOLDIERS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_4open_and_fill, "CDL3WHITESOLDIERS_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6554, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6554, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6554, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6554, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6554, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 6554, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 6554, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6554, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6554, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6554, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6554, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6554, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3WHITESOLDIERS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDL3WHITESOLDIERS_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6556, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6557, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6558, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6559, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6560, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6560, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6560, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6560, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6560, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6561, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6562, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6563, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6569, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6571, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDL3WHITESOLDIERS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6575, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3WHITESOLDIERS_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDL3WHITESOLDIERS_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6586, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6587, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 6587, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 6587, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 6587, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 6587, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 6587, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6587, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 6587, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 6587, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDL3WHITESOLDIERS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_6update, "CDL3WHITESOLDIERS_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6589, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6589, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6589, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6589, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6589, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 6589, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 6589, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6589, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6589, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6589, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6589, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6590, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6590, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6590, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6590, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6589, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3WHITESOLDIERS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3WHITESOLDIERS_Update(((TA_CDL3WHITESOLDIERS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3WHITESOLDIERS_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6597, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6598, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3WHITESOLDIERS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_8peek, "CDL3WHITESOLDIERS_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6600, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 6600, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 6600, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6600, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6600, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6600, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6600, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6601, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6601, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6601, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6601, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6600, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDL3WHITESOLDIERS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3WHITESOLDIERS_Peek(((TA_CDL3WHITESOLDIERS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3WHITESOLDIERS_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6608, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6609, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3WHITESOLDIERS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3WHITESOLDIERS_Value(((TA_CDL3WHITESOLDIERS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3WHITESOLDIERS_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6619, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6620, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDL3WHITESOLDIERS_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL3WHITESOLDIERS_OutRange(((TA_CDL3WHITESOLDIERS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDL3WHITESOLDIERS_Advance(((TA_CDL3WHITESOLDIERS_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_10copy, "CDL3WHITESOLDIERS_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_self) { - TA_CDL3WHITESOLDIERS_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6631, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream))))) __PYX_ERR(3, 6631, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDL3WHITESOLDIERS_Clone(((TA_CDL3WHITESOLDIERS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDL3WHITESOLDIERS_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDL3WHITESOLDIERS_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLABANDONEDBABY_Close(((TA_CDLABANDONEDBABY_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6665, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 6665, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6665, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6665, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6665, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6665, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 6665, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, i); __PYX_ERR(3, 6665, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 6665, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6665, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6665, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6665, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6665, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6665, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.3); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 6665, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLABANDONEDBABY_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLABANDONEDBABY_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6666, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6667, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6668, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6669, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6670, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6670, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6670, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6670, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6670, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6671, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6672, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6673, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6678, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLABANDONEDBABY_Lookback(__pyx_v_penetration) + 1); - - __pyx_v_retCode = TA_CDLABANDONEDBABY_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLABANDONEDBABY_Close(((TA_CDLABANDONEDBABY_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLABANDONEDBABY_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6695, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLABANDONEDBABY_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_4open_and_fill, "CDLABANDONEDBABY_Stream.open_and_fill(open, high, low, close, double penetration=0.3)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6697, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 6697, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6697, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6697, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6697, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6697, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 6697, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, i); __PYX_ERR(3, 6697, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 6697, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6697, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6697, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6697, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6697, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6698, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.3); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 6697, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLABANDONEDBABY_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLABANDONEDBABY_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6699, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6700, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6702, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6703, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6703, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6703, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6703, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6703, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6704, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6705, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6706, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6712, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6714, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLABANDONEDBABY_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6718, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLABANDONEDBABY_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLABANDONEDBABY_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6729, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6730, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 6730, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 6730, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 6730, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 6730, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 6730, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6730, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 6730, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 6730, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLABANDONEDBABY_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_6update, "CDLABANDONEDBABY_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6732, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6732, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6732, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6732, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6732, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 6732, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 6732, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6732, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6732, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6732, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6732, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6733, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6733, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6733, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6733, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6732, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLABANDONEDBABY_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLABANDONEDBABY_Update(((TA_CDLABANDONEDBABY_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLABANDONEDBABY_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6740, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6741, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLABANDONEDBABY_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_8peek, "CDLABANDONEDBABY_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6743, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6743, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6743, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6743, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6743, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 6743, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 6743, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6743, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6743, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6743, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6743, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6744, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6744, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6744, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6744, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6743, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLABANDONEDBABY_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLABANDONEDBABY_Peek(((TA_CDLABANDONEDBABY_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLABANDONEDBABY_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6751, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6752, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLABANDONEDBABY_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLABANDONEDBABY_Value(((TA_CDLABANDONEDBABY_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLABANDONEDBABY_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6762, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6763, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLABANDONEDBABY_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLABANDONEDBABY_OutRange(((TA_CDLABANDONEDBABY_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLABANDONEDBABY_Advance(((TA_CDLABANDONEDBABY_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_10copy, "CDLABANDONEDBABY_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_self) { - TA_CDLABANDONEDBABY_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6774, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream))))) __PYX_ERR(3, 6774, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLABANDONEDBABY_Clone(((TA_CDLABANDONEDBABY_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLABANDONEDBABY_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6784, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLABANDONEDBABY_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLADVANCEBLOCK_Close(((TA_CDLADVANCEBLOCK_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6806, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6806, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6806, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6806, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6806, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 6806, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 6806, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6806, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6806, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6806, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6806, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6806, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLADVANCEBLOCK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLADVANCEBLOCK_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6807, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6808, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6811, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6811, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6811, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6811, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6812, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6813, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6814, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6819, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLADVANCEBLOCK_Lookback() + 1); - - __pyx_v_retCode = TA_CDLADVANCEBLOCK_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLADVANCEBLOCK_Close(((TA_CDLADVANCEBLOCK_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLADVANCEBLOCK_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6836, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLADVANCEBLOCK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_4open_and_fill, "CDLADVANCEBLOCK_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6838, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6838, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6838, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6838, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6838, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 6838, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 6838, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6838, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6838, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6838, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6838, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6838, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLADVANCEBLOCK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLADVANCEBLOCK_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6840, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6841, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6842, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6843, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6844, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6844, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6844, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6844, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6844, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6845, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6846, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6847, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6853, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6855, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLADVANCEBLOCK_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6859, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLADVANCEBLOCK_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLADVANCEBLOCK_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6870, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 6871, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 6871, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 6871, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 6871, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 6871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 6871, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 6871, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLADVANCEBLOCK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_6update, "CDLADVANCEBLOCK_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6873, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6873, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6873, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6873, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6873, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 6873, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 6873, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6873, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6873, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6873, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6873, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6874, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6874, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6874, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6874, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6873, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLADVANCEBLOCK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLADVANCEBLOCK_Update(((TA_CDLADVANCEBLOCK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLADVANCEBLOCK_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6881, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLADVANCEBLOCK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_8peek, "CDLADVANCEBLOCK_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6884, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6884, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6884, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6884, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6884, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 6884, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 6884, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6884, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6884, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6884, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6884, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6885, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6885, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6885, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 6885, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6884, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLADVANCEBLOCK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLADVANCEBLOCK_Peek(((TA_CDLADVANCEBLOCK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLADVANCEBLOCK_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6892, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6893, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLADVANCEBLOCK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLADVANCEBLOCK_Value(((TA_CDLADVANCEBLOCK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLADVANCEBLOCK_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6903, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 6904, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLADVANCEBLOCK_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLADVANCEBLOCK_OutRange(((TA_CDLADVANCEBLOCK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLADVANCEBLOCK_Advance(((TA_CDLADVANCEBLOCK_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_10copy, "CDLADVANCEBLOCK_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_self) { - TA_CDLADVANCEBLOCK_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6915, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream))))) __PYX_ERR(3, 6915, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLADVANCEBLOCK_Clone(((TA_CDLADVANCEBLOCK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLADVANCEBLOCK_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6925, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLADVANCEBLOCK_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLBELTHOLD_Close(((TA_CDLBELTHOLD_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6947, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6947, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6947, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6947, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6947, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 6947, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 6947, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6947, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6947, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6947, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6947, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6947, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLBELTHOLD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLBELTHOLD_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6948, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6950, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6951, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6952, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6952, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6952, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6952, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6952, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6953, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6954, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6955, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6960, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLBELTHOLD_Lookback() + 1); - - __pyx_v_retCode = TA_CDLBELTHOLD_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLBELTHOLD_Close(((TA_CDLBELTHOLD_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLBELTHOLD_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6977, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLBELTHOLD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLBELTHOLD_Stream_4open_and_fill, "CDLBELTHOLD_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_18CDLBELTHOLD_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLBELTHOLD_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 6979, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6979, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6979, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6979, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6979, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 6979, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 6979, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 6979, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 6979, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 6979, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 6979, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 6979, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLBELTHOLD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLBELTHOLD_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6981, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6982, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6983, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6984, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6985, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 6985, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 6985, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 6985, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 6985, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 6986, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 6987, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 6988, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLBELTHOLD_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6994, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 6996, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLBELTHOLD_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7000, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLBELTHOLD_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLBELTHOLD_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7011, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7012, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 7012, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 7012, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 7012, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 7012, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 7012, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7012, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 7012, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 7012, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLBELTHOLD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLBELTHOLD_Stream_6update, "CDLBELTHOLD_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7014, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7014, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7014, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7014, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7014, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 7014, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 7014, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7014, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7014, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7014, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7014, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7015, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7015, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7015, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7015, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7014, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLBELTHOLD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLBELTHOLD_Update(((TA_CDLBELTHOLD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLBELTHOLD_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7022, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7023, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLBELTHOLD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLBELTHOLD_Stream_8peek, "CDLBELTHOLD_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7025, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7025, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7025, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7025, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7025, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 7025, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 7025, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7025, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7025, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7025, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7025, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7026, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7026, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7026, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7026, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7025, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLBELTHOLD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLBELTHOLD_Peek(((TA_CDLBELTHOLD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLBELTHOLD_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7033, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7034, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLBELTHOLD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLBELTHOLD_Value(((TA_CDLBELTHOLD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLBELTHOLD_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7044, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7045, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLBELTHOLD_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLBELTHOLD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLBELTHOLD_OutRange(((TA_CDLBELTHOLD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLBELTHOLD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLBELTHOLD_Advance(((TA_CDLBELTHOLD_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLBELTHOLD_Stream_10copy, "CDLBELTHOLD_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLBELTHOLD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_self) { - TA_CDLBELTHOLD_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream))))) __PYX_ERR(3, 7056, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLBELTHOLD_Clone(((TA_CDLBELTHOLD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLBELTHOLD_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7066, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLBELTHOLD_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLBREAKAWAY_Close(((TA_CDLBREAKAWAY_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7088, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7088, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7088, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7088, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7088, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 7088, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 7088, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7088, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7088, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7088, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7088, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7088, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLBREAKAWAY_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLBREAKAWAY_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7089, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7090, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7091, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7092, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7093, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7093, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7093, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7093, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7093, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7094, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7095, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7096, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7101, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLBREAKAWAY_Lookback() + 1); - - __pyx_v_retCode = TA_CDLBREAKAWAY_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLBREAKAWAY_Close(((TA_CDLBREAKAWAY_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLBREAKAWAY_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLBREAKAWAY_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_4open_and_fill, "CDLBREAKAWAY_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7120, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7120, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7120, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7120, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7120, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 7120, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 7120, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7120, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7120, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7120, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7120, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7120, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLBREAKAWAY_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLBREAKAWAY_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7122, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7125, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7126, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7126, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7126, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7126, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7127, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7128, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7129, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLBREAKAWAY_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7137, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLBREAKAWAY_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7141, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLBREAKAWAY_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLBREAKAWAY_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7152, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 7153, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 7153, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 7153, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 7153, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 7153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 7153, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 7153, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLBREAKAWAY_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_6update, "CDLBREAKAWAY_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7155, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7155, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7155, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7155, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7155, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 7155, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 7155, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7155, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7155, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7155, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7155, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7156, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7156, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7156, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7156, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7155, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLBREAKAWAY_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLBREAKAWAY_Update(((TA_CDLBREAKAWAY_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLBREAKAWAY_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLBREAKAWAY_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_8peek, "CDLBREAKAWAY_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7166, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7166, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7166, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7166, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7166, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 7166, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 7166, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7166, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7166, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7166, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7166, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7167, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7167, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7167, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7167, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7166, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLBREAKAWAY_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLBREAKAWAY_Peek(((TA_CDLBREAKAWAY_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLBREAKAWAY_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7174, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7175, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLBREAKAWAY_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLBREAKAWAY_Value(((TA_CDLBREAKAWAY_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLBREAKAWAY_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLBREAKAWAY_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLBREAKAWAY_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLBREAKAWAY_OutRange(((TA_CDLBREAKAWAY_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLBREAKAWAY_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLBREAKAWAY_Advance(((TA_CDLBREAKAWAY_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_10copy, "CDLBREAKAWAY_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_self) { - TA_CDLBREAKAWAY_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream))))) __PYX_ERR(3, 7197, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLBREAKAWAY_Clone(((TA_CDLBREAKAWAY_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLBREAKAWAY_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLBREAKAWAY_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLCLOSINGMARUBOZU_Close(((TA_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7229, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7229, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7229, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7229, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7229, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 7229, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 7229, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7229, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7229, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7229, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7229, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7229, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCLOSINGMARUBOZU_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLCLOSINGMARUBOZU_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7231, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7233, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7234, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7234, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7234, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7234, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7234, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7235, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7236, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7237, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7242, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLCLOSINGMARUBOZU_Lookback() + 1); - - __pyx_v_retCode = TA_CDLCLOSINGMARUBOZU_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLCLOSINGMARUBOZU_Close(((TA_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLCLOSINGMARUBOZU_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7259, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLCLOSINGMARUBOZU_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_4open_and_fill, "CDLCLOSINGMARUBOZU_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7261, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7261, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7261, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7261, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7261, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 7261, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 7261, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7261, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7261, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7261, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7261, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7261, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCLOSINGMARUBOZU_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLCLOSINGMARUBOZU_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7263, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7266, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7267, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7267, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7267, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7267, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7268, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7269, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7270, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7278, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLCLOSINGMARUBOZU_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7282, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCLOSINGMARUBOZU_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLCLOSINGMARUBOZU_OpenAndFil, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7293, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7294, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 7294, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 7294, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 7294, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 7294, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 7294, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7294, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 7294, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 7294, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLCLOSINGMARUBOZU_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_6update, "CDLCLOSINGMARUBOZU_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7296, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7296, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7296, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7296, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7296, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 7296, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 7296, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7296, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7296, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7296, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7296, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7297, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7297, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7297, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7297, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7296, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCLOSINGMARUBOZU_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCLOSINGMARUBOZU_Update(((TA_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCLOSINGMARUBOZU_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7304, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLCLOSINGMARUBOZU_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_8peek, "CDLCLOSINGMARUBOZU_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7307, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7307, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7307, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7307, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7307, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 7307, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 7307, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7307, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7307, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7307, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7307, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7308, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7308, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7308, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7308, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7307, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCLOSINGMARUBOZU_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCLOSINGMARUBOZU_Peek(((TA_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCLOSINGMARUBOZU_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7316, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLCLOSINGMARUBOZU_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCLOSINGMARUBOZU_Value(((TA_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCLOSINGMARUBOZU_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7326, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLCLOSINGMARUBOZU_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLCLOSINGMARUBOZU_OutRange(((TA_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLCLOSINGMARUBOZU_Advance(((TA_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_10copy, "CDLCLOSINGMARUBOZU_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_self) { - TA_CDLCLOSINGMARUBOZU_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream))))) __PYX_ERR(3, 7338, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCLOSINGMARUBOZU_Clone(((TA_CDLCLOSINGMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCLOSINGMARUBOZU_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7348, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLCLOSINGMARUBOZU_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLCONCEALBABYSWALL_Close(((TA_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7370, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7370, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7370, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7370, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7370, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 7370, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 7370, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7370, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7370, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7370, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7370, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7370, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCONCEALBABYSWALL_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLCONCEALBABYSWALL_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7371, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7372, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7373, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7375, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7375, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7375, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7375, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7375, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7376, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7377, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7378, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7383, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLCONCEALBABYSWALL_Lookback() + 1); - - __pyx_v_retCode = TA_CDLCONCEALBABYSWALL_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLCONCEALBABYSWALL_Close(((TA_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLCONCEALBABYSWALL_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7400, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLCONCEALBABYSWALL_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_4open_and_fill, "CDLCONCEALBABYSWALL_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7402, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7402, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7402, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7402, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7402, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 7402, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 7402, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7402, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7402, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7402, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7402, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7402, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCONCEALBABYSWALL_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLCONCEALBABYSWALL_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7404, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7405, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7406, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7407, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7408, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7408, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7408, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7408, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7409, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7410, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7411, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7419, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLCONCEALBABYSWALL_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7423, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCONCEALBABYSWALL_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLCONCEALBABYSWALL_OpenAndFi, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7434, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7435, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 7435, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 7435, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 7435, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 7435, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 7435, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7435, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 7435, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 7435, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLCONCEALBABYSWALL_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_6update, "CDLCONCEALBABYSWALL_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7437, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7437, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7437, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7437, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7437, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 7437, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 7437, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7437, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7437, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7437, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7437, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7438, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7438, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7438, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7438, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7437, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCONCEALBABYSWALL_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCONCEALBABYSWALL_Update(((TA_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCONCEALBABYSWALL_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLCONCEALBABYSWALL_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_8peek, "CDLCONCEALBABYSWALL_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7448, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7448, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7448, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7448, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7448, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 7448, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 7448, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7448, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7448, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7448, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7448, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7449, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7449, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7449, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7449, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7448, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCONCEALBABYSWALL_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCONCEALBABYSWALL_Peek(((TA_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCONCEALBABYSWALL_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7457, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLCONCEALBABYSWALL_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCONCEALBABYSWALL_Value(((TA_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCONCEALBABYSWALL_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7467, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7468, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLCONCEALBABYSWALL_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLCONCEALBABYSWALL_OutRange(((TA_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLCONCEALBABYSWALL_Advance(((TA_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_10copy, "CDLCONCEALBABYSWALL_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_self) { - TA_CDLCONCEALBABYSWALL_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7479, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream))))) __PYX_ERR(3, 7479, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCONCEALBABYSWALL_Clone(((TA_CDLCONCEALBABYSWALL_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCONCEALBABYSWALL_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7489, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLCONCEALBABYSWALL_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLCOUNTERATTACK_Close(((TA_CDLCOUNTERATTACK_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7511, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7511, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7511, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7511, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7511, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 7511, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 7511, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7511, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7511, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7511, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7511, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7511, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCOUNTERATTACK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLCOUNTERATTACK_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7512, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7513, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7514, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7516, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7516, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7516, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7516, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7516, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7517, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7518, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7519, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7524, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLCOUNTERATTACK_Lookback() + 1); - - __pyx_v_retCode = TA_CDLCOUNTERATTACK_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLCOUNTERATTACK_Close(((TA_CDLCOUNTERATTACK_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLCOUNTERATTACK_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLCOUNTERATTACK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_4open_and_fill, "CDLCOUNTERATTACK_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7543, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 7543, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 7543, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7543, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7543, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7543, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7543, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7543, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCOUNTERATTACK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLCOUNTERATTACK_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7546, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7547, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7548, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7549, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7549, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7549, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7549, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7549, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7550, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7551, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7552, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7558, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7560, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLCOUNTERATTACK_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7564, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCOUNTERATTACK_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLCOUNTERATTACK_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7575, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 7576, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 7576, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 7576, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 7576, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 7576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 7576, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 7576, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLCOUNTERATTACK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_6update, "CDLCOUNTERATTACK_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7578, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7578, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7578, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7578, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7578, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 7578, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 7578, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7578, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7578, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7578, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7578, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7579, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7579, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7579, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7579, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7578, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCOUNTERATTACK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCOUNTERATTACK_Update(((TA_CDLCOUNTERATTACK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCOUNTERATTACK_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7586, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7587, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLCOUNTERATTACK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_8peek, "CDLCOUNTERATTACK_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7589, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7589, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7589, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7589, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7589, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 7589, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 7589, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7589, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7589, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7589, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7589, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7590, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7590, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7590, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7590, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7589, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLCOUNTERATTACK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCOUNTERATTACK_Peek(((TA_CDLCOUNTERATTACK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCOUNTERATTACK_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7597, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7598, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLCOUNTERATTACK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCOUNTERATTACK_Value(((TA_CDLCOUNTERATTACK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCOUNTERATTACK_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7608, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7609, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLCOUNTERATTACK_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLCOUNTERATTACK_OutRange(((TA_CDLCOUNTERATTACK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLCOUNTERATTACK_Advance(((TA_CDLCOUNTERATTACK_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_10copy, "CDLCOUNTERATTACK_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_self) { - TA_CDLCOUNTERATTACK_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7620, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream))))) __PYX_ERR(3, 7620, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLCOUNTERATTACK_Clone(((TA_CDLCOUNTERATTACK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLCOUNTERATTACK_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7630, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLCOUNTERATTACK_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLDARKCLOUDCOVER_Close(((TA_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7654, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 7654, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7654, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7654, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7654, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7654, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 7654, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, i); __PYX_ERR(3, 7654, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 7654, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7654, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7654, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7654, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7654, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7654, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.5); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 7654, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDARKCLOUDCOVER_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLDARKCLOUDCOVER_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7655, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7656, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7658, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7659, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7659, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7659, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7659, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7659, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7660, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7661, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7662, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7667, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLDARKCLOUDCOVER_Lookback(__pyx_v_penetration) + 1); - - __pyx_v_retCode = TA_CDLDARKCLOUDCOVER_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLDARKCLOUDCOVER_Close(((TA_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLDARKCLOUDCOVER_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLDARKCLOUDCOVER_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_4open_and_fill, "CDLDARKCLOUDCOVER_Stream.open_and_fill(open, high, low, close, double penetration=0.5)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7686, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 7686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 7686, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, i); __PYX_ERR(3, 7686, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 7686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7686, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7686, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7686, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7686, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7687, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.5); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 7686, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDARKCLOUDCOVER_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLDARKCLOUDCOVER_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7688, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7689, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7690, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7691, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7692, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7692, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7692, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7692, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7692, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7693, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7694, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7695, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7703, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLDARKCLOUDCOVER_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7707, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDARKCLOUDCOVER_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLDARKCLOUDCOVER_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7718, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7719, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 7719, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 7719, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 7719, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 7719, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 7719, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7719, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 7719, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 7719, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLDARKCLOUDCOVER_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_6update, "CDLDARKCLOUDCOVER_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7721, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7721, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7721, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7721, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7721, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 7721, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 7721, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7721, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7721, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7721, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7721, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7722, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7722, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7722, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7722, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7721, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDARKCLOUDCOVER_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDARKCLOUDCOVER_Update(((TA_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDARKCLOUDCOVER_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7729, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7730, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLDARKCLOUDCOVER_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_8peek, "CDLDARKCLOUDCOVER_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7732, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7732, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7732, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7732, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7732, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 7732, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 7732, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7732, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7732, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7732, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7732, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7733, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7733, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7733, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7733, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7732, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDARKCLOUDCOVER_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDARKCLOUDCOVER_Peek(((TA_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDARKCLOUDCOVER_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7740, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7741, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLDARKCLOUDCOVER_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDARKCLOUDCOVER_Value(((TA_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDARKCLOUDCOVER_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7751, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7752, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLDARKCLOUDCOVER_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLDARKCLOUDCOVER_OutRange(((TA_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLDARKCLOUDCOVER_Advance(((TA_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_10copy, "CDLDARKCLOUDCOVER_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_self) { - TA_CDLDARKCLOUDCOVER_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7763, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream))))) __PYX_ERR(3, 7763, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDARKCLOUDCOVER_Clone(((TA_CDLDARKCLOUDCOVER_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDARKCLOUDCOVER_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7773, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLDARKCLOUDCOVER_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLDOJI_Close(((TA_CDLDOJI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7795, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7795, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7795, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7795, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7795, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 7795, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 7795, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7795, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7795, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7795, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7795, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7795, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDOJI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLDOJI_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7796, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7797, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7799, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7800, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7800, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7800, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7800, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7800, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7801, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7802, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7803, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7808, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLDOJI_Lookback() + 1); - - __pyx_v_retCode = TA_CDLDOJI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLDOJI_Close(((TA_CDLDOJI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14CDLDOJI_Stream_4open_and_fill, "CDLDOJI_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_14CDLDOJI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14CDLDOJI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7827, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7827, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7827, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7827, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7827, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 7827, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 7827, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7827, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7827, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7827, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7827, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7827, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDOJI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLDOJI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7829, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7830, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7831, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7832, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7833, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7833, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7833, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7833, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7833, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7834, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7835, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7836, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLDOJI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7842, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7844, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLDOJI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7848, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDOJI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7860, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 7860, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 7860, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 7860, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 7860, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 7860, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7860, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 7860, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 7860, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14CDLDOJI_Stream_6update, "CDLDOJI_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7862, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7862, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7862, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7862, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7862, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 7862, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 7862, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7862, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7862, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7862, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7862, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7863, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7863, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7863, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7863, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7862, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDOJI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDOJI_Update(((TA_CDLDOJI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7870, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14CDLDOJI_Stream_8peek, "CDLDOJI_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7873, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7873, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7873, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7873, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7873, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 7873, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 7873, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7873, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7873, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7873, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7873, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7874, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7874, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7874, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 7874, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7873, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDOJI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDOJI_Peek(((TA_CDLDOJI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7881, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDOJI_Value(((TA_CDLDOJI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7892, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 7893, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14CDLDOJI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLDOJI_OutRange(((TA_CDLDOJI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14CDLDOJI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLDOJI_Advance(((TA_CDLDOJI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14CDLDOJI_Stream_10copy, "CDLDOJI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14CDLDOJI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_self) { - TA_CDLDOJI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7904, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream))))) __PYX_ERR(3, 7904, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDOJI_Clone(((TA_CDLDOJI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7914, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLDOJISTAR_Close(((TA_CDLDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7936, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7936, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7936, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7936, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7936, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 7936, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 7936, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7936, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7936, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7936, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7936, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7936, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDOJISTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLDOJISTAR_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7937, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7938, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7939, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7940, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7941, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7941, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7941, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7941, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7941, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7942, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7943, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7944, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7949, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLDOJISTAR_Lookback() + 1); - - __pyx_v_retCode = TA_CDLDOJISTAR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLDOJISTAR_Close(((TA_CDLDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJISTAR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7966, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJISTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLDOJISTAR_Stream_4open_and_fill, "CDLDOJISTAR_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_18CDLDOJISTAR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLDOJISTAR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 7968, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7968, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7968, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7968, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7968, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 7968, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 7968, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 7968, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 7968, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 7968, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 7968, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 7968, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDOJISTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLDOJISTAR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7970, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7971, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7972, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7973, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7974, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 7974, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 7974, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 7974, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 7974, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 7975, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 7976, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 7977, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLDOJISTAR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7983, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 7985, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLDOJISTAR_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7989, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDOJISTAR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJISTAR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8000, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 8001, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 8001, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 8001, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 8001, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 8001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 8001, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 8001, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJISTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLDOJISTAR_Stream_6update, "CDLDOJISTAR_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8003, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8003, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8003, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8003, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8003, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 8003, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 8003, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8003, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8003, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8003, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8003, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8004, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8004, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8004, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8004, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8003, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDOJISTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDOJISTAR_Update(((TA_CDLDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJISTAR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8011, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8012, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJISTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLDOJISTAR_Stream_8peek, "CDLDOJISTAR_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8014, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8014, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8014, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8014, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8014, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 8014, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 8014, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8014, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8014, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8014, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8014, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8015, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8015, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8015, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8015, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8014, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDOJISTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDOJISTAR_Peek(((TA_CDLDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJISTAR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8022, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8023, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJISTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDOJISTAR_Value(((TA_CDLDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJISTAR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8033, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8034, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJISTAR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLDOJISTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLDOJISTAR_OutRange(((TA_CDLDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLDOJISTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLDOJISTAR_Advance(((TA_CDLDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLDOJISTAR_Stream_10copy, "CDLDOJISTAR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLDOJISTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_self) { - TA_CDLDOJISTAR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8045, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream))))) __PYX_ERR(3, 8045, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDOJISTAR_Clone(((TA_CDLDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDOJISTAR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8055, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLDOJISTAR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLDRAGONFLYDOJI_Close(((TA_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8077, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8077, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8077, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8077, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8077, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 8077, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 8077, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8077, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8077, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8077, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8077, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8077, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDRAGONFLYDOJI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLDRAGONFLYDOJI_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8078, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8079, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8080, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8081, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8082, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8082, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8082, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8082, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8082, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8083, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8084, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8085, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8090, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLDRAGONFLYDOJI_Lookback() + 1); - - __pyx_v_retCode = TA_CDLDRAGONFLYDOJI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLDRAGONFLYDOJI_Close(((TA_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLDRAGONFLYDOJI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLDRAGONFLYDOJI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_4open_and_fill, "CDLDRAGONFLYDOJI_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8109, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8109, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8109, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8109, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8109, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 8109, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 8109, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8109, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8109, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8109, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8109, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8109, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDRAGONFLYDOJI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLDRAGONFLYDOJI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8112, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8113, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8115, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8115, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8115, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8115, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8115, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8116, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8117, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8118, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8126, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLDRAGONFLYDOJI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8130, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDRAGONFLYDOJI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLDRAGONFLYDOJI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8141, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 8142, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 8142, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 8142, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 8142, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 8142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 8142, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 8142, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLDRAGONFLYDOJI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_6update, "CDLDRAGONFLYDOJI_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8144, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8144, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8144, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8144, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8144, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 8144, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 8144, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8144, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8144, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8144, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8144, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8145, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8145, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8145, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8145, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8144, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDRAGONFLYDOJI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDRAGONFLYDOJI_Update(((TA_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDRAGONFLYDOJI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8152, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLDRAGONFLYDOJI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_8peek, "CDLDRAGONFLYDOJI_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8155, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8155, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8155, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8155, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8155, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 8155, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 8155, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8155, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8155, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8155, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8155, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8156, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8156, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8156, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8156, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8155, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLDRAGONFLYDOJI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDRAGONFLYDOJI_Peek(((TA_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDRAGONFLYDOJI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLDRAGONFLYDOJI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDRAGONFLYDOJI_Value(((TA_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDRAGONFLYDOJI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8174, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8175, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLDRAGONFLYDOJI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLDRAGONFLYDOJI_OutRange(((TA_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLDRAGONFLYDOJI_Advance(((TA_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_10copy, "CDLDRAGONFLYDOJI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_self) { - TA_CDLDRAGONFLYDOJI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream))))) __PYX_ERR(3, 8186, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLDRAGONFLYDOJI_Clone(((TA_CDLDRAGONFLYDOJI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLDRAGONFLYDOJI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLDRAGONFLYDOJI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLENGULFING_Close(((TA_CDLENGULFING_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8218, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8218, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8218, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8218, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8218, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 8218, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 8218, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8218, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8218, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8218, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8218, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8218, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLENGULFING_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLENGULFING_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8223, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8223, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8223, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8223, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8223, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8224, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8225, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8226, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8231, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLENGULFING_Lookback() + 1); - - __pyx_v_retCode = TA_CDLENGULFING_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLENGULFING_Close(((TA_CDLENGULFING_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLENGULFING_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLENGULFING_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLENGULFING_Stream_4open_and_fill, "CDLENGULFING_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_19CDLENGULFING_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLENGULFING_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8250, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8250, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8250, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8250, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8250, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 8250, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 8250, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8250, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8250, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8250, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8250, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8250, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLENGULFING_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLENGULFING_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8253, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8254, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8255, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8256, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8256, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8256, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8256, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8257, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8258, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8259, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLENGULFING_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8267, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLENGULFING_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8271, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLENGULFING_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLENGULFING_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8282, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8283, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 8283, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 8283, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 8283, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 8283, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 8283, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8283, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 8283, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 8283, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLENGULFING_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLENGULFING_Stream_6update, "CDLENGULFING_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8285, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8285, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 8285, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 8285, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8285, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8285, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8285, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8285, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8286, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8286, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8286, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8286, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8285, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLENGULFING_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLENGULFING_Update(((TA_CDLENGULFING_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLENGULFING_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8293, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8294, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLENGULFING_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLENGULFING_Stream_8peek, "CDLENGULFING_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8296, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8296, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8296, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8296, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8296, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 8296, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 8296, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8296, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8296, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8296, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8296, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8297, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8297, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8297, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8297, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8296, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLENGULFING_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLENGULFING_Peek(((TA_CDLENGULFING_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLENGULFING_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8304, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLENGULFING_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLENGULFING_Value(((TA_CDLENGULFING_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLENGULFING_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8316, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLENGULFING_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLENGULFING_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLENGULFING_OutRange(((TA_CDLENGULFING_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLENGULFING_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLENGULFING_Advance(((TA_CDLENGULFING_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLENGULFING_Stream_10copy, "CDLENGULFING_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLENGULFING_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_self) { - TA_CDLENGULFING_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream))))) __PYX_ERR(3, 8327, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLENGULFING_Clone(((TA_CDLENGULFING_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLENGULFING_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8337, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLENGULFING_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLEVENINGDOJISTAR_Close(((TA_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8361, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 8361, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8361, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8361, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8361, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8361, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 8361, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, i); __PYX_ERR(3, 8361, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 8361, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8361, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8361, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8361, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8361, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8361, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.3); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 8361, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGDOJISTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLEVENINGDOJISTAR_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8362, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8363, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8364, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8365, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8366, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8366, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8366, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8366, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8367, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8368, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8369, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8374, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLEVENINGDOJISTAR_Lookback(__pyx_v_penetration) + 1); - - __pyx_v_retCode = TA_CDLEVENINGDOJISTAR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLEVENINGDOJISTAR_Close(((TA_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGDOJISTAR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8391, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGDOJISTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_4open_and_fill, "CDLEVENINGDOJISTAR_Stream.open_and_fill(open, high, low, close, double penetration=0.3)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8393, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 8393, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8393, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8393, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8393, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8393, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 8393, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, i); __PYX_ERR(3, 8393, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 8393, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8393, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8393, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8393, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8393, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8394, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.3); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 8393, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGDOJISTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLEVENINGDOJISTAR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8395, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8396, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8397, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8398, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8399, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8399, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8399, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8399, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8399, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8400, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8401, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8402, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8410, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLEVENINGDOJISTAR_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8414, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLEVENINGDOJISTAR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGDOJISTAR_OpenAndFil, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8425, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 8426, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 8426, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 8426, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 8426, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 8426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 8426, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 8426, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGDOJISTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_6update, "CDLEVENINGDOJISTAR_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8428, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 8428, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 8428, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8428, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8428, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8428, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8428, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8429, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8429, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8429, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8429, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8428, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGDOJISTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLEVENINGDOJISTAR_Update(((TA_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGDOJISTAR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8437, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGDOJISTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_8peek, "CDLEVENINGDOJISTAR_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8439, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8439, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8439, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8439, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8439, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 8439, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 8439, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8439, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8439, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8439, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8439, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8440, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8440, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8440, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8440, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8439, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGDOJISTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLEVENINGDOJISTAR_Peek(((TA_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGDOJISTAR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGDOJISTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLEVENINGDOJISTAR_Value(((TA_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGDOJISTAR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGDOJISTAR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLEVENINGDOJISTAR_OutRange(((TA_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLEVENINGDOJISTAR_Advance(((TA_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_10copy, "CDLEVENINGDOJISTAR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_self) { - TA_CDLEVENINGDOJISTAR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8470, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream))))) __PYX_ERR(3, 8470, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLEVENINGDOJISTAR_Clone(((TA_CDLEVENINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGDOJISTAR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGDOJISTAR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLEVENINGSTAR_Close(((TA_CDLEVENINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8504, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 8504, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8504, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8504, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8504, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8504, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 8504, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, i); __PYX_ERR(3, 8504, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 8504, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8504, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8504, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8504, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8504, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8504, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.3); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 8504, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGSTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLEVENINGSTAR_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8506, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8507, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8508, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8509, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8509, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8509, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8509, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8509, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8510, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8511, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8512, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8517, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLEVENINGSTAR_Lookback(__pyx_v_penetration) + 1); - - __pyx_v_retCode = TA_CDLEVENINGSTAR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLEVENINGSTAR_Close(((TA_CDLEVENINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGSTAR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGSTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_4open_and_fill, "CDLEVENINGSTAR_Stream.open_and_fill(open, high, low, close, double penetration=0.3)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8536, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 8536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 8536, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, i); __PYX_ERR(3, 8536, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 8536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8536, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8536, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8536, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8536, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8537, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.3); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 8536, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGSTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLEVENINGSTAR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8538, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8539, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8542, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8542, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8542, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8542, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8542, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8543, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8544, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8545, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8551, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8553, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLEVENINGSTAR_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8557, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLEVENINGSTAR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGSTAR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8568, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8569, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 8569, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 8569, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 8569, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 8569, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 8569, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8569, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 8569, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 8569, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGSTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_6update, "CDLEVENINGSTAR_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8571, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8571, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8571, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8571, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8571, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 8571, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 8571, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8571, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8571, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8571, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8571, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8572, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8572, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8572, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8572, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8571, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGSTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLEVENINGSTAR_Update(((TA_CDLEVENINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGSTAR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8580, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGSTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_8peek, "CDLEVENINGSTAR_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8582, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8582, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8582, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8582, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8582, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 8582, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 8582, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8582, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8582, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8582, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8582, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8583, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8583, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8583, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8583, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8582, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGSTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLEVENINGSTAR_Peek(((TA_CDLEVENINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGSTAR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8590, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8591, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGSTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLEVENINGSTAR_Value(((TA_CDLEVENINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGSTAR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8602, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGSTAR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLEVENINGSTAR_OutRange(((TA_CDLEVENINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLEVENINGSTAR_Advance(((TA_CDLEVENINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_10copy, "CDLEVENINGSTAR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_self) { - TA_CDLEVENINGSTAR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream))))) __PYX_ERR(3, 8613, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLEVENINGSTAR_Clone(((TA_CDLEVENINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLEVENINGSTAR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8623, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLEVENINGSTAR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLGAPSIDESIDEWHITE_Close(((TA_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8645, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8645, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8645, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8645, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8645, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 8645, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 8645, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8645, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8645, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8645, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8645, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8645, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLGAPSIDESIDEWHITE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8646, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8647, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8648, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8649, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8650, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8650, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8650, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8650, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8650, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8651, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8652, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8653, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8658, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLGAPSIDESIDEWHITE_Lookback() + 1); - - __pyx_v_retCode = TA_CDLGAPSIDESIDEWHITE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLGAPSIDESIDEWHITE_Close(((TA_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLGAPSIDESIDEWHITE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLGAPSIDESIDEWHITE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_4open_and_fill, "CDLGAPSIDESIDEWHITE_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8677, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 8677, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 8677, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8677, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8677, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8677, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8677, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8677, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLGAPSIDESIDEWHITE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8679, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8680, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8681, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8682, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8683, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8683, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8683, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8683, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8683, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8684, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8685, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8686, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8692, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8694, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLGAPSIDESIDEWHITE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8698, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLGAPSIDESIDEWHITE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLGAPSIDESIDEWHITE_OpenAndFi, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8709, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 8710, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 8710, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 8710, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 8710, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 8710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 8710, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 8710, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLGAPSIDESIDEWHITE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_6update, "CDLGAPSIDESIDEWHITE_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8712, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8712, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8712, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8712, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8712, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 8712, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 8712, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8712, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8712, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8712, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8712, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8713, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8713, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8713, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8713, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8712, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLGAPSIDESIDEWHITE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLGAPSIDESIDEWHITE_Update(((TA_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLGAPSIDESIDEWHITE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8720, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8721, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLGAPSIDESIDEWHITE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_8peek, "CDLGAPSIDESIDEWHITE_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8723, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8723, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8723, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8723, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8723, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 8723, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 8723, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8723, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8723, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8723, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8723, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8724, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8724, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8724, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8724, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8723, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLGAPSIDESIDEWHITE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLGAPSIDESIDEWHITE_Peek(((TA_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLGAPSIDESIDEWHITE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8731, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8732, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLGAPSIDESIDEWHITE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLGAPSIDESIDEWHITE_Value(((TA_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLGAPSIDESIDEWHITE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8742, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8743, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLGAPSIDESIDEWHITE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLGAPSIDESIDEWHITE_OutRange(((TA_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLGAPSIDESIDEWHITE_Advance(((TA_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_10copy, "CDLGAPSIDESIDEWHITE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_self) { - TA_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8754, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream))))) __PYX_ERR(3, 8754, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLGAPSIDESIDEWHITE_Clone(((TA_CDLGAPSIDESIDEWHITE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLGAPSIDESIDEWHITE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8764, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLGAPSIDESIDEWHITE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLGRAVESTONEDOJI_Close(((TA_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8786, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8786, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8786, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8786, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8786, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 8786, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 8786, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8786, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8786, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8786, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8786, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8786, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLGRAVESTONEDOJI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLGRAVESTONEDOJI_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8787, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8788, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8789, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8790, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8791, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8791, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8791, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8791, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8791, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8792, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8793, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8794, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8799, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLGRAVESTONEDOJI_Lookback() + 1); - - __pyx_v_retCode = TA_CDLGRAVESTONEDOJI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLGRAVESTONEDOJI_Close(((TA_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLGRAVESTONEDOJI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8816, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLGRAVESTONEDOJI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_4open_and_fill, "CDLGRAVESTONEDOJI_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8818, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8818, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8818, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8818, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8818, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 8818, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 8818, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8818, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8818, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8818, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8818, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8818, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLGRAVESTONEDOJI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLGRAVESTONEDOJI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8820, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8821, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8822, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8823, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8824, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8824, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8824, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8824, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8825, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8826, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8827, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8833, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8835, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLGRAVESTONEDOJI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8839, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLGRAVESTONEDOJI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLGRAVESTONEDOJI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8850, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8851, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 8851, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 8851, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 8851, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 8851, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 8851, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8851, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 8851, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 8851, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLGRAVESTONEDOJI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_6update, "CDLGRAVESTONEDOJI_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8853, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8853, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8853, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8853, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8853, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 8853, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 8853, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8853, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8853, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8853, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8853, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8854, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8854, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8854, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8854, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8853, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLGRAVESTONEDOJI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLGRAVESTONEDOJI_Update(((TA_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLGRAVESTONEDOJI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8861, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8862, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLGRAVESTONEDOJI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_8peek, "CDLGRAVESTONEDOJI_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8864, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8864, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8864, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8864, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8864, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 8864, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 8864, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8864, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8864, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8864, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8864, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8865, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8865, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8865, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8865, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8864, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLGRAVESTONEDOJI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLGRAVESTONEDOJI_Peek(((TA_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLGRAVESTONEDOJI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8872, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8873, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLGRAVESTONEDOJI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLGRAVESTONEDOJI_Value(((TA_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLGRAVESTONEDOJI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8883, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 8884, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLGRAVESTONEDOJI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLGRAVESTONEDOJI_OutRange(((TA_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLGRAVESTONEDOJI_Advance(((TA_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_10copy, "CDLGRAVESTONEDOJI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_self) { - TA_CDLGRAVESTONEDOJI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8895, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream))))) __PYX_ERR(3, 8895, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLGRAVESTONEDOJI_Clone(((TA_CDLGRAVESTONEDOJI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLGRAVESTONEDOJI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8905, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLGRAVESTONEDOJI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLHAMMER_Close(((TA_CDLHAMMER_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8927, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8927, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8927, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8927, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8927, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 8927, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 8927, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8927, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8927, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8927, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8927, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8927, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHAMMER_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLHAMMER_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8928, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8929, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8930, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8931, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8932, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8932, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8932, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8932, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8932, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8933, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8934, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8935, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8940, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLHAMMER_Lookback() + 1); - - __pyx_v_retCode = TA_CDLHAMMER_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLHAMMER_Close(((TA_CDLHAMMER_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHAMMER_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8957, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHAMMER_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLHAMMER_Stream_4open_and_fill, "CDLHAMMER_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_16CDLHAMMER_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLHAMMER_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8959, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 8959, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 8959, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8959, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8959, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8959, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8959, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8959, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHAMMER_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLHAMMER_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8961, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8962, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8963, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8964, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8965, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 8965, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 8965, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 8965, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 8965, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 8966, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 8967, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 8968, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLHAMMER_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8974, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 8976, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHAMMER_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8980, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHAMMER_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHAMMER_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8991, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8992, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 8992, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 8992, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 8992, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 8992, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 8992, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8992, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 8992, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 8992, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLHAMMER_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLHAMMER_Stream_6update, "CDLHAMMER_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 8994, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8994, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8994, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8994, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8994, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 8994, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 8994, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 8994, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 8994, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 8994, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 8994, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8995, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8995, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8995, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 8995, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 8994, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHAMMER_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHAMMER_Update(((TA_CDLHAMMER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHAMMER_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9002, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHAMMER_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLHAMMER_Stream_8peek, "CDLHAMMER_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9005, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9005, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9005, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9005, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9005, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 9005, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 9005, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9005, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9005, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9005, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9005, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9006, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9006, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9006, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9006, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9005, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHAMMER_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHAMMER_Peek(((TA_CDLHAMMER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHAMMER_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9014, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHAMMER_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHAMMER_Value(((TA_CDLHAMMER_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHAMMER_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9024, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHAMMER_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLHAMMER_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHAMMER_OutRange(((TA_CDLHAMMER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLHAMMER_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHAMMER_Advance(((TA_CDLHAMMER_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLHAMMER_Stream_10copy, "CDLHAMMER_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHAMMER_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_self) { - TA_CDLHAMMER_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9036, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream))))) __PYX_ERR(3, 9036, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHAMMER_Clone(((TA_CDLHAMMER_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHAMMER_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9046, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLHAMMER_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLHANGINGMAN_Close(((TA_CDLHANGINGMAN_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9068, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9068, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9068, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9068, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9068, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 9068, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 9068, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9068, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9068, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9068, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9068, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9068, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHANGINGMAN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLHANGINGMAN_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9069, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9070, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9071, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9072, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9073, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9073, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9073, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9073, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9073, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9074, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9075, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9076, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9081, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLHANGINGMAN_Lookback() + 1); - - __pyx_v_retCode = TA_CDLHANGINGMAN_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLHANGINGMAN_Close(((TA_CDLHANGINGMAN_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHANGINGMAN_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHANGINGMAN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_4open_and_fill, "CDLHANGINGMAN_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9100, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9100, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9100, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9100, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9100, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 9100, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 9100, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9100, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9100, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9100, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9100, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9100, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHANGINGMAN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLHANGINGMAN_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9103, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9105, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9106, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9106, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9106, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9106, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9107, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9108, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9109, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLHANGINGMAN_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9115, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9117, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHANGINGMAN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9121, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHANGINGMAN_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHANGINGMAN_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 9133, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 9133, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 9133, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 9133, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 9133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 9133, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 9133, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLHANGINGMAN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_6update, "CDLHANGINGMAN_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9135, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9135, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9135, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9135, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9135, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 9135, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 9135, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9135, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9135, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9135, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9135, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9136, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9136, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9136, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9136, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9135, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHANGINGMAN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHANGINGMAN_Update(((TA_CDLHANGINGMAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHANGINGMAN_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHANGINGMAN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_8peek, "CDLHANGINGMAN_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9146, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9146, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9146, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9146, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9146, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 9146, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 9146, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9146, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9146, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9146, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9146, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9147, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9147, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9147, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9147, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9146, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHANGINGMAN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHANGINGMAN_Peek(((TA_CDLHANGINGMAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHANGINGMAN_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHANGINGMAN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHANGINGMAN_Value(((TA_CDLHANGINGMAN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHANGINGMAN_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHANGINGMAN_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_20CDLHANGINGMAN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHANGINGMAN_OutRange(((TA_CDLHANGINGMAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_20CDLHANGINGMAN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHANGINGMAN_Advance(((TA_CDLHANGINGMAN_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_10copy, "CDLHANGINGMAN_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_self) { - TA_CDLHANGINGMAN_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9177, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream))))) __PYX_ERR(3, 9177, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHANGINGMAN_Clone(((TA_CDLHANGINGMAN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHANGINGMAN_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9187, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLHANGINGMAN_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLHARAMI_Close(((TA_CDLHARAMI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9209, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9209, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9209, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9209, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9209, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 9209, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 9209, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9209, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9209, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9209, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9209, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9209, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLHARAMI_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9212, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9214, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9214, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9214, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9214, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9215, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9216, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9217, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9222, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLHARAMI_Lookback() + 1); - - __pyx_v_retCode = TA_CDLHARAMI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLHARAMI_Close(((TA_CDLHARAMI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9239, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLHARAMI_Stream_4open_and_fill, "CDLHARAMI_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_16CDLHARAMI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLHARAMI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9241, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9241, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9241, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9241, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9241, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 9241, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 9241, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9241, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9241, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9241, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9241, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9241, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLHARAMI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9243, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9245, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9247, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9247, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9247, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9247, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9248, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9249, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9250, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLHARAMI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9258, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHARAMI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9262, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHARAMI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9273, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 9274, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 9274, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 9274, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 9274, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 9274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 9274, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 9274, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLHARAMI_Stream_6update, "CDLHARAMI_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9276, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9276, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9276, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9276, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9276, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 9276, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 9276, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9276, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9276, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9276, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9276, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9277, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9277, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9277, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9277, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9276, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHARAMI_Update(((TA_CDLHARAMI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9284, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9285, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLHARAMI_Stream_8peek, "CDLHARAMI_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9287, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9287, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9287, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9287, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9287, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 9287, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 9287, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9287, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9287, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9287, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9287, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9288, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9288, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9288, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9288, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9287, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHARAMI_Peek(((TA_CDLHARAMI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9295, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9296, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHARAMI_Value(((TA_CDLHARAMI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9306, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLHARAMI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHARAMI_OutRange(((TA_CDLHARAMI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLHARAMI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHARAMI_Advance(((TA_CDLHARAMI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLHARAMI_Stream_10copy, "CDLHARAMI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLHARAMI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_self) { - TA_CDLHARAMI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream))))) __PYX_ERR(3, 9318, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHARAMI_Clone(((TA_CDLHARAMI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9328, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLHARAMICROSS_Close(((TA_CDLHARAMICROSS_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9350, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9350, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9350, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9350, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9350, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 9350, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 9350, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9350, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9350, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9350, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9350, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9350, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMICROSS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLHARAMICROSS_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9352, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9354, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9355, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9355, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9355, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9355, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9355, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9356, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9357, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9358, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9363, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLHARAMICROSS_Lookback() + 1); - - __pyx_v_retCode = TA_CDLHARAMICROSS_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLHARAMICROSS_Close(((TA_CDLHARAMICROSS_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMICROSS_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9380, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMICROSS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_4open_and_fill, "CDLHARAMICROSS_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9382, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9382, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9382, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9382, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9382, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 9382, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 9382, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9382, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9382, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9382, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9382, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9382, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMICROSS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLHARAMICROSS_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9384, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9388, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9388, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9388, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9388, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9388, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9389, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9390, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9391, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLHARAMICROSS_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9397, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9399, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHARAMICROSS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9403, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHARAMICROSS_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMICROSS_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9414, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9415, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 9415, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 9415, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 9415, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 9415, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 9415, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9415, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 9415, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 9415, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMICROSS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_6update, "CDLHARAMICROSS_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9417, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9417, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9417, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9417, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9417, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 9417, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 9417, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9417, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9417, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9417, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9417, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9418, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9418, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9418, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9418, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9417, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMICROSS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHARAMICROSS_Update(((TA_CDLHARAMICROSS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMICROSS_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9425, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMICROSS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_8peek, "CDLHARAMICROSS_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9428, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 9428, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 9428, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9428, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9428, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9428, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9428, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9429, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9429, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9429, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9429, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9428, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMICROSS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHARAMICROSS_Peek(((TA_CDLHARAMICROSS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMICROSS_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9437, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMICROSS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHARAMICROSS_Value(((TA_CDLHARAMICROSS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMICROSS_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMICROSS_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLHARAMICROSS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHARAMICROSS_OutRange(((TA_CDLHARAMICROSS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLHARAMICROSS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHARAMICROSS_Advance(((TA_CDLHARAMICROSS_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_10copy, "CDLHARAMICROSS_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_self) { - TA_CDLHARAMICROSS_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream))))) __PYX_ERR(3, 9459, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHARAMICROSS_Clone(((TA_CDLHARAMICROSS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHARAMICROSS_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9469, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLHARAMICROSS_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLHIGHWAVE_Close(((TA_CDLHIGHWAVE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9491, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9491, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9491, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9491, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9491, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 9491, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 9491, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9491, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9491, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9491, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9491, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9491, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIGHWAVE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLHIGHWAVE_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9493, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9494, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9495, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9496, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9496, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9496, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9496, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9496, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9497, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9498, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9499, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9504, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLHIGHWAVE_Lookback() + 1); - - __pyx_v_retCode = TA_CDLHIGHWAVE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLHIGHWAVE_Close(((TA_CDLHIGHWAVE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHIGHWAVE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9521, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHIGHWAVE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_4open_and_fill, "CDLHIGHWAVE_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9523, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9523, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9523, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9523, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9523, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 9523, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 9523, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9523, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9523, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9523, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9523, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9523, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIGHWAVE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLHIGHWAVE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9526, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9527, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9528, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9529, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9529, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9529, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9529, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9529, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9530, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9531, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9532, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLHIGHWAVE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9538, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9540, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHIGHWAVE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9544, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIGHWAVE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHIGHWAVE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9555, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9556, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 9556, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 9556, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 9556, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 9556, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 9556, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9556, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 9556, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 9556, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLHIGHWAVE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_6update, "CDLHIGHWAVE_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9558, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9558, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9558, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9558, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9558, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 9558, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 9558, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9558, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9558, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9558, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9558, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9559, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9559, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9559, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9559, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9558, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIGHWAVE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIGHWAVE_Update(((TA_CDLHIGHWAVE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIGHWAVE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9566, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9567, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHIGHWAVE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_8peek, "CDLHIGHWAVE_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9569, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9569, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9569, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9569, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9569, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 9569, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 9569, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9569, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9569, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9569, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9569, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9570, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9570, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9570, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9570, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9569, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIGHWAVE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIGHWAVE_Peek(((TA_CDLHIGHWAVE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIGHWAVE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9577, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9578, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHIGHWAVE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIGHWAVE_Value(((TA_CDLHIGHWAVE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIGHWAVE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9588, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9589, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHIGHWAVE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLHIGHWAVE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHIGHWAVE_OutRange(((TA_CDLHIGHWAVE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLHIGHWAVE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHIGHWAVE_Advance(((TA_CDLHIGHWAVE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_10copy, "CDLHIGHWAVE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_self) { - TA_CDLHIGHWAVE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream))))) __PYX_ERR(3, 9600, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIGHWAVE_Clone(((TA_CDLHIGHWAVE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIGHWAVE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9610, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLHIGHWAVE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLHIKKAKE_Close(((TA_CDLHIKKAKE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9632, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9632, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9632, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9632, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9632, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 9632, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 9632, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9632, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9632, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9632, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9632, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9632, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLHIKKAKE_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9633, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9634, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9635, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9636, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9637, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9637, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9637, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9637, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9637, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9638, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9639, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9640, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9645, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLHIKKAKE_Lookback() + 1); - - __pyx_v_retCode = TA_CDLHIKKAKE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLHIKKAKE_Close(((TA_CDLHIKKAKE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9662, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLHIKKAKE_Stream_4open_and_fill, "CDLHIKKAKE_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_17CDLHIKKAKE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLHIKKAKE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9664, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9664, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9664, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9664, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9664, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 9664, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 9664, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9664, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9664, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9664, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9664, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9664, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLHIKKAKE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9666, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9667, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9668, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9669, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9670, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9670, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9670, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9670, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9670, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9671, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9672, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9673, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLHIKKAKE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9679, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9681, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHIKKAKE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9685, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIKKAKE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9696, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 9697, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 9697, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 9697, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 9697, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 9697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 9697, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 9697, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLHIKKAKE_Stream_6update, "CDLHIKKAKE_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9699, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9699, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9699, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9699, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9699, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 9699, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 9699, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9699, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9699, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9699, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9699, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9700, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9700, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9700, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9700, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9699, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIKKAKE_Update(((TA_CDLHIKKAKE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9707, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9708, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLHIKKAKE_Stream_8peek, "CDLHIKKAKE_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9710, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9710, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9710, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9710, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9710, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 9710, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 9710, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9710, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9710, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9710, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9710, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9711, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9711, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9711, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9711, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9710, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIKKAKE_Peek(((TA_CDLHIKKAKE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9718, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9719, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIKKAKE_Value(((TA_CDLHIKKAKE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9729, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9730, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLHIKKAKE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHIKKAKE_OutRange(((TA_CDLHIKKAKE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLHIKKAKE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHIKKAKE_Advance(((TA_CDLHIKKAKE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLHIKKAKE_Stream_10copy, "CDLHIKKAKE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLHIKKAKE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_self) { - TA_CDLHIKKAKE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9741, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream))))) __PYX_ERR(3, 9741, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIKKAKE_Clone(((TA_CDLHIKKAKE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9751, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLHIKKAKEMOD_Close(((TA_CDLHIKKAKEMOD_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9773, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9773, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9773, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9773, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9773, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 9773, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 9773, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9773, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9773, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9773, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9773, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9773, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKEMOD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLHIKKAKEMOD_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9774, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9775, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9776, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9777, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9778, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9778, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9778, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9778, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9778, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9779, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9780, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9781, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9786, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLHIKKAKEMOD_Lookback() + 1); - - __pyx_v_retCode = TA_CDLHIKKAKEMOD_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLHIKKAKEMOD_Close(((TA_CDLHIKKAKEMOD_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKEMOD_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9803, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKEMOD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_4open_and_fill, "CDLHIKKAKEMOD_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9805, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 9805, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 9805, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9805, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9805, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9805, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9805, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9805, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKEMOD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLHIKKAKEMOD_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9807, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9808, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9811, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9811, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9811, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9811, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9812, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9813, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9814, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9820, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9822, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHIKKAKEMOD_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9826, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIKKAKEMOD_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKEMOD_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9837, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 9838, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 9838, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 9838, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 9838, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 9838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 9838, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 9838, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKEMOD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_6update, "CDLHIKKAKEMOD_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9840, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9840, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9840, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9840, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9840, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 9840, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 9840, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9840, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9840, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9840, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9840, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9841, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9841, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9841, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9841, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9840, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKEMOD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIKKAKEMOD_Update(((TA_CDLHIKKAKEMOD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKEMOD_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9848, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9849, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKEMOD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_8peek, "CDLHIKKAKEMOD_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9851, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9851, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9851, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9851, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9851, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 9851, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 9851, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9851, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9851, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9851, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9851, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9852, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9852, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9852, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9852, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9851, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKEMOD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIKKAKEMOD_Peek(((TA_CDLHIKKAKEMOD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKEMOD_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9860, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKEMOD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIKKAKEMOD_Value(((TA_CDLHIKKAKEMOD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKEMOD_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9870, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKEMOD_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHIKKAKEMOD_OutRange(((TA_CDLHIKKAKEMOD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHIKKAKEMOD_Advance(((TA_CDLHIKKAKEMOD_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_10copy, "CDLHIKKAKEMOD_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_self) { - TA_CDLHIKKAKEMOD_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream))))) __PYX_ERR(3, 9882, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHIKKAKEMOD_Clone(((TA_CDLHIKKAKEMOD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHIKKAKEMOD_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9892, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLHIKKAKEMOD_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLHOMINGPIGEON_Close(((TA_CDLHOMINGPIGEON_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9914, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9914, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9914, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9914, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9914, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 9914, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 9914, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9914, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9914, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9914, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9914, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9914, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHOMINGPIGEON_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLHOMINGPIGEON_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9915, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9917, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9918, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9919, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9919, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9919, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9919, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9919, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9920, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9921, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9922, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9927, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLHOMINGPIGEON_Lookback() + 1); - - __pyx_v_retCode = TA_CDLHOMINGPIGEON_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLHOMINGPIGEON_Close(((TA_CDLHOMINGPIGEON_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHOMINGPIGEON_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9944, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLHOMINGPIGEON_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_4open_and_fill, "CDLHOMINGPIGEON_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9946, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 9946, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 9946, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9946, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9946, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9946, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9946, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9946, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHOMINGPIGEON_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLHOMINGPIGEON_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9948, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9950, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9951, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9952, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 9952, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 9952, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 9952, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 9952, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 9953, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 9954, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 9955, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9961, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 9963, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLHOMINGPIGEON_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9967, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHOMINGPIGEON_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLHOMINGPIGEON_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9978, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9979, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 9979, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 9979, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 9979, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 9979, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 9979, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9979, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 9979, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 9979, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLHOMINGPIGEON_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_6update, "CDLHOMINGPIGEON_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9981, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9981, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9981, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9981, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9981, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 9981, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 9981, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9981, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9981, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9981, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9981, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9982, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9982, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9982, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9982, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9981, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHOMINGPIGEON_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHOMINGPIGEON_Update(((TA_CDLHOMINGPIGEON_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHOMINGPIGEON_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9989, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 9990, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHOMINGPIGEON_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_8peek, "CDLHOMINGPIGEON_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 9992, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9992, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9992, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9992, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9992, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 9992, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 9992, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 9992, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 9992, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 9992, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 9992, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9993, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9993, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9993, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 9993, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 9992, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLHOMINGPIGEON_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHOMINGPIGEON_Peek(((TA_CDLHOMINGPIGEON_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHOMINGPIGEON_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10000, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHOMINGPIGEON_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHOMINGPIGEON_Value(((TA_CDLHOMINGPIGEON_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHOMINGPIGEON_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10011, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10012, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLHOMINGPIGEON_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHOMINGPIGEON_OutRange(((TA_CDLHOMINGPIGEON_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLHOMINGPIGEON_Advance(((TA_CDLHOMINGPIGEON_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_10copy, "CDLHOMINGPIGEON_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_self) { - TA_CDLHOMINGPIGEON_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10023, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream))))) __PYX_ERR(3, 10023, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLHOMINGPIGEON_Clone(((TA_CDLHOMINGPIGEON_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLHOMINGPIGEON_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10033, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLHOMINGPIGEON_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLIDENTICAL3CROWS_Close(((TA_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10055, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10055, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10055, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10055, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10055, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 10055, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 10055, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10055, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10055, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10055, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10055, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10055, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLIDENTICAL3CROWS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLIDENTICAL3CROWS_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10057, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10058, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10059, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10060, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10060, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10060, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10060, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10060, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10061, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10062, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10063, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10068, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLIDENTICAL3CROWS_Lookback() + 1); - - __pyx_v_retCode = TA_CDLIDENTICAL3CROWS_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLIDENTICAL3CROWS_Close(((TA_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLIDENTICAL3CROWS_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10085, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLIDENTICAL3CROWS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_4open_and_fill, "CDLIDENTICAL3CROWS_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10087, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 10087, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 10087, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10087, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10087, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10087, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10087, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10087, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLIDENTICAL3CROWS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLIDENTICAL3CROWS_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10089, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10090, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10091, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10092, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10093, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10093, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10093, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10093, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10093, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10094, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10095, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10096, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10104, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLIDENTICAL3CROWS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10108, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLIDENTICAL3CROWS_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLIDENTICAL3CROWS_OpenAndFil, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10119, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 10120, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 10120, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 10120, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 10120, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 10120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 10120, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 10120, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLIDENTICAL3CROWS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_6update, "CDLIDENTICAL3CROWS_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10122, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10122, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10122, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10122, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10122, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 10122, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 10122, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10122, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10122, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10122, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10122, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10123, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10123, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10123, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10123, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10122, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLIDENTICAL3CROWS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLIDENTICAL3CROWS_Update(((TA_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLIDENTICAL3CROWS_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10130, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLIDENTICAL3CROWS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_8peek, "CDLIDENTICAL3CROWS_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10133, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10133, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10133, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10133, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10133, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 10133, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 10133, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10133, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10133, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10133, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10133, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10134, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10134, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10134, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10134, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10133, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLIDENTICAL3CROWS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLIDENTICAL3CROWS_Peek(((TA_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLIDENTICAL3CROWS_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10141, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLIDENTICAL3CROWS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLIDENTICAL3CROWS_Value(((TA_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLIDENTICAL3CROWS_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10152, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLIDENTICAL3CROWS_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLIDENTICAL3CROWS_OutRange(((TA_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLIDENTICAL3CROWS_Advance(((TA_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_10copy, "CDLIDENTICAL3CROWS_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_self) { - TA_CDLIDENTICAL3CROWS_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream))))) __PYX_ERR(3, 10164, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLIDENTICAL3CROWS_Clone(((TA_CDLIDENTICAL3CROWS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLIDENTICAL3CROWS_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10174, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLIDENTICAL3CROWS_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLINNECK_Close(((TA_CDLINNECK_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10196, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10196, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10196, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10196, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10196, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 10196, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 10196, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10196, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10196, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10196, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10196, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10196, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLINNECK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLINNECK_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10201, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10201, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10201, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10201, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10202, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10203, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10204, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10209, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLINNECK_Lookback() + 1); - - __pyx_v_retCode = TA_CDLINNECK_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLINNECK_Close(((TA_CDLINNECK_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLINNECK_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10226, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLINNECK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLINNECK_Stream_4open_and_fill, "CDLINNECK_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_16CDLINNECK_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLINNECK_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10228, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10228, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10228, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10228, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10228, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 10228, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 10228, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10228, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10228, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10228, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10228, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10228, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLINNECK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLINNECK_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10231, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10233, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10234, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10234, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10234, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10234, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10234, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10235, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10236, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10237, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLINNECK_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10243, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10245, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLINNECK_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10249, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLINNECK_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLINNECK_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10260, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 10261, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 10261, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 10261, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 10261, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 10261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 10261, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 10261, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLINNECK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLINNECK_Stream_6update, "CDLINNECK_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10263, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10263, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10263, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10263, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10263, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 10263, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 10263, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10263, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10263, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10263, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10263, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10264, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10264, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10264, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10264, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10263, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLINNECK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLINNECK_Update(((TA_CDLINNECK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLINNECK_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10271, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLINNECK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLINNECK_Stream_8peek, "CDLINNECK_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10274, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10274, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10274, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10274, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10274, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 10274, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 10274, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10274, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10274, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10274, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10274, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10275, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10275, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10275, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10275, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10274, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLINNECK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLINNECK_Peek(((TA_CDLINNECK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLINNECK_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10282, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10283, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLINNECK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLINNECK_Value(((TA_CDLINNECK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLINNECK_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10293, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10294, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLINNECK_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLINNECK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLINNECK_OutRange(((TA_CDLINNECK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLINNECK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLINNECK_Advance(((TA_CDLINNECK_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLINNECK_Stream_10copy, "CDLINNECK_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLINNECK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_self) { - TA_CDLINNECK_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream))))) __PYX_ERR(3, 10305, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLINNECK_Clone(((TA_CDLINNECK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLINNECK_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLINNECK_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLINVERTEDHAMMER_Close(((TA_CDLINVERTEDHAMMER_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10337, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10337, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10337, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10337, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10337, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 10337, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 10337, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10337, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10337, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10337, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10337, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10337, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLINVERTEDHAMMER_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLINVERTEDHAMMER_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10340, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10341, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10342, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10342, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10342, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10342, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10342, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10343, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10344, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10345, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10350, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLINVERTEDHAMMER_Lookback() + 1); - - __pyx_v_retCode = TA_CDLINVERTEDHAMMER_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLINVERTEDHAMMER_Close(((TA_CDLINVERTEDHAMMER_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLINVERTEDHAMMER_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLINVERTEDHAMMER_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_4open_and_fill, "CDLINVERTEDHAMMER_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10369, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10369, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10369, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10369, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10369, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 10369, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 10369, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10369, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10369, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10369, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10369, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10369, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLINVERTEDHAMMER_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLINVERTEDHAMMER_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10371, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10372, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10373, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10375, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10375, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10375, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10375, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10375, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10376, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10377, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10378, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10384, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10386, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLINVERTEDHAMMER_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10390, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLINVERTEDHAMMER_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLINVERTEDHAMMER_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10401, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10402, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 10402, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 10402, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 10402, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 10402, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 10402, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10402, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 10402, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 10402, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLINVERTEDHAMMER_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_6update, "CDLINVERTEDHAMMER_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10404, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10404, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10404, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10404, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10404, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 10404, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 10404, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10404, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10404, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10404, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10404, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10405, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10405, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10405, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10405, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10404, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLINVERTEDHAMMER_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLINVERTEDHAMMER_Update(((TA_CDLINVERTEDHAMMER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLINVERTEDHAMMER_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10413, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLINVERTEDHAMMER_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_8peek, "CDLINVERTEDHAMMER_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10415, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10415, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10415, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10415, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10415, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 10415, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 10415, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10415, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10415, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10415, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10415, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10416, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10416, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10416, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10416, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10415, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLINVERTEDHAMMER_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLINVERTEDHAMMER_Peek(((TA_CDLINVERTEDHAMMER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLINVERTEDHAMMER_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10424, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLINVERTEDHAMMER_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLINVERTEDHAMMER_Value(((TA_CDLINVERTEDHAMMER_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLINVERTEDHAMMER_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10434, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10435, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLINVERTEDHAMMER_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLINVERTEDHAMMER_OutRange(((TA_CDLINVERTEDHAMMER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLINVERTEDHAMMER_Advance(((TA_CDLINVERTEDHAMMER_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_10copy, "CDLINVERTEDHAMMER_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_self) { - TA_CDLINVERTEDHAMMER_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream))))) __PYX_ERR(3, 10446, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLINVERTEDHAMMER_Clone(((TA_CDLINVERTEDHAMMER_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLINVERTEDHAMMER_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLINVERTEDHAMMER_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLKICKING_Close(((TA_CDLKICKING_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10478, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10478, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10478, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10478, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10478, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 10478, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 10478, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10478, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10478, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10478, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10478, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10478, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLKICKING_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLKICKING_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10479, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10483, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10483, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10483, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10483, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10483, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10484, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10485, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10486, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10491, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLKICKING_Lookback() + 1); - - __pyx_v_retCode = TA_CDLKICKING_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLKICKING_Close(((TA_CDLKICKING_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKING_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10508, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKING_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLKICKING_Stream_4open_and_fill, "CDLKICKING_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_17CDLKICKING_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLKICKING_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10510, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10510, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10510, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10510, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10510, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 10510, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 10510, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10510, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10510, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10510, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10510, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10510, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLKICKING_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLKICKING_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10512, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10513, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10514, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10516, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10516, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10516, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10516, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10516, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10517, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10518, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10519, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLKICKING_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10527, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLKICKING_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10531, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLKICKING_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKING_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10542, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 10543, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 10543, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 10543, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 10543, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 10543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 10543, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 10543, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKING_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLKICKING_Stream_6update, "CDLKICKING_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10545, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10545, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10545, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10545, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10545, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 10545, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 10545, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10545, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10545, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10545, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10545, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10546, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10546, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10546, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10546, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10545, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLKICKING_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLKICKING_Update(((TA_CDLKICKING_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKING_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10553, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10554, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKING_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLKICKING_Stream_8peek, "CDLKICKING_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10556, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10556, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10556, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10556, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10556, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 10556, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 10556, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10556, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10556, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10556, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10556, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10557, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10557, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10557, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10557, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10556, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLKICKING_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLKICKING_Peek(((TA_CDLKICKING_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKING_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10564, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKING_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLKICKING_Value(((TA_CDLKICKING_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKING_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10575, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKING_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLKICKING_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLKICKING_OutRange(((TA_CDLKICKING_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLKICKING_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLKICKING_Advance(((TA_CDLKICKING_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLKICKING_Stream_10copy, "CDLKICKING_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLKICKING_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_self) { - TA_CDLKICKING_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10587, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream))))) __PYX_ERR(3, 10587, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLKICKING_Clone(((TA_CDLKICKING_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKING_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10597, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKING_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLKICKINGBYLENGTH_Close(((TA_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10619, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10619, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10619, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10619, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10619, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 10619, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 10619, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10619, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10619, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10619, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10619, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10619, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLKICKINGBYLENGTH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLKICKINGBYLENGTH_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10620, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10621, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10622, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10623, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10624, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10624, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10624, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10624, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10624, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10625, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10626, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10627, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10632, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLKICKINGBYLENGTH_Lookback() + 1); - - __pyx_v_retCode = TA_CDLKICKINGBYLENGTH_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLKICKINGBYLENGTH_Close(((TA_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKINGBYLENGTH_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10649, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKINGBYLENGTH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_4open_and_fill, "CDLKICKINGBYLENGTH_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10651, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10651, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10651, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10651, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10651, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 10651, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 10651, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10651, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10651, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10651, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10651, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10651, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLKICKINGBYLENGTH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLKICKINGBYLENGTH_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10654, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10655, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10656, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10657, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10657, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10657, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10657, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10658, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10659, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10660, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10666, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10668, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLKICKINGBYLENGTH_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10672, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLKICKINGBYLENGTH_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKINGBYLENGTH_OpenAndFil, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10683, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 10684, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 10684, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 10684, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 10684, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 10684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 10684, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 10684, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKINGBYLENGTH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_6update, "CDLKICKINGBYLENGTH_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10686, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 10686, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 10686, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10686, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10686, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10686, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10686, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10687, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10687, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10687, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10687, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10686, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLKICKINGBYLENGTH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLKICKINGBYLENGTH_Update(((TA_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKINGBYLENGTH_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10694, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10695, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKINGBYLENGTH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_8peek, "CDLKICKINGBYLENGTH_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10697, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10697, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10697, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10697, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10697, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 10697, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 10697, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10697, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10697, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10697, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10697, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10698, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10698, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10698, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10698, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10697, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLKICKINGBYLENGTH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLKICKINGBYLENGTH_Peek(((TA_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKINGBYLENGTH_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10705, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10706, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKINGBYLENGTH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLKICKINGBYLENGTH_Value(((TA_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKINGBYLENGTH_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10716, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10717, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKINGBYLENGTH_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLKICKINGBYLENGTH_OutRange(((TA_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLKICKINGBYLENGTH_Advance(((TA_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_10copy, "CDLKICKINGBYLENGTH_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_self) { - TA_CDLKICKINGBYLENGTH_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10728, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream))))) __PYX_ERR(3, 10728, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLKICKINGBYLENGTH_Clone(((TA_CDLKICKINGBYLENGTH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLKICKINGBYLENGTH_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10738, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLKICKINGBYLENGTH_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLLADDERBOTTOM_Close(((TA_CDLLADDERBOTTOM_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10760, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10760, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10760, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10760, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10760, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 10760, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 10760, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10760, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10760, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10760, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10760, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10760, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLADDERBOTTOM_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLLADDERBOTTOM_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10761, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10762, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10763, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10764, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10765, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10765, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10765, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10765, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10765, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10766, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10767, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10768, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10773, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLLADDERBOTTOM_Lookback() + 1); - - __pyx_v_retCode = TA_CDLLADDERBOTTOM_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLLADDERBOTTOM_Close(((TA_CDLLADDERBOTTOM_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLLADDERBOTTOM_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10790, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLLADDERBOTTOM_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_4open_and_fill, "CDLLADDERBOTTOM_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10792, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10792, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10792, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10792, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10792, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 10792, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 10792, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10792, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10792, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10792, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10792, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10792, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLADDERBOTTOM_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLLADDERBOTTOM_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10794, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10795, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10796, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10797, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10798, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10798, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10798, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10798, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10799, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10800, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10801, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10807, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10809, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLLADDERBOTTOM_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10813, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLADDERBOTTOM_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLLADDERBOTTOM_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 10825, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 10825, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 10825, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 10825, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 10825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 10825, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 10825, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLLADDERBOTTOM_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_6update, "CDLLADDERBOTTOM_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10827, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10827, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10827, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10827, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10827, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 10827, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 10827, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10827, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10827, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10827, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10827, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10828, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10828, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10828, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10828, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10827, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLADDERBOTTOM_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLADDERBOTTOM_Update(((TA_CDLLADDERBOTTOM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLADDERBOTTOM_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10835, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10836, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLLADDERBOTTOM_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_8peek, "CDLLADDERBOTTOM_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10838, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10838, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10838, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10838, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10838, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 10838, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 10838, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10838, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10838, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10838, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10838, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10839, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10839, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10839, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10839, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10838, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLADDERBOTTOM_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLADDERBOTTOM_Peek(((TA_CDLLADDERBOTTOM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLADDERBOTTOM_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10846, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10847, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLLADDERBOTTOM_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLADDERBOTTOM_Value(((TA_CDLLADDERBOTTOM_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLADDERBOTTOM_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10857, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10858, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLLADDERBOTTOM_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLLADDERBOTTOM_OutRange(((TA_CDLLADDERBOTTOM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLLADDERBOTTOM_Advance(((TA_CDLLADDERBOTTOM_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_10copy, "CDLLADDERBOTTOM_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_self) { - TA_CDLLADDERBOTTOM_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10869, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream))))) __PYX_ERR(3, 10869, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLADDERBOTTOM_Clone(((TA_CDLLADDERBOTTOM_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLADDERBOTTOM_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLLADDERBOTTOM_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLLONGLEGGEDDOJI_Close(((TA_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10901, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10901, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10901, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10901, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10901, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 10901, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 10901, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10901, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10901, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10901, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10901, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10901, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLEGGEDDOJI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLLONGLEGGEDDOJI_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10902, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10903, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10904, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10905, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10906, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10906, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10906, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10906, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10906, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10907, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10908, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10909, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10914, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLLONGLEGGEDDOJI_Lookback() + 1); - - __pyx_v_retCode = TA_CDLLONGLEGGEDDOJI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLLONGLEGGEDDOJI_Close(((TA_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLEGGEDDOJI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10931, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLEGGEDDOJI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_4open_and_fill, "CDLLONGLEGGEDDOJI_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10933, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10933, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10933, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10933, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10933, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 10933, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 10933, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10933, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10933, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10933, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10933, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10933, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLEGGEDDOJI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLLONGLEGGEDDOJI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10935, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10936, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10937, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10938, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10939, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 10939, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 10939, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 10939, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 10939, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 10940, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 10941, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 10942, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10948, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 10950, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLLONGLEGGEDDOJI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10954, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLONGLEGGEDDOJI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLEGGEDDOJI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10965, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10966, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 10966, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 10966, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 10966, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 10966, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 10966, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10966, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 10966, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 10966, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLEGGEDDOJI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_6update, "CDLLONGLEGGEDDOJI_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10968, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10968, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10968, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10968, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10968, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 10968, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 10968, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10968, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10968, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10968, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10968, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10969, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10969, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10969, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10969, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10968, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLEGGEDDOJI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLONGLEGGEDDOJI_Update(((TA_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLEGGEDDOJI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10976, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10977, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLEGGEDDOJI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_8peek, "CDLLONGLEGGEDDOJI_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 10979, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10979, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10979, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10979, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10979, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 10979, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 10979, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 10979, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 10979, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 10979, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 10979, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10980, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10980, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10980, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 10980, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 10979, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLEGGEDDOJI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLONGLEGGEDDOJI_Peek(((TA_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLEGGEDDOJI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10987, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10988, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLEGGEDDOJI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLONGLEGGEDDOJI_Value(((TA_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLEGGEDDOJI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10998, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 10999, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLEGGEDDOJI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLLONGLEGGEDDOJI_OutRange(((TA_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLLONGLEGGEDDOJI_Advance(((TA_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_10copy, "CDLLONGLEGGEDDOJI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_self) { - TA_CDLLONGLEGGEDDOJI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11010, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream))))) __PYX_ERR(3, 11010, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLONGLEGGEDDOJI_Clone(((TA_CDLLONGLEGGEDDOJI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLEGGEDDOJI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11020, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLEGGEDDOJI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLLONGLINE_Close(((TA_CDLLONGLINE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11042, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11042, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11042, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11042, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11042, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 11042, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 11042, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11042, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11042, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11042, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11042, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11042, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLINE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLLONGLINE_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11043, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11044, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11045, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11046, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11047, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11047, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11047, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11047, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11047, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11048, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11049, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11050, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11055, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLLONGLINE_Lookback() + 1); - - __pyx_v_retCode = TA_CDLLONGLINE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLLONGLINE_Close(((TA_CDLLONGLINE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLINE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11072, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLINE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLLONGLINE_Stream_4open_and_fill, "CDLLONGLINE_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_18CDLLONGLINE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLLONGLINE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11074, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11074, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11074, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11074, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11074, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 11074, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 11074, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11074, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11074, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11074, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11074, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11074, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLINE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLLONGLINE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11076, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11077, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11078, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11079, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11080, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11080, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11080, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11080, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11080, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11081, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11082, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11083, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLLONGLINE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11089, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11091, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLLONGLINE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11095, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLONGLINE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLINE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 11107, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 11107, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 11107, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 11107, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 11107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 11107, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 11107, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLINE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLLONGLINE_Stream_6update, "CDLLONGLINE_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11109, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11109, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11109, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11109, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11109, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 11109, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 11109, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11109, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11109, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11109, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11109, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11110, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11110, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11110, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11110, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11109, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLINE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLONGLINE_Update(((TA_CDLLONGLINE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLINE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLINE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLLONGLINE_Stream_8peek, "CDLLONGLINE_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11120, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11120, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11120, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11120, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11120, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 11120, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 11120, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11120, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11120, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11120, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11120, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11121, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11121, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11121, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11121, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11120, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLINE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLONGLINE_Peek(((TA_CDLLONGLINE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLINE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLINE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLONGLINE_Value(((TA_CDLLONGLINE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLINE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLINE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLLONGLINE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLLONGLINE_OutRange(((TA_CDLLONGLINE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLLONGLINE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLLONGLINE_Advance(((TA_CDLLONGLINE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLLONGLINE_Stream_10copy, "CDLLONGLINE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLLONGLINE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_self) { - TA_CDLLONGLINE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream))))) __PYX_ERR(3, 11151, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLLONGLINE_Clone(((TA_CDLLONGLINE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLLONGLINE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11161, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLLONGLINE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLMARUBOZU_Close(((TA_CDLMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11183, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11183, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11183, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11183, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11183, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 11183, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 11183, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11183, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11183, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11183, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11183, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11183, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMARUBOZU_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLMARUBOZU_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11187, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11188, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11188, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11188, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11188, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11189, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11190, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11191, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11196, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLMARUBOZU_Lookback() + 1); - - __pyx_v_retCode = TA_CDLMARUBOZU_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLMARUBOZU_Close(((TA_CDLMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLMARUBOZU_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLMARUBOZU_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLMARUBOZU_Stream_4open_and_fill, "CDLMARUBOZU_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_18CDLMARUBOZU_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLMARUBOZU_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11215, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11215, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11215, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11215, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11215, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 11215, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 11215, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11215, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11215, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11215, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11215, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11215, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMARUBOZU_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLMARUBOZU_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11217, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11218, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11221, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11221, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11221, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11221, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11222, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11223, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11224, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLMARUBOZU_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11232, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLMARUBOZU_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11236, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMARUBOZU_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLMARUBOZU_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 11248, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 11248, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 11248, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 11248, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 11248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 11248, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 11248, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLMARUBOZU_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLMARUBOZU_Stream_6update, "CDLMARUBOZU_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11250, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11250, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11250, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11250, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11250, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 11250, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 11250, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11250, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11250, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11250, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11250, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11251, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11251, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11251, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11251, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11250, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMARUBOZU_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMARUBOZU_Update(((TA_CDLMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMARUBOZU_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11258, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11259, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMARUBOZU_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLMARUBOZU_Stream_8peek, "CDLMARUBOZU_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11261, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11261, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11261, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11261, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11261, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 11261, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 11261, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11261, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11261, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11261, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11261, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11262, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11262, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11262, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11262, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11261, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMARUBOZU_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMARUBOZU_Peek(((TA_CDLMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMARUBOZU_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11270, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMARUBOZU_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMARUBOZU_Value(((TA_CDLMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMARUBOZU_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11281, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMARUBOZU_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLMARUBOZU_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLMARUBOZU_OutRange(((TA_CDLMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLMARUBOZU_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLMARUBOZU_Advance(((TA_CDLMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLMARUBOZU_Stream_10copy, "CDLMARUBOZU_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLMARUBOZU_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_self) { - TA_CDLMARUBOZU_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11292, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream))))) __PYX_ERR(3, 11292, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMARUBOZU_Clone(((TA_CDLMARUBOZU_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMARUBOZU_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11302, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLMARUBOZU_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLMATCHINGLOW_Close(((TA_CDLMATCHINGLOW_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11324, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11324, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11324, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11324, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11324, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 11324, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 11324, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11324, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11324, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11324, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11324, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11324, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMATCHINGLOW_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLMATCHINGLOW_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11325, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11326, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11328, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11329, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11329, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11329, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11329, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11329, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11330, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11331, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11332, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11337, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLMATCHINGLOW_Lookback() + 1); - - __pyx_v_retCode = TA_CDLMATCHINGLOW_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLMATCHINGLOW_Close(((TA_CDLMATCHINGLOW_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLMATCHINGLOW_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11354, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLMATCHINGLOW_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_4open_and_fill, "CDLMATCHINGLOW_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11356, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11356, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11356, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11356, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11356, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 11356, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 11356, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11356, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11356, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11356, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11356, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11356, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMATCHINGLOW_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLMATCHINGLOW_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11358, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11362, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11362, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11362, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11362, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11362, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11363, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11364, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11365, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11371, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11373, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLMATCHINGLOW_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11377, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMATCHINGLOW_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLMATCHINGLOW_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11388, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11389, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 11389, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 11389, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 11389, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 11389, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 11389, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11389, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 11389, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 11389, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLMATCHINGLOW_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_6update, "CDLMATCHINGLOW_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11391, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11391, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11391, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11391, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11391, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 11391, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 11391, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11391, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11391, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11391, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11391, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11392, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11392, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11392, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11392, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11391, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMATCHINGLOW_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMATCHINGLOW_Update(((TA_CDLMATCHINGLOW_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMATCHINGLOW_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11399, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11400, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMATCHINGLOW_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_8peek, "CDLMATCHINGLOW_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11402, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11402, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11402, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11402, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11402, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 11402, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 11402, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11402, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11402, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11402, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11402, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11403, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11403, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11403, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11403, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11402, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMATCHINGLOW_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMATCHINGLOW_Peek(((TA_CDLMATCHINGLOW_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMATCHINGLOW_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11410, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMATCHINGLOW_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMATCHINGLOW_Value(((TA_CDLMATCHINGLOW_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMATCHINGLOW_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11422, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMATCHINGLOW_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLMATCHINGLOW_OutRange(((TA_CDLMATCHINGLOW_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLMATCHINGLOW_Advance(((TA_CDLMATCHINGLOW_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_10copy, "CDLMATCHINGLOW_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_self) { - TA_CDLMATCHINGLOW_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream))))) __PYX_ERR(3, 11433, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMATCHINGLOW_Clone(((TA_CDLMATCHINGLOW_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMATCHINGLOW_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11443, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLMATCHINGLOW_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLMATHOLD_Close(((TA_CDLMATHOLD_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11467, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 11467, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11467, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11467, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11467, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11467, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 11467, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, i); __PYX_ERR(3, 11467, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 11467, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11467, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11467, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11467, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11467, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11467, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.5); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 11467, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMATHOLD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLMATHOLD_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11468, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11469, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11470, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11471, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11472, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11472, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11472, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11472, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11472, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11473, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11474, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11475, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11480, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLMATHOLD_Lookback(__pyx_v_penetration) + 1); - - __pyx_v_retCode = TA_CDLMATHOLD_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLMATHOLD_Close(((TA_CDLMATHOLD_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLMATHOLD_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11497, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLMATHOLD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLMATHOLD_Stream_4open_and_fill, "CDLMATHOLD_Stream.open_and_fill(open, high, low, close, double penetration=0.5)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_17CDLMATHOLD_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLMATHOLD_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11499, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 11499, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11499, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11499, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11499, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11499, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 11499, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, i); __PYX_ERR(3, 11499, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 11499, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11499, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11499, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11499, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11499, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11500, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.5); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 11499, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMATHOLD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLMATHOLD_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11501, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11502, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11503, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11504, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11505, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11505, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11505, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11505, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11506, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11507, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11508, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLMATHOLD_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11514, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11516, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLMATHOLD_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11520, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMATHOLD_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLMATHOLD_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11532, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 11532, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 11532, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 11532, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 11532, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 11532, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11532, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 11532, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 11532, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLMATHOLD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLMATHOLD_Stream_6update, "CDLMATHOLD_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11534, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11534, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11534, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11534, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11534, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 11534, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 11534, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11534, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11534, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11534, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11534, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11535, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11535, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11535, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11535, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11534, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMATHOLD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMATHOLD_Update(((TA_CDLMATHOLD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMATHOLD_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11542, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMATHOLD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLMATHOLD_Stream_8peek, "CDLMATHOLD_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11545, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11545, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11545, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11545, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11545, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 11545, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 11545, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11545, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11545, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11545, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11545, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11546, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11546, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11546, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11546, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11545, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMATHOLD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMATHOLD_Peek(((TA_CDLMATHOLD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMATHOLD_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11553, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11554, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMATHOLD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMATHOLD_Value(((TA_CDLMATHOLD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMATHOLD_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11564, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMATHOLD_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLMATHOLD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLMATHOLD_OutRange(((TA_CDLMATHOLD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLMATHOLD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLMATHOLD_Advance(((TA_CDLMATHOLD_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLMATHOLD_Stream_10copy, "CDLMATHOLD_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLMATHOLD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_self) { - TA_CDLMATHOLD_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream))))) __PYX_ERR(3, 11576, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMATHOLD_Clone(((TA_CDLMATHOLD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMATHOLD_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11586, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLMATHOLD_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLMORNINGDOJISTAR_Close(((TA_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11610, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 11610, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11610, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11610, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11610, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11610, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 11610, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, i); __PYX_ERR(3, 11610, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 11610, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11610, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11610, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11610, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11610, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11610, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.3); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 11610, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGDOJISTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLMORNINGDOJISTAR_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11611, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11612, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11614, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11615, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11615, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11615, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11615, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11615, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11616, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11617, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11618, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11623, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLMORNINGDOJISTAR_Lookback(__pyx_v_penetration) + 1); - - __pyx_v_retCode = TA_CDLMORNINGDOJISTAR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLMORNINGDOJISTAR_Close(((TA_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGDOJISTAR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11640, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGDOJISTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_4open_and_fill, "CDLMORNINGDOJISTAR_Stream.open_and_fill(open, high, low, close, double penetration=0.3)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11642, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 11642, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11642, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11642, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11642, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11642, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 11642, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, i); __PYX_ERR(3, 11642, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 11642, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11642, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11642, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11642, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11642, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11643, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.3); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 11642, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGDOJISTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLMORNINGDOJISTAR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11644, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11646, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11647, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11648, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11648, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11648, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11648, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11648, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11649, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11650, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11651, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11659, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLMORNINGDOJISTAR_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11663, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMORNINGDOJISTAR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGDOJISTAR_OpenAndFil, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 11675, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 11675, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 11675, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 11675, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 11675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 11675, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 11675, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGDOJISTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_6update, "CDLMORNINGDOJISTAR_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11677, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 11677, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 11677, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11677, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11677, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11677, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11677, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11678, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11678, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11678, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11678, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11677, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGDOJISTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMORNINGDOJISTAR_Update(((TA_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGDOJISTAR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11686, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGDOJISTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_8peek, "CDLMORNINGDOJISTAR_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11688, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11688, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11688, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11688, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11688, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 11688, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 11688, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11688, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11688, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11688, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11688, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11689, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11689, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11689, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11689, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11688, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGDOJISTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMORNINGDOJISTAR_Peek(((TA_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGDOJISTAR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11696, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGDOJISTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMORNINGDOJISTAR_Value(((TA_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGDOJISTAR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11707, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11708, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGDOJISTAR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLMORNINGDOJISTAR_OutRange(((TA_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLMORNINGDOJISTAR_Advance(((TA_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_10copy, "CDLMORNINGDOJISTAR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_self) { - TA_CDLMORNINGDOJISTAR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11719, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream))))) __PYX_ERR(3, 11719, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMORNINGDOJISTAR_Clone(((TA_CDLMORNINGDOJISTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGDOJISTAR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11729, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGDOJISTAR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLMORNINGSTAR_Close(((TA_CDLMORNINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11753, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 11753, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11753, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11753, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11753, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11753, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 11753, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, i); __PYX_ERR(3, 11753, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 11753, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11753, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11753, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11753, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11753, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11753, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.3); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 11753, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGSTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLMORNINGSTAR_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11754, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11755, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11756, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11757, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11758, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11758, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11758, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11758, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11758, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11759, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11760, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11761, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11766, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLMORNINGSTAR_Lookback(__pyx_v_penetration) + 1); - - __pyx_v_retCode = TA_CDLMORNINGSTAR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLMORNINGSTAR_Close(((TA_CDLMORNINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGSTAR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11783, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGSTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_4open_and_fill, "CDLMORNINGSTAR_Stream.open_and_fill(open, high, low, close, double penetration=0.3)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - double __pyx_v_penetration; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_penetration,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11785, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 11785, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11785, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11785, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11785, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11785, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 11785, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, i); __PYX_ERR(3, 11785, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 11785, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11785, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11785, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11785, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11785, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - if (values[4]) { - __pyx_v_penetration = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_penetration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11786, __pyx_L3_error) - } else { - __pyx_v_penetration = ((double)0.3); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 11785, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGSTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_penetration); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, double __pyx_v_penetration) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLMORNINGSTAR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11787, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11788, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11789, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11790, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11791, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11791, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11791, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11791, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11791, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11792, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11793, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11794, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11800, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11802, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLMORNINGSTAR_Lookback(__pyx_v_penetration)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11806, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMORNINGSTAR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_penetration, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGSTAR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11817, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11818, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 11818, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 11818, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 11818, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 11818, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 11818, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11818, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 11818, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 11818, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGSTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_6update, "CDLMORNINGSTAR_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11820, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11820, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11820, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11820, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11820, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 11820, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 11820, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11820, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11820, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11820, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11820, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11821, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11821, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11821, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11821, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11820, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGSTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMORNINGSTAR_Update(((TA_CDLMORNINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGSTAR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11828, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11829, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGSTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_8peek, "CDLMORNINGSTAR_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11831, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11831, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11831, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11831, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11831, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 11831, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 11831, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11831, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11831, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11831, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11831, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11832, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11832, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11832, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11832, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11831, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGSTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMORNINGSTAR_Peek(((TA_CDLMORNINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGSTAR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11839, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11840, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGSTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMORNINGSTAR_Value(((TA_CDLMORNINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGSTAR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11850, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11851, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGSTAR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLMORNINGSTAR_OutRange(((TA_CDLMORNINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLMORNINGSTAR_Advance(((TA_CDLMORNINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_10copy, "CDLMORNINGSTAR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_self) { - TA_CDLMORNINGSTAR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11862, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream))))) __PYX_ERR(3, 11862, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLMORNINGSTAR_Clone(((TA_CDLMORNINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLMORNINGSTAR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11872, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLMORNINGSTAR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLONNECK_Close(((TA_CDLONNECK_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11894, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11894, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11894, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11894, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11894, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 11894, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 11894, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11894, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11894, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11894, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11894, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11894, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLONNECK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLONNECK_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11895, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11896, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11897, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11898, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11899, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11899, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11899, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11899, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11899, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11900, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11901, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11902, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11907, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLONNECK_Lookback() + 1); - - __pyx_v_retCode = TA_CDLONNECK_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLONNECK_Close(((TA_CDLONNECK_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLONNECK_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11924, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLONNECK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLONNECK_Stream_4open_and_fill, "CDLONNECK_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_16CDLONNECK_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLONNECK_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11926, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11926, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11926, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11926, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11926, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 11926, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 11926, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11926, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11926, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11926, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11926, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11926, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLONNECK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLONNECK_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11928, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11929, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11930, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11931, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11932, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 11932, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 11932, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 11932, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 11932, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 11933, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 11934, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 11935, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLONNECK_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11941, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 11943, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLONNECK_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11947, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLONNECK_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLONNECK_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11958, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 11959, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 11959, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 11959, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 11959, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 11959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 11959, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 11959, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLONNECK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLONNECK_Stream_6update, "CDLONNECK_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11961, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11961, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11961, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11961, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11961, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 11961, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 11961, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11961, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11961, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11961, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11961, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11962, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11962, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11962, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11962, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11961, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLONNECK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLONNECK_Update(((TA_CDLONNECK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLONNECK_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11969, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11970, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLONNECK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLONNECK_Stream_8peek, "CDLONNECK_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 11972, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11972, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11972, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11972, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11972, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 11972, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 11972, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 11972, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 11972, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 11972, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 11972, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11973, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11973, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11973, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 11973, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 11972, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLONNECK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLONNECK_Peek(((TA_CDLONNECK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLONNECK_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11980, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11981, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLONNECK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLONNECK_Value(((TA_CDLONNECK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLONNECK_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11991, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 11992, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLONNECK_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLONNECK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLONNECK_OutRange(((TA_CDLONNECK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLONNECK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLONNECK_Advance(((TA_CDLONNECK_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLONNECK_Stream_10copy, "CDLONNECK_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLONNECK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_self) { - TA_CDLONNECK_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream))))) __PYX_ERR(3, 12003, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLONNECK_Clone(((TA_CDLONNECK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLONNECK_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLONNECK_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLPIERCING_Close(((TA_CDLPIERCING_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12035, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12035, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12035, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12035, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12035, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 12035, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 12035, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12035, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12035, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12035, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12035, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12035, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLPIERCING_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLPIERCING_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12036, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12037, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12038, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12039, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12040, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12040, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12040, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12040, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12040, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12041, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12042, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12043, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12048, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLPIERCING_Lookback() + 1); - - __pyx_v_retCode = TA_CDLPIERCING_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLPIERCING_Close(((TA_CDLPIERCING_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLPIERCING_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12065, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLPIERCING_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLPIERCING_Stream_4open_and_fill, "CDLPIERCING_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_18CDLPIERCING_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLPIERCING_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12067, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12067, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12067, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12067, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12067, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 12067, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 12067, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12067, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12067, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12067, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12067, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12067, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLPIERCING_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLPIERCING_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12069, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12070, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12071, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12072, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12073, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12073, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12073, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12073, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12073, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12074, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12075, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12076, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLPIERCING_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12082, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12084, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLPIERCING_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12088, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLPIERCING_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLPIERCING_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12099, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 12100, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 12100, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 12100, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 12100, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 12100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 12100, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 12100, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLPIERCING_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLPIERCING_Stream_6update, "CDLPIERCING_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12102, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12102, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12102, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12102, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12102, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 12102, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 12102, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12102, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12102, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12102, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12102, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12103, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12103, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12103, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12103, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12102, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLPIERCING_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLPIERCING_Update(((TA_CDLPIERCING_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLPIERCING_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLPIERCING_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLPIERCING_Stream_8peek, "CDLPIERCING_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12113, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12113, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12113, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12113, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12113, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 12113, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 12113, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12113, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12113, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12113, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12113, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12114, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12114, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12114, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12114, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12113, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLPIERCING_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLPIERCING_Peek(((TA_CDLPIERCING_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLPIERCING_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12122, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLPIERCING_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLPIERCING_Value(((TA_CDLPIERCING_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLPIERCING_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLPIERCING_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLPIERCING_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLPIERCING_OutRange(((TA_CDLPIERCING_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18CDLPIERCING_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLPIERCING_Advance(((TA_CDLPIERCING_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18CDLPIERCING_Stream_10copy, "CDLPIERCING_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18CDLPIERCING_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_self) { - TA_CDLPIERCING_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream))))) __PYX_ERR(3, 12144, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLPIERCING_Clone(((TA_CDLPIERCING_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLPIERCING_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLPIERCING_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLRICKSHAWMAN_Close(((TA_CDLRICKSHAWMAN_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12176, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12176, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12176, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12176, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12176, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 12176, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 12176, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12176, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12176, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12176, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12176, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12176, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLRICKSHAWMAN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLRICKSHAWMAN_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12177, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12179, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12181, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12181, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12181, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12181, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12182, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12183, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12184, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12189, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLRICKSHAWMAN_Lookback() + 1); - - __pyx_v_retCode = TA_CDLRICKSHAWMAN_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLRICKSHAWMAN_Close(((TA_CDLRICKSHAWMAN_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLRICKSHAWMAN_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLRICKSHAWMAN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_4open_and_fill, "CDLRICKSHAWMAN_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12208, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12208, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12208, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12208, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12208, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 12208, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 12208, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12208, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12208, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12208, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12208, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12208, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLRICKSHAWMAN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLRICKSHAWMAN_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12212, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12214, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12214, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12214, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12214, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12215, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12216, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12217, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12223, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12225, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLRICKSHAWMAN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12229, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLRICKSHAWMAN_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLRICKSHAWMAN_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12241, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 12241, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 12241, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 12241, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 12241, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 12241, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12241, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 12241, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 12241, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLRICKSHAWMAN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_6update, "CDLRICKSHAWMAN_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12243, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12243, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12243, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12243, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12243, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 12243, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 12243, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12243, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12243, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12243, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12243, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12244, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12244, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12244, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12244, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12243, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLRICKSHAWMAN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLRICKSHAWMAN_Update(((TA_CDLRICKSHAWMAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLRICKSHAWMAN_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLRICKSHAWMAN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_8peek, "CDLRICKSHAWMAN_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12254, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12254, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12254, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12254, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12254, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 12254, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 12254, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12254, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12254, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12254, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12254, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12255, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12255, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12255, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12255, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12254, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLRICKSHAWMAN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLRICKSHAWMAN_Peek(((TA_CDLRICKSHAWMAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLRICKSHAWMAN_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12263, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLRICKSHAWMAN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLRICKSHAWMAN_Value(((TA_CDLRICKSHAWMAN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLRICKSHAWMAN_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12273, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLRICKSHAWMAN_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLRICKSHAWMAN_OutRange(((TA_CDLRICKSHAWMAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLRICKSHAWMAN_Advance(((TA_CDLRICKSHAWMAN_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_10copy, "CDLRICKSHAWMAN_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_self) { - TA_CDLRICKSHAWMAN_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12285, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream))))) __PYX_ERR(3, 12285, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLRICKSHAWMAN_Clone(((TA_CDLRICKSHAWMAN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLRICKSHAWMAN_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12295, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLRICKSHAWMAN_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLRISEFALL3METHODS_Close(((TA_CDLRISEFALL3METHODS_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12317, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12317, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12317, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12317, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12317, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 12317, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 12317, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12317, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12317, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12317, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12317, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12317, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLRISEFALL3METHODS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLRISEFALL3METHODS_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12319, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12320, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12321, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12322, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12322, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12322, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12322, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12323, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12324, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12325, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12330, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLRISEFALL3METHODS_Lookback() + 1); - - __pyx_v_retCode = TA_CDLRISEFALL3METHODS_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLRISEFALL3METHODS_Close(((TA_CDLRISEFALL3METHODS_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLRISEFALL3METHODS_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12347, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLRISEFALL3METHODS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_4open_and_fill, "CDLRISEFALL3METHODS_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12349, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 12349, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 12349, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12349, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12349, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12349, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12349, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12349, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLRISEFALL3METHODS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLRISEFALL3METHODS_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12352, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12354, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12355, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12355, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12355, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12355, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12355, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12356, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12357, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12358, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12364, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12366, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLRISEFALL3METHODS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12370, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLRISEFALL3METHODS_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLRISEFALL3METHODS_OpenAndFi, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12381, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 12382, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 12382, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 12382, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 12382, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 12382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 12382, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 12382, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLRISEFALL3METHODS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_6update, "CDLRISEFALL3METHODS_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12384, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12384, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12384, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12384, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12384, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 12384, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 12384, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12384, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12384, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12384, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12384, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12385, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12385, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12385, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12385, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12384, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLRISEFALL3METHODS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLRISEFALL3METHODS_Update(((TA_CDLRISEFALL3METHODS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLRISEFALL3METHODS_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12392, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12393, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLRISEFALL3METHODS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_8peek, "CDLRISEFALL3METHODS_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12395, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12395, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12395, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12395, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12395, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 12395, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 12395, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12395, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12395, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12395, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12395, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12396, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12396, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12396, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12396, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12395, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLRISEFALL3METHODS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLRISEFALL3METHODS_Peek(((TA_CDLRISEFALL3METHODS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLRISEFALL3METHODS_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12403, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12404, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLRISEFALL3METHODS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLRISEFALL3METHODS_Value(((TA_CDLRISEFALL3METHODS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLRISEFALL3METHODS_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12414, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12415, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLRISEFALL3METHODS_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLRISEFALL3METHODS_OutRange(((TA_CDLRISEFALL3METHODS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLRISEFALL3METHODS_Advance(((TA_CDLRISEFALL3METHODS_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_10copy, "CDLRISEFALL3METHODS_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_self) { - TA_CDLRISEFALL3METHODS_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream))))) __PYX_ERR(3, 12426, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLRISEFALL3METHODS_Clone(((TA_CDLRISEFALL3METHODS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLRISEFALL3METHODS_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLRISEFALL3METHODS_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLSEPARATINGLINES_Close(((TA_CDLSEPARATINGLINES_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12458, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12458, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12458, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12458, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12458, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 12458, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 12458, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12458, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12458, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12458, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12458, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12458, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSEPARATINGLINES_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLSEPARATINGLINES_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12460, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12461, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12463, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12463, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12463, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12463, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12463, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12464, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12465, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12466, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12471, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLSEPARATINGLINES_Lookback() + 1); - - __pyx_v_retCode = TA_CDLSEPARATINGLINES_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLSEPARATINGLINES_Close(((TA_CDLSEPARATINGLINES_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLSEPARATINGLINES_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12488, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLSEPARATINGLINES_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_4open_and_fill, "CDLSEPARATINGLINES_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12490, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12490, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12490, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12490, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12490, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 12490, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 12490, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12490, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12490, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12490, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12490, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12490, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSEPARATINGLINES_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLSEPARATINGLINES_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12493, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12494, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12495, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12496, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12496, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12496, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12496, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12496, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12497, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12498, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12499, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12507, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLSEPARATINGLINES_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12511, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSEPARATINGLINES_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLSEPARATINGLINES_OpenAndFil, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 12523, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 12523, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 12523, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 12523, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 12523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 12523, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 12523, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLSEPARATINGLINES_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_6update, "CDLSEPARATINGLINES_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12525, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12525, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12525, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12525, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12525, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 12525, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 12525, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12525, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12525, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12525, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12525, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12526, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12526, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12526, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12526, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12525, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSEPARATINGLINES_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSEPARATINGLINES_Update(((TA_CDLSEPARATINGLINES_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSEPARATINGLINES_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12533, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSEPARATINGLINES_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_8peek, "CDLSEPARATINGLINES_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12536, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12536, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 12536, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 12536, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12536, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12536, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12536, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12536, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12537, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12537, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12537, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12537, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12536, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSEPARATINGLINES_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSEPARATINGLINES_Peek(((TA_CDLSEPARATINGLINES_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSEPARATINGLINES_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12544, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSEPARATINGLINES_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSEPARATINGLINES_Value(((TA_CDLSEPARATINGLINES_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSEPARATINGLINES_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12555, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12556, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSEPARATINGLINES_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLSEPARATINGLINES_OutRange(((TA_CDLSEPARATINGLINES_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLSEPARATINGLINES_Advance(((TA_CDLSEPARATINGLINES_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_10copy, "CDLSEPARATINGLINES_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_self) { - TA_CDLSEPARATINGLINES_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12567, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream))))) __PYX_ERR(3, 12567, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSEPARATINGLINES_Clone(((TA_CDLSEPARATINGLINES_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSEPARATINGLINES_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12577, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLSEPARATINGLINES_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLSHOOTINGSTAR_Close(((TA_CDLSHOOTINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12599, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12599, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12599, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12599, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12599, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 12599, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 12599, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12599, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12599, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12599, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12599, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12599, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSHOOTINGSTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLSHOOTINGSTAR_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12602, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12603, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12604, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12604, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12604, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12604, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12604, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12605, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12606, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12607, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12612, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLSHOOTINGSTAR_Lookback() + 1); - - __pyx_v_retCode = TA_CDLSHOOTINGSTAR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLSHOOTINGSTAR_Close(((TA_CDLSHOOTINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLSHOOTINGSTAR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12629, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLSHOOTINGSTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_4open_and_fill, "CDLSHOOTINGSTAR_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12631, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12631, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12631, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12631, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12631, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 12631, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 12631, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12631, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12631, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12631, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12631, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12631, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSHOOTINGSTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLSHOOTINGSTAR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12633, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12634, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12635, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12636, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12637, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12637, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12637, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12637, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12637, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12638, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12639, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12640, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12646, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12648, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLSHOOTINGSTAR_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12652, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSHOOTINGSTAR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLSHOOTINGSTAR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12663, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12664, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 12664, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 12664, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 12664, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 12664, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 12664, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12664, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 12664, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 12664, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLSHOOTINGSTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_6update, "CDLSHOOTINGSTAR_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12666, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12666, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12666, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12666, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12666, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 12666, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 12666, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12666, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12666, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12666, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12666, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12667, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12667, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12667, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12667, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12666, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSHOOTINGSTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSHOOTINGSTAR_Update(((TA_CDLSHOOTINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSHOOTINGSTAR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSHOOTINGSTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_8peek, "CDLSHOOTINGSTAR_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12677, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 12677, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 12677, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12677, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12677, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12677, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12677, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12678, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12678, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12678, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12678, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12677, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSHOOTINGSTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSHOOTINGSTAR_Peek(((TA_CDLSHOOTINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSHOOTINGSTAR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12686, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSHOOTINGSTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSHOOTINGSTAR_Value(((TA_CDLSHOOTINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSHOOTINGSTAR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12696, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSHOOTINGSTAR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLSHOOTINGSTAR_OutRange(((TA_CDLSHOOTINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLSHOOTINGSTAR_Advance(((TA_CDLSHOOTINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_10copy, "CDLSHOOTINGSTAR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_self) { - TA_CDLSHOOTINGSTAR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12708, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream))))) __PYX_ERR(3, 12708, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSHOOTINGSTAR_Clone(((TA_CDLSHOOTINGSTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSHOOTINGSTAR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12718, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLSHOOTINGSTAR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLSHORTLINE_Close(((TA_CDLSHORTLINE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12740, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12740, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12740, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12740, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12740, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 12740, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 12740, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12740, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12740, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12740, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12740, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12740, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSHORTLINE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLSHORTLINE_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12741, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12742, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12743, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12745, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12745, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12745, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12745, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12745, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12746, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12747, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12748, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12753, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLSHORTLINE_Lookback() + 1); - - __pyx_v_retCode = TA_CDLSHORTLINE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLSHORTLINE_Close(((TA_CDLSHORTLINE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLSHORTLINE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12770, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLSHORTLINE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLSHORTLINE_Stream_4open_and_fill, "CDLSHORTLINE_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_19CDLSHORTLINE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLSHORTLINE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12772, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12772, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12772, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12772, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12772, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 12772, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 12772, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12772, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12772, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12772, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12772, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12772, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSHORTLINE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLSHORTLINE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12774, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12775, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12776, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12777, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12778, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12778, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12778, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12778, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12778, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12779, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12780, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12781, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLSHORTLINE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12787, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12789, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLSHORTLINE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12793, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSHORTLINE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLSHORTLINE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12804, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12805, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 12805, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 12805, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 12805, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 12805, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 12805, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12805, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 12805, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 12805, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLSHORTLINE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLSHORTLINE_Stream_6update, "CDLSHORTLINE_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12807, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12807, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12807, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12807, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12807, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 12807, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 12807, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12807, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12807, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12807, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12807, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12808, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12808, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12808, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12808, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12807, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSHORTLINE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSHORTLINE_Update(((TA_CDLSHORTLINE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSHORTLINE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12815, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12816, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSHORTLINE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLSHORTLINE_Stream_8peek, "CDLSHORTLINE_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12818, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12818, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12818, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12818, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12818, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 12818, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 12818, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12818, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12818, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12818, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12818, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12819, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12819, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12819, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12819, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12818, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSHORTLINE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSHORTLINE_Peek(((TA_CDLSHORTLINE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSHORTLINE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12826, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSHORTLINE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSHORTLINE_Value(((TA_CDLSHORTLINE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSHORTLINE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12837, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSHORTLINE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLSHORTLINE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLSHORTLINE_OutRange(((TA_CDLSHORTLINE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLSHORTLINE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLSHORTLINE_Advance(((TA_CDLSHORTLINE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLSHORTLINE_Stream_10copy, "CDLSHORTLINE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLSHORTLINE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_self) { - TA_CDLSHORTLINE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12849, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream))))) __PYX_ERR(3, 12849, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSHORTLINE_Clone(((TA_CDLSHORTLINE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSHORTLINE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLSHORTLINE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLSPINNINGTOP_Close(((TA_CDLSPINNINGTOP_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12881, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12881, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12881, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12881, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12881, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 12881, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 12881, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12881, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12881, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12881, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12881, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12881, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSPINNINGTOP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLSPINNINGTOP_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12883, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12884, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12885, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12886, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12886, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12886, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12886, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12886, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12887, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12888, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12889, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12894, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLSPINNINGTOP_Lookback() + 1); - - __pyx_v_retCode = TA_CDLSPINNINGTOP_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLSPINNINGTOP_Close(((TA_CDLSPINNINGTOP_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLSPINNINGTOP_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12911, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLSPINNINGTOP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_4open_and_fill, "CDLSPINNINGTOP_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12913, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12913, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12913, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12913, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12913, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 12913, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 12913, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12913, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12913, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12913, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12913, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12913, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSPINNINGTOP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLSPINNINGTOP_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12915, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12917, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12918, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12919, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 12919, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 12919, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 12919, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 12919, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 12920, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 12921, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 12922, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12928, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 12930, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLSPINNINGTOP_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12934, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSPINNINGTOP_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLSPINNINGTOP_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12945, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12946, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 12946, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 12946, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 12946, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 12946, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 12946, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12946, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 12946, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 12946, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLSPINNINGTOP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_6update, "CDLSPINNINGTOP_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12948, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12948, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12948, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12948, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12948, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 12948, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 12948, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12948, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12948, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12948, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12948, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12949, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12949, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12949, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12949, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12948, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSPINNINGTOP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSPINNINGTOP_Update(((TA_CDLSPINNINGTOP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSPINNINGTOP_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12956, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12957, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSPINNINGTOP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_8peek, "CDLSPINNINGTOP_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 12959, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12959, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 12959, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 12959, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 12959, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 12959, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 12959, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 12959, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12960, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12960, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12960, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 12960, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 12959, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSPINNINGTOP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSPINNINGTOP_Peek(((TA_CDLSPINNINGTOP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSPINNINGTOP_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12967, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12968, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSPINNINGTOP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSPINNINGTOP_Value(((TA_CDLSPINNINGTOP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSPINNINGTOP_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12978, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 12979, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSPINNINGTOP_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLSPINNINGTOP_OutRange(((TA_CDLSPINNINGTOP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLSPINNINGTOP_Advance(((TA_CDLSPINNINGTOP_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_10copy, "CDLSPINNINGTOP_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_self) { - TA_CDLSPINNINGTOP_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12990, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream))))) __PYX_ERR(3, 12990, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSPINNINGTOP_Clone(((TA_CDLSPINNINGTOP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSPINNINGTOP_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13000, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLSPINNINGTOP_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLSTALLEDPATTERN_Close(((TA_CDLSTALLEDPATTERN_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13022, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13022, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13022, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13022, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13022, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 13022, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 13022, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13022, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13022, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13022, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13022, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13022, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSTALLEDPATTERN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLSTALLEDPATTERN_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13023, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13024, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13026, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13027, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13027, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13027, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13027, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13027, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13028, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13029, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13030, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13035, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLSTALLEDPATTERN_Lookback() + 1); - - __pyx_v_retCode = TA_CDLSTALLEDPATTERN_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLSTALLEDPATTERN_Close(((TA_CDLSTALLEDPATTERN_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLSTALLEDPATTERN_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13052, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLSTALLEDPATTERN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_4open_and_fill, "CDLSTALLEDPATTERN_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13054, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13054, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13054, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13054, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13054, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 13054, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 13054, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13054, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13054, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13054, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13054, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13054, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSTALLEDPATTERN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLSTALLEDPATTERN_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13057, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13058, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13059, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13060, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13060, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13060, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13060, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13060, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13061, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13062, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13063, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13069, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13071, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLSTALLEDPATTERN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13075, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSTALLEDPATTERN_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLSTALLEDPATTERN_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13086, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 13087, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 13087, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 13087, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 13087, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 13087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 13087, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 13087, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLSTALLEDPATTERN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_6update, "CDLSTALLEDPATTERN_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13089, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13089, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 13089, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 13089, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13089, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13089, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13089, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13089, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13090, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13090, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13090, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13090, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13089, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSTALLEDPATTERN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSTALLEDPATTERN_Update(((TA_CDLSTALLEDPATTERN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSTALLEDPATTERN_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13097, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSTALLEDPATTERN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_8peek, "CDLSTALLEDPATTERN_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13100, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13100, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13100, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13100, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13100, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 13100, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 13100, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13100, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13100, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13100, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13100, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13101, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13101, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13101, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13101, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13100, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSTALLEDPATTERN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSTALLEDPATTERN_Peek(((TA_CDLSTALLEDPATTERN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSTALLEDPATTERN_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSTALLEDPATTERN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSTALLEDPATTERN_Value(((TA_CDLSTALLEDPATTERN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSTALLEDPATTERN_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13119, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSTALLEDPATTERN_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLSTALLEDPATTERN_OutRange(((TA_CDLSTALLEDPATTERN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLSTALLEDPATTERN_Advance(((TA_CDLSTALLEDPATTERN_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_10copy, "CDLSTALLEDPATTERN_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_self) { - TA_CDLSTALLEDPATTERN_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream))))) __PYX_ERR(3, 13131, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSTALLEDPATTERN_Clone(((TA_CDLSTALLEDPATTERN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSTALLEDPATTERN_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13141, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLSTALLEDPATTERN_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLSTICKSANDWICH_Close(((TA_CDLSTICKSANDWICH_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13163, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13163, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13163, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13163, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13163, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 13163, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 13163, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13163, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13163, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13163, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13163, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13163, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSTICKSANDWICH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLSTICKSANDWICH_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13168, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13168, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13168, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13168, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13168, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13169, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13170, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13171, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13176, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLSTICKSANDWICH_Lookback() + 1); - - __pyx_v_retCode = TA_CDLSTICKSANDWICH_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLSTICKSANDWICH_Close(((TA_CDLSTICKSANDWICH_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLSTICKSANDWICH_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLSTICKSANDWICH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_4open_and_fill, "CDLSTICKSANDWICH_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13195, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13195, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13195, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13195, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13195, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 13195, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 13195, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13195, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13195, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13195, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13195, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13195, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSTICKSANDWICH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLSTICKSANDWICH_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13201, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13201, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13201, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13201, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13202, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13203, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13204, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13212, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLSTICKSANDWICH_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13216, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSTICKSANDWICH_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLSTICKSANDWICH_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 13228, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 13228, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 13228, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 13228, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 13228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 13228, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 13228, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLSTICKSANDWICH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_6update, "CDLSTICKSANDWICH_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13230, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 13230, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 13230, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13230, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13230, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13230, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13230, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13231, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13231, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13231, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13231, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13230, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSTICKSANDWICH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSTICKSANDWICH_Update(((TA_CDLSTICKSANDWICH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSTICKSANDWICH_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13238, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13239, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSTICKSANDWICH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_8peek, "CDLSTICKSANDWICH_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13241, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13241, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13241, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13241, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13241, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 13241, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 13241, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13241, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13241, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13241, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13241, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13242, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13242, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13242, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13242, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13241, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLSTICKSANDWICH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSTICKSANDWICH_Peek(((TA_CDLSTICKSANDWICH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSTICKSANDWICH_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13249, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSTICKSANDWICH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSTICKSANDWICH_Value(((TA_CDLSTICKSANDWICH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSTICKSANDWICH_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13260, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLSTICKSANDWICH_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLSTICKSANDWICH_OutRange(((TA_CDLSTICKSANDWICH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLSTICKSANDWICH_Advance(((TA_CDLSTICKSANDWICH_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_10copy, "CDLSTICKSANDWICH_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_self) { - TA_CDLSTICKSANDWICH_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream))))) __PYX_ERR(3, 13272, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLSTICKSANDWICH_Clone(((TA_CDLSTICKSANDWICH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLSTICKSANDWICH_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13282, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLSTICKSANDWICH_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLTAKURI_Close(((TA_CDLTAKURI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13304, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13304, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13304, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13304, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13304, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 13304, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 13304, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13304, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13304, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13304, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13304, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13304, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTAKURI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLTAKURI_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13306, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13308, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13309, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13309, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13309, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13309, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13310, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13311, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13312, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13317, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLTAKURI_Lookback() + 1); - - __pyx_v_retCode = TA_CDLTAKURI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLTAKURI_Close(((TA_CDLTAKURI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLTAKURI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13334, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLTAKURI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLTAKURI_Stream_4open_and_fill, "CDLTAKURI_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_16CDLTAKURI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLTAKURI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13336, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13336, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13336, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13336, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13336, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 13336, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 13336, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13336, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13336, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13336, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13336, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13336, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTAKURI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLTAKURI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13340, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13341, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13342, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13342, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13342, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13342, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13342, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13343, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13344, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13345, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLTAKURI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13353, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLTAKURI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13357, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTAKURI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLTAKURI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13368, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 13369, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 13369, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 13369, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 13369, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 13369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 13369, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 13369, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLTAKURI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLTAKURI_Stream_6update, "CDLTAKURI_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13371, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13371, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13371, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13371, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13371, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 13371, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 13371, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13371, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13371, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13371, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13371, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13372, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13372, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13372, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13372, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13371, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTAKURI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTAKURI_Update(((TA_CDLTAKURI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTAKURI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13379, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13380, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLTAKURI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLTAKURI_Stream_8peek, "CDLTAKURI_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13382, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13382, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13382, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13382, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13382, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 13382, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 13382, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13382, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13382, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13382, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13382, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13383, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13383, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13383, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13383, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13382, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTAKURI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTAKURI_Peek(((TA_CDLTAKURI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTAKURI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13390, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13391, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLTAKURI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTAKURI_Value(((TA_CDLTAKURI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTAKURI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13401, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13402, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLTAKURI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLTAKURI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLTAKURI_OutRange(((TA_CDLTAKURI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16CDLTAKURI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLTAKURI_Advance(((TA_CDLTAKURI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16CDLTAKURI_Stream_10copy, "CDLTAKURI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16CDLTAKURI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_self) { - TA_CDLTAKURI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13413, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream))))) __PYX_ERR(3, 13413, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTAKURI_Clone(((TA_CDLTAKURI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTAKURI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLTAKURI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLTASUKIGAP_Close(((TA_CDLTASUKIGAP_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13445, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13445, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13445, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13445, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13445, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 13445, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 13445, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13445, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13445, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13445, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13445, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13445, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTASUKIGAP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLTASUKIGAP_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13449, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13450, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13450, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13450, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13450, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13450, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13451, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13452, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13453, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13458, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLTASUKIGAP_Lookback() + 1); - - __pyx_v_retCode = TA_CDLTASUKIGAP_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLTASUKIGAP_Close(((TA_CDLTASUKIGAP_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLTASUKIGAP_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLTASUKIGAP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_4open_and_fill, "CDLTASUKIGAP_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13477, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13477, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13477, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13477, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13477, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 13477, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 13477, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13477, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13477, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13477, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13477, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13477, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTASUKIGAP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLTASUKIGAP_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13479, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13483, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13483, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13483, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13483, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13483, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13484, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13485, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13486, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLTASUKIGAP_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13494, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLTASUKIGAP_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13498, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTASUKIGAP_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLTASUKIGAP_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13509, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13510, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 13510, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 13510, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 13510, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 13510, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 13510, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13510, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 13510, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 13510, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLTASUKIGAP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_6update, "CDLTASUKIGAP_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13512, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13512, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13512, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13512, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13512, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 13512, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 13512, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13512, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13512, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13512, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13512, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13513, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13513, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13513, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13513, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13512, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTASUKIGAP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTASUKIGAP_Update(((TA_CDLTASUKIGAP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTASUKIGAP_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13520, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13521, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLTASUKIGAP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_8peek, "CDLTASUKIGAP_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13523, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13523, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13523, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13523, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13523, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 13523, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 13523, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13523, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13523, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13523, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13523, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13524, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13524, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13524, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13524, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13523, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTASUKIGAP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTASUKIGAP_Peek(((TA_CDLTASUKIGAP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTASUKIGAP_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13532, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLTASUKIGAP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTASUKIGAP_Value(((TA_CDLTASUKIGAP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTASUKIGAP_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13542, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLTASUKIGAP_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLTASUKIGAP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLTASUKIGAP_OutRange(((TA_CDLTASUKIGAP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLTASUKIGAP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLTASUKIGAP_Advance(((TA_CDLTASUKIGAP_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_10copy, "CDLTASUKIGAP_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_self) { - TA_CDLTASUKIGAP_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13554, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream))))) __PYX_ERR(3, 13554, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTASUKIGAP_Clone(((TA_CDLTASUKIGAP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTASUKIGAP_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13564, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLTASUKIGAP_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLTHRUSTING_Close(((TA_CDLTHRUSTING_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13586, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13586, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13586, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13586, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13586, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 13586, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 13586, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13586, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13586, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13586, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13586, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13586, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTHRUSTING_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLTHRUSTING_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13587, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13588, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13589, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13590, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13591, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13591, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13591, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13591, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13591, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13592, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13593, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13594, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13599, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLTHRUSTING_Lookback() + 1); - - __pyx_v_retCode = TA_CDLTHRUSTING_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLTHRUSTING_Close(((TA_CDLTHRUSTING_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLTHRUSTING_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13616, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLTHRUSTING_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLTHRUSTING_Stream_4open_and_fill, "CDLTHRUSTING_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_19CDLTHRUSTING_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLTHRUSTING_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13618, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13618, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 13618, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 13618, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13618, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13618, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13618, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13618, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13618, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTHRUSTING_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLTHRUSTING_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13620, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13621, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13622, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13623, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13624, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13624, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13624, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13624, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13624, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13625, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13626, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13627, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLTHRUSTING_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13633, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13635, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLTHRUSTING_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13639, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTHRUSTING_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLTHRUSTING_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13650, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 13651, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 13651, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 13651, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 13651, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 13651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 13651, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 13651, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLTHRUSTING_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLTHRUSTING_Stream_6update, "CDLTHRUSTING_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13653, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13653, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13653, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13653, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13653, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 13653, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 13653, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13653, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13653, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13653, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13653, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13654, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13654, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13654, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13654, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13653, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTHRUSTING_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTHRUSTING_Update(((TA_CDLTHRUSTING_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTHRUSTING_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13661, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13662, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLTHRUSTING_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLTHRUSTING_Stream_8peek, "CDLTHRUSTING_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13664, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13664, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13664, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13664, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13664, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 13664, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 13664, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13664, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13664, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13664, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13664, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13665, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13665, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13665, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13665, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13664, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTHRUSTING_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTHRUSTING_Peek(((TA_CDLTHRUSTING_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTHRUSTING_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13672, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13673, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLTHRUSTING_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTHRUSTING_Value(((TA_CDLTHRUSTING_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTHRUSTING_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13683, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLTHRUSTING_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLTHRUSTING_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLTHRUSTING_OutRange(((TA_CDLTHRUSTING_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19CDLTHRUSTING_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLTHRUSTING_Advance(((TA_CDLTHRUSTING_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19CDLTHRUSTING_Stream_10copy, "CDLTHRUSTING_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19CDLTHRUSTING_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_self) { - TA_CDLTHRUSTING_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13695, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream))))) __PYX_ERR(3, 13695, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTHRUSTING_Clone(((TA_CDLTHRUSTING_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTHRUSTING_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13705, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLTHRUSTING_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLTRISTAR_Close(((TA_CDLTRISTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13727, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13727, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13727, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13727, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13727, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 13727, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 13727, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13727, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13727, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13727, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13727, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13727, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTRISTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLTRISTAR_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13728, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13729, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13730, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13731, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13732, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13732, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13732, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13732, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13732, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13733, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13734, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13735, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13740, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLTRISTAR_Lookback() + 1); - - __pyx_v_retCode = TA_CDLTRISTAR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLTRISTAR_Close(((TA_CDLTRISTAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLTRISTAR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13757, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLTRISTAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLTRISTAR_Stream_4open_and_fill, "CDLTRISTAR_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_17CDLTRISTAR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLTRISTAR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13759, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13759, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13759, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13759, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13759, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 13759, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 13759, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13759, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13759, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13759, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13759, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13759, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTRISTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLTRISTAR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13761, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13762, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13763, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13764, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13765, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13765, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13765, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13765, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13765, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13766, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13767, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13768, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLTRISTAR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13774, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13776, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLTRISTAR_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13780, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTRISTAR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLTRISTAR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13791, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13792, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 13792, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 13792, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 13792, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 13792, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 13792, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13792, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 13792, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 13792, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLTRISTAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLTRISTAR_Stream_6update, "CDLTRISTAR_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13794, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13794, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13794, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13794, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13794, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 13794, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 13794, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13794, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13794, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13794, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13794, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13795, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13795, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13795, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13795, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13794, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTRISTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTRISTAR_Update(((TA_CDLTRISTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTRISTAR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13802, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13803, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLTRISTAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLTRISTAR_Stream_8peek, "CDLTRISTAR_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13805, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 13805, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 13805, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13805, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13805, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13805, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13805, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13806, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13806, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13806, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13806, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13805, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLTRISTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTRISTAR_Peek(((TA_CDLTRISTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTRISTAR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13813, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13814, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLTRISTAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTRISTAR_Value(((TA_CDLTRISTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTRISTAR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLTRISTAR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLTRISTAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLTRISTAR_OutRange(((TA_CDLTRISTAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17CDLTRISTAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLTRISTAR_Advance(((TA_CDLTRISTAR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17CDLTRISTAR_Stream_10copy, "CDLTRISTAR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17CDLTRISTAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_self) { - TA_CDLTRISTAR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13836, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream))))) __PYX_ERR(3, 13836, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLTRISTAR_Clone(((TA_CDLTRISTAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLTRISTAR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13846, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLTRISTAR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLUNIQUE3RIVER_Close(((TA_CDLUNIQUE3RIVER_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13868, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13868, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13868, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13868, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13868, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 13868, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 13868, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13868, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13868, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13868, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13868, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13868, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLUNIQUE3RIVER_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLUNIQUE3RIVER_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13869, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13870, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13872, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13873, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13873, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13873, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13873, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13873, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13874, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13875, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13876, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13881, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLUNIQUE3RIVER_Lookback() + 1); - - __pyx_v_retCode = TA_CDLUNIQUE3RIVER_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLUNIQUE3RIVER_Close(((TA_CDLUNIQUE3RIVER_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLUNIQUE3RIVER_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13898, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLUNIQUE3RIVER_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_4open_and_fill, "CDLUNIQUE3RIVER_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13900, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13900, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13900, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13900, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13900, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 13900, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 13900, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13900, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13900, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13900, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13900, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13900, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLUNIQUE3RIVER_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLUNIQUE3RIVER_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13902, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13903, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13904, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13905, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13906, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 13906, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 13906, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 13906, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 13906, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 13907, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 13908, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 13909, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13915, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 13917, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLUNIQUE3RIVER_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13921, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLUNIQUE3RIVER_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLUNIQUE3RIVER_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13932, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 13933, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 13933, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 13933, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 13933, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 13933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 13933, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 13933, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLUNIQUE3RIVER_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_6update, "CDLUNIQUE3RIVER_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13935, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13935, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13935, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13935, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13935, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 13935, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 13935, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13935, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13935, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13935, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13935, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13936, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13936, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13936, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13936, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13935, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLUNIQUE3RIVER_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLUNIQUE3RIVER_Update(((TA_CDLUNIQUE3RIVER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLUNIQUE3RIVER_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13943, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13944, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLUNIQUE3RIVER_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_8peek, "CDLUNIQUE3RIVER_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 13946, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 13946, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 13946, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 13946, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 13946, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 13946, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 13946, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13947, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13947, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13947, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 13947, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 13946, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLUNIQUE3RIVER_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLUNIQUE3RIVER_Peek(((TA_CDLUNIQUE3RIVER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLUNIQUE3RIVER_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13954, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13955, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLUNIQUE3RIVER_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLUNIQUE3RIVER_Value(((TA_CDLUNIQUE3RIVER_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLUNIQUE3RIVER_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13965, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 13966, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLUNIQUE3RIVER_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLUNIQUE3RIVER_OutRange(((TA_CDLUNIQUE3RIVER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLUNIQUE3RIVER_Advance(((TA_CDLUNIQUE3RIVER_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_10copy, "CDLUNIQUE3RIVER_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_self) { - TA_CDLUNIQUE3RIVER_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13977, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream))))) __PYX_ERR(3, 13977, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLUNIQUE3RIVER_Clone(((TA_CDLUNIQUE3RIVER_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLUNIQUE3RIVER_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13987, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLUNIQUE3RIVER_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLUPSIDEGAP2CROWS_Close(((TA_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14009, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14009, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14009, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14009, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14009, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 14009, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 14009, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14009, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14009, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14009, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14009, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 14009, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLUPSIDEGAP2CROWS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14010, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14011, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14012, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14014, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 14014, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 14014, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 14014, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 14014, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14015, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14016, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14017, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14022, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLUPSIDEGAP2CROWS_Lookback() + 1); - - __pyx_v_retCode = TA_CDLUPSIDEGAP2CROWS_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLUPSIDEGAP2CROWS_Close(((TA_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLUPSIDEGAP2CROWS_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14039, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLUPSIDEGAP2CROWS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_4open_and_fill, "CDLUPSIDEGAP2CROWS_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14041, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14041, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14041, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14041, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14041, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 14041, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 14041, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14041, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14041, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14041, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14041, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 14041, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLUPSIDEGAP2CROWS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14043, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14044, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14045, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14046, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14047, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 14047, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 14047, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 14047, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 14047, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14048, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14049, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14050, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14058, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLUPSIDEGAP2CROWS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14062, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLUPSIDEGAP2CROWS_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLUPSIDEGAP2CROWS_OpenAndFil, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14073, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 14074, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 14074, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 14074, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 14074, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 14074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 14074, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 14074, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLUPSIDEGAP2CROWS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_6update, "CDLUPSIDEGAP2CROWS_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14076, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14076, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14076, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14076, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14076, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 14076, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 14076, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14076, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14076, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14076, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14076, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14077, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14077, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14077, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14077, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 14076, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLUPSIDEGAP2CROWS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLUPSIDEGAP2CROWS_Update(((TA_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLUPSIDEGAP2CROWS_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14084, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14085, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLUPSIDEGAP2CROWS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_8peek, "CDLUPSIDEGAP2CROWS_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14087, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14087, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 14087, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 14087, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14087, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14087, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14087, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14087, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14088, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14088, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14088, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14088, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 14087, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLUPSIDEGAP2CROWS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLUPSIDEGAP2CROWS_Peek(((TA_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLUPSIDEGAP2CROWS_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14095, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14096, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLUPSIDEGAP2CROWS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLUPSIDEGAP2CROWS_Value(((TA_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLUPSIDEGAP2CROWS_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLUPSIDEGAP2CROWS_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLUPSIDEGAP2CROWS_OutRange(((TA_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLUPSIDEGAP2CROWS_Advance(((TA_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_10copy, "CDLUPSIDEGAP2CROWS_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_self) { - TA_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream))))) __PYX_ERR(3, 14118, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLUPSIDEGAP2CROWS_Clone(((TA_CDLUPSIDEGAP2CROWS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLUPSIDEGAP2CROWS_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLUPSIDEGAP2CROWS_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CDLXSIDEGAP3METHODS_Close(((TA_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14150, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14150, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14150, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14150, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14150, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 14150, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 14150, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14150, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14150, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14150, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14150, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 14150, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLXSIDEGAP3METHODS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CDLXSIDEGAP3METHODS_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14152, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 14155, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 14155, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 14155, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 14155, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14156, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14157, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14158, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14163, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CDLXSIDEGAP3METHODS_Lookback() + 1); - - __pyx_v_retCode = TA_CDLXSIDEGAP3METHODS_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CDLXSIDEGAP3METHODS_Close(((TA_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLXSIDEGAP3METHODS_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CDLXSIDEGAP3METHODS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_4open_and_fill, "CDLXSIDEGAP3METHODS_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14182, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14182, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14182, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14182, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14182, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 14182, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 14182, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14182, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14182, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14182, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14182, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 14182, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLXSIDEGAP3METHODS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CDLXSIDEGAP3METHODS_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14187, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 14188, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 14188, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 14188, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 14188, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14189, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14190, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14191, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14199, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CDLXSIDEGAP3METHODS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14203, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CDLXSIDEGAP3METHODS_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CDLXSIDEGAP3METHODS_OpenAndFi, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 14215, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 14215, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 14215, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 14215, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 14215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 14215, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 14215, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CDLXSIDEGAP3METHODS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_6update, "CDLXSIDEGAP3METHODS_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14217, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14217, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14217, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14217, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14217, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 14217, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 14217, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14217, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14217, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14217, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14217, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14218, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14218, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14218, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14218, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 14217, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLXSIDEGAP3METHODS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLXSIDEGAP3METHODS_Update(((TA_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLXSIDEGAP3METHODS_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14225, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14226, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLXSIDEGAP3METHODS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_8peek, "CDLXSIDEGAP3METHODS_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14228, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14228, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14228, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14228, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14228, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 14228, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 14228, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14228, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14228, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14228, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14228, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14229, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14229, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14229, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14229, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 14228, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CDLXSIDEGAP3METHODS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLXSIDEGAP3METHODS_Peek(((TA_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLXSIDEGAP3METHODS_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14236, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLXSIDEGAP3METHODS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CDLXSIDEGAP3METHODS_Value(((TA_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLXSIDEGAP3METHODS_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CDLXSIDEGAP3METHODS_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLXSIDEGAP3METHODS_OutRange(((TA_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CDLXSIDEGAP3METHODS_Advance(((TA_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_10copy, "CDLXSIDEGAP3METHODS_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_self) { - TA_CDLXSIDEGAP3METHODS_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14259, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream))))) __PYX_ERR(3, 14259, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CDLXSIDEGAP3METHODS_Clone(((TA_CDLXSIDEGAP3METHODS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CDLXSIDEGAP3METHODS_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CDLXSIDEGAP3METHODS_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11CEIL_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11CEIL_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11CEIL_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11CEIL_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CEIL_Close(((TA_CEIL_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11CEIL_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11CEIL_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14291, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14291, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 14291, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 14291, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14291, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 14291, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CEIL_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11CEIL_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11CEIL_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CEIL_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14292, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14293, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 14293, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14294, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14295, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14296, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14301, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CEIL_Lookback() + 1); - - __pyx_v_retCode = TA_CEIL_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CEIL_Close(((TA_CEIL_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CEIL_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CEIL_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11CEIL_Stream_4open_and_fill, "CEIL_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11CEIL_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11CEIL_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14320, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14320, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 14320, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 14320, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14320, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 14320, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CEIL_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11CEIL_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11CEIL_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CEIL_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14323, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 14323, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14324, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14325, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14326, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CEIL_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14334, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CEIL_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14338, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CEIL_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CEIL_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14349, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14350, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 14350, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 14350, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14350, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 14350, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 14350, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CEIL_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11CEIL_Stream_6update, "CEIL_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14352, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 14352, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 14352, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14352, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14353, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 14352, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CEIL_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11CEIL_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11CEIL_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CEIL_Update(((TA_CEIL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CEIL_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CEIL_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11CEIL_Stream_8peek, "CEIL_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14363, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14363, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 14363, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 14363, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14363, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14364, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 14363, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CEIL_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11CEIL_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11CEIL_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CEIL_Peek(((TA_CEIL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CEIL_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14371, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14372, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CEIL_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11CEIL_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11CEIL_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CEIL_Value(((TA_CEIL_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CEIL_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14383, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CEIL_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11CEIL_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CEIL_OutRange(((TA_CEIL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11CEIL_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CEIL_Advance(((TA_CEIL_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11CEIL_Stream_10copy, "CEIL_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11CEIL_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11CEIL_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_self) { - TA_CEIL_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14394, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream))))) __PYX_ERR(3, 14394, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CEIL_Clone(((TA_CEIL_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CEIL_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14404, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CEIL_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10CMF_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10CMF_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10CMF_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10CMF_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CMF_Close(((TA_CMF_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10CMF_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10CMF_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14428, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 14428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 14428, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, i); __PYX_ERR(3, 14428, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 14428, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14428, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14428, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14428, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14428, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - __pyx_v_volume = values[3]; - if (values[4]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 14428, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 14428, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMF_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CMF_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10CMF_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CMF_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14429, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14432, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 14433, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 14433, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 14433, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 14433, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14434, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14435, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14436, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14441, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CMF_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_CMF_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CMF_Close(((TA_CMF_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CMF_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CMF_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMF_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CMF_Stream_4open_and_fill, "CMF_Stream.open_and_fill(high, low, close, volume, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10CMF_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CMF_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CMF_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMF_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14460, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 14460, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14460, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14460, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14460, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14460, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 14460, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, i); __PYX_ERR(3, 14460, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 14460, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14460, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14460, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14460, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14460, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - __pyx_v_volume = values[3]; - if (values[4]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 14461, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 14460, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMF_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CMF_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMF_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CMF_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14463, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14464, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14465, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14466, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 14466, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 14466, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 14466, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 14466, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14467, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14468, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14469, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CMF_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMF_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14477, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CMF_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14481, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CMF_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CMF_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14493, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 14493, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 14493, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 14493, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_volume) != (0)) __PYX_ERR(3, 14493, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 14493, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14493, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 14493, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 14493, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CMF_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMF_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CMF_Stream_6update, "CMF_Stream.update(self, double high, double low, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMF_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14495, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14495, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14495, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14495, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14495, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 14495, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 14495, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14495, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14495, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14495, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14495, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14496, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14496, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14496, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14496, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 14495, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMF_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CMF_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMF_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CMF_Update(((TA_CMF_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMF_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14503, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14504, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CMF_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMF_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CMF_Stream_8peek, "CMF_Stream.peek(self, double high, double low, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMF_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14506, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14506, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14506, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14506, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14506, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 14506, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 14506, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14506, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14506, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14506, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14506, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14507, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14507, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14507, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14507, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 14506, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMF_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CMF_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMF_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CMF_Peek(((TA_CMF_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMF_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14514, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CMF_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMF_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMF_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CMF_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMF_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CMF_Value(((TA_CMF_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMF_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14526, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CMF_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CMF_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CMF_OutRange(((TA_CMF_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CMF_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CMF_Advance(((TA_CMF_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMF_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CMF_Stream_10copy, "CMF_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMF_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CMF_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMF_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_self) { - TA_CMF_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMF_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMF_Stream))))) __PYX_ERR(3, 14537, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CMF_Clone(((TA_CMF_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMF_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14547, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CMF_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10CMO_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10CMO_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10CMO_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10CMO_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CMO_Close(((TA_CMO_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10CMO_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10CMO_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14571, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14571, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14571, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 14571, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 14571, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14571, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14571, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 14571, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 14571, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMO_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CMO_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10CMO_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CMO_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14573, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 14573, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14574, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14575, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14576, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14581, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CMO_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_CMO_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CMO_Close(((TA_CMO_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CMO_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14598, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CMO_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMO_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CMO_Stream_4open_and_fill, "CMO_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10CMO_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CMO_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CMO_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMO_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14600, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 14600, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 14600, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14600, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 14601, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 14600, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMO_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CMO_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMO_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CMO_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14602, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14603, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 14603, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14604, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14605, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14606, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CMO_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMO_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14612, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14614, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CMO_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14618, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CMO_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CMO_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14629, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14630, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 14630, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 14630, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14630, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 14630, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 14630, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CMO_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMO_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CMO_Stream_6update, "CMO_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMO_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14632, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14632, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 14632, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 14632, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14632, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14633, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 14632, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMO_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CMO_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMO_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CMO_Update(((TA_CMO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMO_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14640, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CMO_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMO_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CMO_Stream_8peek, "CMO_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMO_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14643, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14643, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 14643, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 14643, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14643, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14644, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 14643, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMO_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CMO_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMO_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CMO_Peek(((TA_CMO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMO_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14652, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CMO_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMO_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMO_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CMO_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMO_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CMO_Value(((TA_CMO_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMO_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14662, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14663, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CMO_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CMO_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CMO_OutRange(((TA_CMO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CMO_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CMO_Advance(((TA_CMO_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMO_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CMO_Stream_10copy, "CMO_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10CMO_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CMO_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CMO_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_self) { - TA_CMO_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMO_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMO_Stream))))) __PYX_ERR(3, 14674, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CMO_Clone(((TA_CMO_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMO_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CMO_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11CMOU_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11CMOU_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11CMOU_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11CMOU_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CMOU_Close(((TA_CMOU_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11CMOU_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11CMOU_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14708, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14708, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14708, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 14708, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 14708, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14708, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14708, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 14708, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 14708, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMOU_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11CMOU_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11CMOU_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CMOU_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14709, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 14710, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14711, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14712, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14713, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14718, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CMOU_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_CMOU_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CMOU_Close(((TA_CMOU_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CMOU_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14735, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CMOU_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11CMOU_Stream_4open_and_fill, "CMOU_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11CMOU_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11CMOU_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14737, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14737, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14737, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 14737, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 14737, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14737, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14737, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 14738, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 14737, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMOU_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11CMOU_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11CMOU_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CMOU_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14739, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14740, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 14740, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14741, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14742, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14743, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CMOU_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14749, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14751, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CMOU_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14755, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CMOU_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CMOU_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14766, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14767, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 14767, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 14767, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14767, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 14767, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 14767, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CMOU_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11CMOU_Stream_6update, "CMOU_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14769, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14769, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 14769, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 14769, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14769, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14770, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 14769, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMOU_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11CMOU_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11CMOU_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CMOU_Update(((TA_CMOU_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMOU_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14777, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14778, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CMOU_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11CMOU_Stream_8peek, "CMOU_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14780, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14780, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 14780, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 14780, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14780, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14781, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 14780, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CMOU_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11CMOU_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11CMOU_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CMOU_Peek(((TA_CMOU_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMOU_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14788, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14789, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CMOU_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11CMOU_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11CMOU_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CMOU_Value(((TA_CMOU_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMOU_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14799, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14800, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CMOU_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11CMOU_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CMOU_OutRange(((TA_CMOU_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11CMOU_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CMOU_Advance(((TA_CMOU_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11CMOU_Stream_10copy, "CMOU_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11CMOU_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11CMOU_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_self) { - TA_CMOU_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream))))) __PYX_ERR(3, 14811, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CMOU_Clone(((TA_CMOU_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CMOU_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14821, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CMOU_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_COPPOCK_Close(((TA_COPPOCK_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_wmaperiod; - int __pyx_v_roc1period; - int __pyx_v_roc2period; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_wmaperiod,&__pyx_mstate_global->__pyx_n_u_roc1period,&__pyx_mstate_global->__pyx_n_u_roc2period,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14847, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14847, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14847, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14847, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14847, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 14847, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, i); __PYX_ERR(3, 14847, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14847, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14847, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14847, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14847, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_wmaperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_wmaperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 14847, __pyx_L3_error) - } else { - __pyx_v_wmaperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_roc1period = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_roc1period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 14847, __pyx_L3_error) - } else { - __pyx_v_roc1period = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_roc2period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_roc2period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 14847, __pyx_L3_error) - } else { - __pyx_v_roc2period = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, __pyx_nargs); __PYX_ERR(3, 14847, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COPPOCK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_wmaperiod, __pyx_v_roc1period, __pyx_v_roc2period); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_wmaperiod, int __pyx_v_roc1period, int __pyx_v_roc2period) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_COPPOCK_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14848, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14849, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 14849, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14850, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14851, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14852, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14857, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_COPPOCK_Lookback(__pyx_v_wmaperiod, __pyx_v_roc1period, __pyx_v_roc2period) + 1); - - __pyx_v_retCode = TA_COPPOCK_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_wmaperiod, __pyx_v_roc1period, __pyx_v_roc2period, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_COPPOCK_Close(((TA_COPPOCK_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_COPPOCK_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14874, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.COPPOCK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14COPPOCK_Stream_4open_and_fill, "COPPOCK_Stream.open_and_fill(real, int wmaperiod=-0x80000000, int roc1period=-0x80000000, int roc2period=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_14COPPOCK_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14COPPOCK_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_wmaperiod; - int __pyx_v_roc1period; - int __pyx_v_roc2period; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_wmaperiod,&__pyx_mstate_global->__pyx_n_u_roc1period,&__pyx_mstate_global->__pyx_n_u_roc2period,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14876, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14876, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14876, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14876, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14876, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 14876, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 4, i); __PYX_ERR(3, 14876, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 14876, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14876, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14876, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14876, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_wmaperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_wmaperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 14877, __pyx_L3_error) - } else { - __pyx_v_wmaperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_roc1period = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_roc1period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 14877, __pyx_L3_error) - } else { - __pyx_v_roc1period = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_roc2period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_roc2period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 14877, __pyx_L3_error) - } else { - __pyx_v_roc2period = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 4, __pyx_nargs); __PYX_ERR(3, 14876, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COPPOCK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_4open_and_fill(__pyx_v_real, __pyx_v_wmaperiod, __pyx_v_roc1period, __pyx_v_roc2period); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_wmaperiod, int __pyx_v_roc1period, int __pyx_v_roc2period) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_COPPOCK_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14878, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 14879, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14880, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14881, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14882, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_COPPOCK_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14888, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14890, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_COPPOCK_Lookback(__pyx_v_wmaperiod, __pyx_v_roc1period, __pyx_v_roc2period)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14894, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_COPPOCK_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_wmaperiod, __pyx_v_roc1period, __pyx_v_roc2period, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_COPPOCK_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14905, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14906, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 14906, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 14906, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14906, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 14906, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 14906, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.COPPOCK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14COPPOCK_Stream_6update, "COPPOCK_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14908, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14908, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 14908, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 14908, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14908, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14909, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 14908, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COPPOCK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_COPPOCK_Update(((TA_COPPOCK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COPPOCK_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14917, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.COPPOCK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14COPPOCK_Stream_8peek, "COPPOCK_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14919, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14919, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 14919, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 14919, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14919, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 14920, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 14919, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COPPOCK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_COPPOCK_Peek(((TA_COPPOCK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COPPOCK_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14927, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14928, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.COPPOCK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_COPPOCK_Value(((TA_COPPOCK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COPPOCK_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14938, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 14939, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.COPPOCK_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14COPPOCK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_COPPOCK_OutRange(((TA_COPPOCK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14COPPOCK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_COPPOCK_Advance(((TA_COPPOCK_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14COPPOCK_Stream_10copy, "COPPOCK_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14COPPOCK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_self) { - TA_COPPOCK_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14950, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream))))) __PYX_ERR(3, 14950, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_COPPOCK_Clone(((TA_COPPOCK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COPPOCK_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14960, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.COPPOCK_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_13CORREL_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_13CORREL_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_13CORREL_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_13CORREL_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CORREL_Close(((TA_CORREL_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_13CORREL_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_13CORREL_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real0 = 0; - PyObject *__pyx_v_real1 = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 14985, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14985, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14985, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14985, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 14985, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, i); __PYX_ERR(3, 14985, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 14985, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 14985, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 14985, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real0 = values[0]; - __pyx_v_real1 = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 14985, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 14985, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CORREL_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13CORREL_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_13CORREL_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self, PyObject *__pyx_v_real0, PyObject *__pyx_v_real1, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real0 = 0; - PyArrayObject *__pyx_v_a_real1 = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CORREL_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14986, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real0 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14987, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real1 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14988, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real0); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real0)) != (0)) __PYX_ERR(3, 14988, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_real1); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_real1)) != (0)) __PYX_ERR(3, 14988, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 14989, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 14990, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 14991, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 14996, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CORREL_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_CORREL_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real1)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CORREL_Close(((TA_CORREL_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CORREL_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CORREL_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_a_real1); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13CORREL_Stream_4open_and_fill, "CORREL_Stream.open_and_fill(real0, real1, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13CORREL_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13CORREL_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real0 = 0; - PyObject *__pyx_v_real1 = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15015, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 15015, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15015, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15015, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 15015, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, i); __PYX_ERR(3, 15015, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 15015, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15015, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15015, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real0 = values[0]; - __pyx_v_real1 = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 15016, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 15015, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CORREL_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13CORREL_Stream_4open_and_fill(__pyx_v_real0, __pyx_v_real1, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13CORREL_Stream_4open_and_fill(PyObject *__pyx_v_real0, PyObject *__pyx_v_real1, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real0 = 0; - PyArrayObject *__pyx_v_a_real1 = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CORREL_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15017, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real0 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15018, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real1 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15019, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real0); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real0)) != (0)) __PYX_ERR(3, 15019, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_real1); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_real1)) != (0)) __PYX_ERR(3, 15019, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15020, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15021, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15022, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CORREL_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15028, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15030, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CORREL_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15034, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CORREL_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real1)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CORREL_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15045, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15046, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real0); - __Pyx_GIVEREF(__pyx_v_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real0) != (0)) __PYX_ERR(3, 15046, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_real1); - __Pyx_GIVEREF(__pyx_v_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_real1) != (0)) __PYX_ERR(3, 15046, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 15046, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15046, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 15046, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 15046, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CORREL_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_a_real1); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13CORREL_Stream_6update, "CORREL_Stream.update(self, double real0, double real1)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real0; - double __pyx_v_real1; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15048, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 15048, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 15048, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15048, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15048, __pyx_L3_error) - } - __pyx_v_real0 = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15049, __pyx_L3_error) - __pyx_v_real1 = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_real1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15049, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 15048, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CORREL_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13CORREL_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13CORREL_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CORREL_Update(((TA_CORREL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real0, __pyx_v_real1, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CORREL_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15057, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CORREL_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13CORREL_Stream_8peek, "CORREL_Stream.peek(self, double real0, double real1)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real0; - double __pyx_v_real1; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15059, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15059, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15059, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 15059, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 15059, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15059, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15059, __pyx_L3_error) - } - __pyx_v_real0 = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15060, __pyx_L3_error) - __pyx_v_real1 = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_real1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15060, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 15059, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CORREL_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13CORREL_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13CORREL_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CORREL_Peek(((TA_CORREL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real0, __pyx_v_real1, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CORREL_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15067, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15068, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CORREL_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_13CORREL_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13CORREL_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CORREL_Value(((TA_CORREL_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CORREL_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15078, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15079, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CORREL_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13CORREL_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CORREL_OutRange(((TA_CORREL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13CORREL_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CORREL_Advance(((TA_CORREL_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13CORREL_Stream_10copy, "CORREL_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13CORREL_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13CORREL_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_self) { - TA_CORREL_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15090, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream))))) __PYX_ERR(3, 15090, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CORREL_Clone(((TA_CORREL_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CORREL_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CORREL_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10COS_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10COS_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10COS_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_COS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10COS_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_COS_Close(((TA_COS_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10COS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10COS_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15122, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15122, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 15122, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 15122, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15122, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15122, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10COS_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_COS_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10COS_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_COS_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 15124, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15125, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15126, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15127, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15132, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_COS_Lookback() + 1); - - __pyx_v_retCode = TA_COS_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_COS_Close(((TA_COS_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_COS_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.COS_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10COS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10COS_Stream_4open_and_fill, "COS_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10COS_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10COS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10COS_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10COS_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15151, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15151, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 15151, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 15151, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15151, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15151, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10COS_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10COS_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_COS_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 15154, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15155, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15156, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15157, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_COS_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COS_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_COS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15165, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_COS_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15169, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_COS_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_COS_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 15181, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 15181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 15181, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 15181, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.COS_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10COS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10COS_Stream_6update, "COS_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10COS_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15183, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15183, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 15183, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 15183, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15183, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15184, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15183, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10COS_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_COS_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10COS_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_COS_Update(((TA_COS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COS_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15192, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.COS_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10COS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10COS_Stream_8peek, "COS_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10COS_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15194, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15194, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 15194, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 15194, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15194, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15195, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15194, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10COS_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_COS_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10COS_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_COS_Peek(((TA_COS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COS_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15203, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.COS_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10COS_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10COS_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10COS_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_COS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10COS_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_COS_Value(((TA_COS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COS_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.COS_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10COS_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_COS_OutRange(((TA_COS_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10COS_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_COS_Advance(((TA_COS_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10COS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10COS_Stream_10copy, "COS_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10COS_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10COS_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_COS_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10COS_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_self) { - TA_COS_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_COS_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COS_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15225, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COS_Stream))))) __PYX_ERR(3, 15225, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_COS_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_COS_Clone(((TA_COS_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COS_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15235, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.COS_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11COSH_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11COSH_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11COSH_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11COSH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_COSH_Close(((TA_COSH_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11COSH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11COSH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15257, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15257, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 15257, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 15257, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15257, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15257, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COSH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11COSH_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11COSH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_COSH_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15258, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15259, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 15259, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15260, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15261, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15262, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15267, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_COSH_Lookback() + 1); - - __pyx_v_retCode = TA_COSH_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_COSH_Close(((TA_COSH_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_COSH_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15284, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.COSH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11COSH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11COSH_Stream_4open_and_fill, "COSH_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11COSH_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11COSH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11COSH_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11COSH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15286, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15286, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 15286, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 15286, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15286, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15286, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COSH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11COSH_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11COSH_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_COSH_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15289, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 15289, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15290, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15291, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15292, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_COSH_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COSH_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15300, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_COSH_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15304, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_COSH_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_COSH_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15316, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 15316, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 15316, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15316, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 15316, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 15316, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.COSH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11COSH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11COSH_Stream_6update, "COSH_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11COSH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15318, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15318, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 15318, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 15318, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15318, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15319, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15318, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COSH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11COSH_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11COSH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_COSH_Update(((TA_COSH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COSH_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15326, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.COSH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11COSH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11COSH_Stream_8peek, "COSH_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11COSH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15329, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15329, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 15329, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 15329, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15329, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15330, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15329, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.COSH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11COSH_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11COSH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_COSH_Peek(((TA_COSH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COSH_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15337, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.COSH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11COSH_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11COSH_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11COSH_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11COSH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_COSH_Value(((TA_COSH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COSH_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15348, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15349, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.COSH_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11COSH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_COSH_OutRange(((TA_COSH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11COSH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_COSH_Advance(((TA_COSH_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11COSH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11COSH_Stream_10copy, "COSH_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11COSH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11COSH_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11COSH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_self) { - TA_COSH_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COSH_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COSH_Stream))))) __PYX_ERR(3, 15360, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_COSH_Clone(((TA_COSH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_COSH_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15370, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.COSH_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CUMSUM_Close(((TA_CUMSUM_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15392, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15392, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 15392, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 15392, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15392, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15392, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CUMSUM_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CUMSUM_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15393, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15394, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 15394, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15395, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15396, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15397, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15402, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CUMSUM_Lookback() + 1); - - __pyx_v_retCode = TA_CUMSUM_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CUMSUM_Close(((TA_CUMSUM_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CUMSUM_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15419, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CUMSUM_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13CUMSUM_Stream_4open_and_fill, "CUMSUM_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13CUMSUM_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13CUMSUM_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15421, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15421, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 15421, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 15421, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15421, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15421, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CUMSUM_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CUMSUM_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15424, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 15424, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15425, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15426, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15427, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CUMSUM_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15435, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CUMSUM_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15439, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CUMSUM_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CUMSUM_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15450, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15451, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 15451, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 15451, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15451, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 15451, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 15451, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CUMSUM_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13CUMSUM_Stream_6update, "CUMSUM_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15453, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15453, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 15453, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 15453, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15453, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15454, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15453, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CUMSUM_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CUMSUM_Update(((TA_CUMSUM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CUMSUM_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15461, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CUMSUM_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13CUMSUM_Stream_8peek, "CUMSUM_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15464, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15464, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 15464, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 15464, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15464, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15465, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15464, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CUMSUM_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CUMSUM_Peek(((TA_CUMSUM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CUMSUM_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15472, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15473, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CUMSUM_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CUMSUM_Value(((TA_CUMSUM_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CUMSUM_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15483, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15484, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CUMSUM_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13CUMSUM_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CUMSUM_OutRange(((TA_CUMSUM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13CUMSUM_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CUMSUM_Advance(((TA_CUMSUM_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13CUMSUM_Stream_10copy, "CUMSUM_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13CUMSUM_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_self) { - TA_CUMSUM_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15495, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream))))) __PYX_ERR(3, 15495, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CUMSUM_Clone(((TA_CUMSUM_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CUMSUM_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CUMSUM_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10CVI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10CVI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10CVI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10CVI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_CVI_Close(((TA_CVI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10CVI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10CVI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - int __pyx_v_rocperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_rocperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15530, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 15530, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 15530, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15530, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15530, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 15530, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, i); __PYX_ERR(3, 15530, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 15530, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 15530, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15530, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15530, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 15530, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_rocperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_rocperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 15530, __pyx_L3_error) - } else { - __pyx_v_rocperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, __pyx_nargs); __PYX_ERR(3, 15530, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CVI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CVI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod, __pyx_v_rocperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10CVI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod, int __pyx_v_rocperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_CVI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15532, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15533, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 15533, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 15533, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15534, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15535, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15536, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15541, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_CVI_Lookback(__pyx_v_timeperiod, __pyx_v_rocperiod) + 1); - - __pyx_v_retCode = TA_CVI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_rocperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_CVI_Close(((TA_CVI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CVI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15558, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.CVI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CVI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CVI_Stream_4open_and_fill, "CVI_Stream.open_and_fill(high, low, int timeperiod=-0x80000000, int rocperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10CVI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CVI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CVI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10CVI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - int __pyx_v_rocperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_rocperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15560, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 15560, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 15560, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15560, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15560, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 15560, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 4, i); __PYX_ERR(3, 15560, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 15560, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 15560, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15560, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15560, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 15561, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_rocperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_rocperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 15561, __pyx_L3_error) - } else { - __pyx_v_rocperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 4, __pyx_nargs); __PYX_ERR(3, 15560, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CVI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CVI_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_timeperiod, __pyx_v_rocperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CVI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod, int __pyx_v_rocperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_CVI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15562, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15563, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15564, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 15564, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 15564, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15565, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15566, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15567, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_CVI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CVI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15573, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15575, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_CVI_Lookback(__pyx_v_timeperiod, __pyx_v_rocperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15579, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_CVI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_rocperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_CVI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15590, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15591, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 15591, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 15591, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 15591, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15591, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 15591, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 15591, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.CVI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CVI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CVI_Stream_6update, "CVI_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10CVI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15593, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15593, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15593, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 15593, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 15593, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15593, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15593, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15594, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15594, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 15593, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CVI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CVI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CVI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CVI_Update(((TA_CVI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CVI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15602, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CVI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CVI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CVI_Stream_8peek, "CVI_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10CVI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15604, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15604, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15604, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 15604, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 15604, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15604, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15604, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15605, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15605, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 15604, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.CVI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CVI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CVI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CVI_Peek(((TA_CVI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CVI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15612, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CVI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CVI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CVI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CVI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CVI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_CVI_Value(((TA_CVI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CVI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15623, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15624, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.CVI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CVI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CVI_OutRange(((TA_CVI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10CVI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_CVI_Advance(((TA_CVI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10CVI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10CVI_Stream_10copy, "CVI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10CVI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10CVI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10CVI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_self) { - TA_CVI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CVI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15635, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CVI_Stream))))) __PYX_ERR(3, 15635, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_CVI_Clone(((TA_CVI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_CVI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.CVI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11DEMA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11DEMA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11DEMA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11DEMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_DEMA_Close(((TA_DEMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11DEMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11DEMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15669, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15669, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15669, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 15669, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 15669, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15669, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15669, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 15669, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 15669, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DEMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11DEMA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11DEMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_DEMA_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15670, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15671, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 15671, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15672, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15673, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15674, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15679, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_DEMA_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_DEMA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_DEMA_Close(((TA_DEMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_DEMA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15696, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.DEMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11DEMA_Stream_4open_and_fill, "DEMA_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11DEMA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11DEMA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15698, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15698, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15698, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 15698, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 15698, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15698, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15698, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 15699, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 15698, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DEMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11DEMA_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11DEMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_DEMA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15700, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 15701, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15702, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15703, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15704, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_DEMA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15712, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_DEMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15716, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_DEMA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_DEMA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15727, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15728, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 15728, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 15728, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15728, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 15728, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 15728, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.DEMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11DEMA_Stream_6update, "DEMA_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15730, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15730, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 15730, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 15730, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15730, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15731, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15730, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DEMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11DEMA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11DEMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DEMA_Update(((TA_DEMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DEMA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15738, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15739, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.DEMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11DEMA_Stream_8peek, "DEMA_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15741, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15741, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 15741, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 15741, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15741, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15742, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 15741, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DEMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11DEMA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11DEMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DEMA_Peek(((TA_DEMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DEMA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15749, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.DEMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11DEMA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11DEMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DEMA_Value(((TA_DEMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DEMA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15760, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15761, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.DEMA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11DEMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_DEMA_OutRange(((TA_DEMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11DEMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_DEMA_Advance(((TA_DEMA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11DEMA_Stream_10copy, "DEMA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11DEMA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11DEMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_self) { - TA_DEMA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream))))) __PYX_ERR(3, 15772, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_DEMA_Clone(((TA_DEMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DEMA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15782, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.DEMA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10DIV_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10DIV_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10DIV_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10DIV_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_DIV_Close(((TA_DIV_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10DIV_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10DIV_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real0 = 0; - PyObject *__pyx_v_real1 = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15805, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15805, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 15805, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(3, 15805, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15805, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15805, __pyx_L3_error) - } - __pyx_v_real0 = values[0]; - __pyx_v_real1 = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 15805, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DIV_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10DIV_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10DIV_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self, PyObject *__pyx_v_real0, PyObject *__pyx_v_real1) { - PyArrayObject *__pyx_v_a_real0 = 0; - PyArrayObject *__pyx_v_a_real1 = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_DIV_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15806, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real0 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15807, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real1 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15808, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real0); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real0)) != (0)) __PYX_ERR(3, 15808, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_real1); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_real1)) != (0)) __PYX_ERR(3, 15808, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15809, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15810, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15811, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15816, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_DIV_Lookback() + 1); - - __pyx_v_retCode = TA_DIV_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real1)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_DIV_Close(((TA_DIV_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_DIV_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15833, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.DIV_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_a_real1); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10DIV_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10DIV_Stream_4open_and_fill, "DIV_Stream.open_and_fill(real0, real1)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10DIV_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10DIV_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10DIV_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10DIV_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real0 = 0; - PyObject *__pyx_v_real1 = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15835, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15835, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15835, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 15835, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, i); __PYX_ERR(3, 15835, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15835, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15835, __pyx_L3_error) - } - __pyx_v_real0 = values[0]; - __pyx_v_real1 = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 15835, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DIV_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10DIV_Stream_4open_and_fill(__pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10DIV_Stream_4open_and_fill(PyObject *__pyx_v_real0, PyObject *__pyx_v_real1) { - PyArrayObject *__pyx_v_a_real0 = 0; - PyArrayObject *__pyx_v_a_real1 = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_DIV_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15837, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real0 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real1 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15839, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real0); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real0)) != (0)) __PYX_ERR(3, 15839, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_real1); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_real1)) != (0)) __PYX_ERR(3, 15839, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15840, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15841, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15842, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_DIV_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DIV_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15848, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15850, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_DIV_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15854, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_DIV_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real1)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_DIV_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15865, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15866, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real0); - __Pyx_GIVEREF(__pyx_v_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real0) != (0)) __PYX_ERR(3, 15866, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_real1); - __Pyx_GIVEREF(__pyx_v_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_real1) != (0)) __PYX_ERR(3, 15866, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 15866, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15866, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 15866, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 15866, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.DIV_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_a_real1); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10DIV_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10DIV_Stream_6update, "DIV_Stream.update(self, double real0, double real1)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10DIV_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real0; - double __pyx_v_real1; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15868, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15868, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15868, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 15868, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 15868, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15868, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15868, __pyx_L3_error) - } - __pyx_v_real0 = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15869, __pyx_L3_error) - __pyx_v_real1 = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_real1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15869, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 15868, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DIV_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10DIV_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10DIV_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DIV_Update(((TA_DIV_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real0, __pyx_v_real1, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DIV_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15876, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15877, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.DIV_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10DIV_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10DIV_Stream_8peek, "DIV_Stream.peek(self, double real0, double real1)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10DIV_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real0; - double __pyx_v_real1; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15879, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15879, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15879, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 15879, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 15879, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15879, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15879, __pyx_L3_error) - } - __pyx_v_real0 = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15880, __pyx_L3_error) - __pyx_v_real1 = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_real1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 15880, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 15879, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DIV_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10DIV_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10DIV_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DIV_Peek(((TA_DIV_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real0, __pyx_v_real1, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DIV_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15887, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15888, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.DIV_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10DIV_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10DIV_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10DIV_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10DIV_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DIV_Value(((TA_DIV_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DIV_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15898, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15899, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.DIV_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10DIV_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_DIV_OutRange(((TA_DIV_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10DIV_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_DIV_Advance(((TA_DIV_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10DIV_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10DIV_Stream_10copy, "DIV_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10DIV_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10DIV_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10DIV_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_self) { - TA_DIV_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DIV_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15910, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DIV_Stream))))) __PYX_ERR(3, 15910, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_DIV_Clone(((TA_DIV_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DIV_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15920, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.DIV_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_DONCHIAN_Close(((TA_DONCHIAN_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15946, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 15946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 15946, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, i); __PYX_ERR(3, 15946, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 15946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15946, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15946, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 15946, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 15946, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DONCHIAN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_DONCHIAN_Stream *__pyx_v_handle; - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15947, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15948, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 15949, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 15949, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15950, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15951, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15952, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15959, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_DONCHIAN_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_DONCHIAN_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_DONCHIAN_Close(((TA_DONCHIAN_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_DONCHIAN_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15976, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.DONCHIAN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15DONCHIAN_Stream_4open_and_fill, "DONCHIAN_Stream.open_and_fill(high, low, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15DONCHIAN_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15DONCHIAN_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 15978, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 15978, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15978, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15978, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 15978, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, i); __PYX_ERR(3, 15978, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 15978, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 15978, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 15978, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 15979, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 15978, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DONCHIAN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outupperband = 0; - PyArrayObject *__pyx_v_outmiddleband = 0; - PyArrayObject *__pyx_v_outlowerband = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_DONCHIAN_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15980, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15981, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15982, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 15982, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 15982, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 15983, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 15984, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 15985, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_DONCHIAN_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15993, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 15995, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_DONCHIAN_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15999, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outupperband = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16000, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmiddleband = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16001, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outlowerband = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_DONCHIAN_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outupperband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmiddleband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outlowerband)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_DONCHIAN_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16012, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 16013, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 16013, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outupperband)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 16013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 16013, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 16013, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmiddleband)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 16013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 16013, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 16013, __pyx_L1_error); - __pyx_t_15 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outlowerband)); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 16013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 16013, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 16013, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_15); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_15) != (0)) __PYX_ERR(3, 16013, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 16013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 16013, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 16013, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_15; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_15 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("talib._ta_lib.DONCHIAN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outupperband); - __Pyx_XDECREF((PyObject *)__pyx_v_outmiddleband); - __Pyx_XDECREF((PyObject *)__pyx_v_outlowerband); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15DONCHIAN_Stream_6update, "DONCHIAN_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16015, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16015, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16015, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 16015, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 16015, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16015, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16015, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16016, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16016, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 16015, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DONCHIAN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DONCHIAN_Update(((TA_DONCHIAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DONCHIAN_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outupperband); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16026, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmiddleband); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16026, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outlowerband); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 16026, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 16026, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 16026, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 16026, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 16026, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.DONCHIAN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15DONCHIAN_Stream_8peek, "DONCHIAN_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16028, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16028, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16028, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 16028, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 16028, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16028, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16028, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16029, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16029, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 16028, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DONCHIAN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DONCHIAN_Peek(((TA_DONCHIAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DONCHIAN_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16038, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outupperband); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16039, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmiddleband); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16039, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outlowerband); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 16039, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 16039, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 16039, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 16039, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 16039, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.DONCHIAN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self) { - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DONCHIAN_Value(((TA_DONCHIAN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DONCHIAN_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16051, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outupperband); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16052, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmiddleband); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16052, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outlowerband); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 16052, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 16052, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 16052, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 16052, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 16052, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.DONCHIAN_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15DONCHIAN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_DONCHIAN_OutRange(((TA_DONCHIAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15DONCHIAN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_DONCHIAN_Advance(((TA_DONCHIAN_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15DONCHIAN_Stream_10copy, "DONCHIAN_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15DONCHIAN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_self) { - TA_DONCHIAN_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16063, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream))))) __PYX_ERR(3, 16063, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_DONCHIAN_Clone(((TA_DONCHIAN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DONCHIAN_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16073, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.DONCHIAN_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10DPO_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10DPO_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10DPO_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10DPO_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_DPO_Close(((TA_DPO_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10DPO_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10DPO_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16097, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16097, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16097, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 16097, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 16097, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16097, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16097, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 16097, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 16097, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DPO_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10DPO_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10DPO_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_DPO_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16099, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 16099, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16100, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16101, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16102, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16107, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_DPO_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_DPO_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_DPO_Close(((TA_DPO_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_DPO_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.DPO_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10DPO_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10DPO_Stream_4open_and_fill, "DPO_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10DPO_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10DPO_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10DPO_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10DPO_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16126, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16126, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16126, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 16126, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 16126, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16126, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16126, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 16127, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 16126, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DPO_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10DPO_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10DPO_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_DPO_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 16129, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16130, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16131, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16132, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_DPO_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DPO_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16140, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_DPO_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16144, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_DPO_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_DPO_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 16156, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 16156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 16156, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 16156, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.DPO_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10DPO_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10DPO_Stream_6update, "DPO_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10DPO_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16158, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16158, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 16158, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 16158, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16158, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16159, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 16158, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DPO_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10DPO_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10DPO_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DPO_Update(((TA_DPO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DPO_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.DPO_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10DPO_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10DPO_Stream_8peek, "DPO_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10DPO_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16169, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16169, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 16169, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 16169, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16169, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16170, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 16169, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DPO_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10DPO_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10DPO_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DPO_Peek(((TA_DPO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DPO_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16177, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.DPO_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10DPO_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10DPO_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10DPO_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10DPO_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DPO_Value(((TA_DPO_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DPO_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16189, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.DPO_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10DPO_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_DPO_OutRange(((TA_DPO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10DPO_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_DPO_Advance(((TA_DPO_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10DPO_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10DPO_Stream_10copy, "DPO_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10DPO_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10DPO_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10DPO_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_self) { - TA_DPO_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DPO_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DPO_Stream))))) __PYX_ERR(3, 16200, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_DPO_Clone(((TA_DPO_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DPO_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.DPO_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_9DX_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_9DX_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_9DX_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_DX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_9DX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_DX_Close(((TA_DX_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_9DX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_9DX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16234, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 16234, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16234, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16234, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16234, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 16234, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, i); __PYX_ERR(3, 16234, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 16234, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16234, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16234, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16234, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 16234, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 16234, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9DX_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_DX_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_9DX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_DX_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16235, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16236, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16238, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 16238, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 16238, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 16238, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16239, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16240, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16241, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16246, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_DX_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_DX_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_DX_Close(((TA_DX_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_DX_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16263, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.DX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9DX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9DX_Stream_4open_and_fill, "DX_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_9DX_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9DX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9DX_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_9DX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16265, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 16265, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16265, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16265, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16265, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 16265, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, i); __PYX_ERR(3, 16265, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 16265, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16265, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16265, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16265, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 16266, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 16265, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9DX_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9DX_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_DX_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16270, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 16270, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 16270, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 16270, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16271, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16272, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16273, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_DX_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DX_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16279, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_DX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16281, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_DX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16285, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_DX_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_DX_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16296, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16297, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 16297, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 16297, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 16297, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 16297, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16297, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 16297, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 16297, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.DX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9DX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9DX_Stream_6update, "DX_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9DX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16299, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16299, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16299, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16299, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 16299, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 16299, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16299, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16299, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16299, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16300, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16300, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16300, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 16299, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9DX_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_DX_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9DX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DX_Update(((TA_DX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DX_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16308, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.DX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9DX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9DX_Stream_8peek, "DX_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9DX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16310, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16310, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16310, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16310, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 16310, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 16310, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16310, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16310, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16310, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16311, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16311, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16311, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 16310, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.DX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9DX_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_DX_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9DX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DX_Peek(((TA_DX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DX_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16319, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.DX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9DX_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_9DX_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_9DX_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_DX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9DX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_DX_Value(((TA_DX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DX_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16329, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.DX_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9DX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_DX_OutRange(((TA_DX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9DX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_DX_Advance(((TA_DX_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9DX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9DX_Stream_10copy, "DX_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9DX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_9DX_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_DX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9DX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_self) { - TA_DX_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_DX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DX_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16341, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DX_Stream))))) __PYX_ERR(3, 16341, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_DX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_DX_Clone(((TA_DX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_DX_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.DX_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10EFI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10EFI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10EFI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10EFI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_EFI_Close(((TA_EFI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10EFI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10EFI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16375, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16375, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16375, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16375, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 16375, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, i); __PYX_ERR(3, 16375, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16375, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16375, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16375, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_close = values[0]; - __pyx_v_volume = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 16375, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 16375, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EFI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EFI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *)__pyx_v_self), __pyx_v_close, __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10EFI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_EFI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16378, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 16378, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 16378, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16379, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16380, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16381, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16386, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_EFI_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_EFI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_EFI_Close(((TA_EFI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_EFI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16403, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.EFI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EFI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10EFI_Stream_4open_and_fill, "EFI_Stream.open_and_fill(close, volume, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10EFI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EFI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EFI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10EFI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16405, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16405, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16405, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16405, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 16405, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, i); __PYX_ERR(3, 16405, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16405, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16405, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16405, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_close = values[0]; - __pyx_v_volume = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 16406, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 16405, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EFI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EFI_Stream_4open_and_fill(__pyx_v_close, __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EFI_Stream_4open_and_fill(PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_EFI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16407, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 16409, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 16409, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16410, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16411, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16412, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_EFI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EFI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16418, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16420, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_EFI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16424, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_EFI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_EFI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16435, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_close) != (0)) __PYX_ERR(3, 16436, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_volume) != (0)) __PYX_ERR(3, 16436, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 16436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 16436, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 16436, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.EFI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EFI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10EFI_Stream_6update, "EFI_Stream.update(self, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10EFI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16438, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16438, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16438, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 16438, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 16438, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16438, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16438, __pyx_L3_error) - } - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16439, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16439, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 16438, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EFI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EFI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *)__pyx_v_self), __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EFI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_EFI_Update(((TA_EFI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EFI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.EFI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EFI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10EFI_Stream_8peek, "EFI_Stream.peek(self, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10EFI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16449, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16449, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16449, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 16449, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 16449, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16449, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16449, __pyx_L3_error) - } - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16450, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16450, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 16449, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EFI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EFI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *)__pyx_v_self), __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EFI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_EFI_Peek(((TA_EFI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EFI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16457, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.EFI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EFI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EFI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EFI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EFI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_EFI_Value(((TA_EFI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EFI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16468, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16469, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.EFI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10EFI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_EFI_OutRange(((TA_EFI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10EFI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_EFI_Advance(((TA_EFI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EFI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10EFI_Stream_10copy, "EFI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10EFI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EFI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EFI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_self) { - TA_EFI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EFI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EFI_Stream))))) __PYX_ERR(3, 16480, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_EFI_Clone(((TA_EFI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EFI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.EFI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10EMA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10EMA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10EMA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10EMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_EMA_Close(((TA_EMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10EMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10EMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16514, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16514, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16514, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 16514, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 16514, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16514, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16514, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 16514, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 16514, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EMA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10EMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_EMA_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16516, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 16516, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16517, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16518, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16519, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16524, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_EMA_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_EMA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_EMA_Close(((TA_EMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_EMA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.EMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10EMA_Stream_4open_and_fill, "EMA_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10EMA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EMA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10EMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16543, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 16543, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 16543, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16543, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 16544, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 16543, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EMA_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_EMA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16546, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 16546, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16547, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16548, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16549, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_EMA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EMA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16555, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16557, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_EMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16561, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_EMA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_EMA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16573, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 16573, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 16573, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16573, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 16573, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 16573, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.EMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10EMA_Stream_6update, "EMA_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10EMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16575, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16575, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 16575, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 16575, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16575, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16576, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 16575, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EMA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_EMA_Update(((TA_EMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EMA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16583, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16584, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.EMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10EMA_Stream_8peek, "EMA_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10EMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16586, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16586, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 16586, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 16586, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16586, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16587, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 16586, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EMA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_EMA_Peek(((TA_EMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EMA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16594, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16595, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.EMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EMA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EMA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EMA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_EMA_Value(((TA_EMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EMA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16605, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16606, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.EMA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10EMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_EMA_OutRange(((TA_EMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10EMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_EMA_Advance(((TA_EMA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10EMA_Stream_10copy, "EMA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10EMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EMA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_self) { - TA_EMA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EMA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EMA_Stream))))) __PYX_ERR(3, 16617, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_EMA_Clone(((TA_EMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EMA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16627, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.EMA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_9ER_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_9ER_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_9ER_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_9ER_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ER_Close(((TA_ER_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_9ER_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_9ER_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16651, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16651, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16651, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 16651, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 16651, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16651, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16651, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 16651, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 16651, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ER_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9ER_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ER_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_9ER_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ER_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16652, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 16653, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16654, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16655, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16656, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16661, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ER_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_ER_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ER_Close(((TA_ER_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ER_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16678, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ER_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9ER_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9ER_Stream_4open_and_fill, "ER_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_9ER_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9ER_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9ER_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_9ER_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16680, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16680, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16680, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 16680, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 16680, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16680, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16680, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 16681, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 16680, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ER_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9ER_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9ER_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ER_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16682, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16683, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 16683, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16684, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16685, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16686, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ER_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ER_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16692, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ER_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16694, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ER_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16698, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ER_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ER_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16709, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 16710, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 16710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 16710, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 16710, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ER_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9ER_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9ER_Stream_6update, "ER_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9ER_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16712, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16712, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 16712, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 16712, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16712, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16713, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 16712, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ER_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9ER_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ER_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9ER_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ER_Update(((TA_ER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ER_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16720, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16721, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ER_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9ER_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9ER_Stream_8peek, "ER_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9ER_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16723, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16723, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 16723, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 16723, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16723, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16724, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 16723, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ER_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9ER_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ER_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9ER_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ER_Peek(((TA_ER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ER_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16731, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16732, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ER_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9ER_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_9ER_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_9ER_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9ER_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ER_Value(((TA_ER_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ER_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16742, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16743, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ER_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9ER_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ER_OutRange(((TA_ER_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9ER_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ER_Advance(((TA_ER_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9ER_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9ER_Stream_10copy, "ER_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9ER_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_9ER_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ER_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9ER_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_self) { - TA_ER_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ER_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ER_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16754, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ER_Stream))))) __PYX_ERR(3, 16754, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ER_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ER_Clone(((TA_ER_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ER_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16764, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ER_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10ERI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10ERI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10ERI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10ERI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ERI_Close(((TA_ERI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10ERI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10ERI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16789, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 16789, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16789, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16789, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16789, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 16789, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, i); __PYX_ERR(3, 16789, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 16789, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16789, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16789, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16789, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 16789, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 16789, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ERI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ERI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10ERI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ERI_Stream *__pyx_v_handle; - double __pyx_v_outbullpower; - double __pyx_v_outbearpower; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16790, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16791, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16792, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16793, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 16793, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 16793, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 16793, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16794, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16795, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16796, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16802, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ERI_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_ERI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbullpower), (&__pyx_v_outbearpower)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ERI_Close(((TA_ERI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ERI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16819, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ERI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ERI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ERI_Stream_4open_and_fill, "ERI_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10ERI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ERI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ERI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10ERI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16821, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 16821, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16821, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16821, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16821, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 16821, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, i); __PYX_ERR(3, 16821, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 16821, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16821, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16821, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16821, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 16822, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 16821, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ERI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ERI_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ERI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outbullpower = 0; - PyArrayObject *__pyx_v_outbearpower = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ERI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16823, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16826, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 16826, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 16826, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 16826, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16827, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16828, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16829, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ERI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ERI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16836, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16838, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ERI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16842, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outbullpower = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16843, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outbearpower = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ERI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outbullpower)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outbearpower)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ERI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 16855, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 16855, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 16855, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outbullpower)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 16855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 16855, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 16855, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 16855, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outbearpower)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 16855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 16855, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 16855, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 16855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 16855, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 16855, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_14; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_14 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib.ERI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outbullpower); - __Pyx_XDECREF((PyObject *)__pyx_v_outbearpower); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ERI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ERI_Stream_6update, "ERI_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ERI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16857, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16857, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16857, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16857, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 16857, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 16857, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16857, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16857, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16857, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16858, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16858, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16858, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 16857, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ERI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ERI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ERI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outbullpower; - double __pyx_v_outbearpower; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ERI_Update(((TA_ERI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outbullpower), (&__pyx_v_outbearpower)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ERI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16866, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outbullpower); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16867, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outbearpower); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16867, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 16867, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 16867, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 16867, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.ERI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ERI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ERI_Stream_8peek, "ERI_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ERI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16869, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16869, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16869, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16869, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 16869, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 16869, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16869, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 16869, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 16869, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16870, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16870, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16870, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 16869, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ERI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ERI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ERI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outbullpower; - double __pyx_v_outbearpower; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ERI_Peek(((TA_ERI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outbullpower), (&__pyx_v_outbearpower)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ERI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16878, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outbullpower); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outbearpower); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 16879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 16879, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 16879, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.ERI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ERI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ERI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ERI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ERI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self) { - double __pyx_v_outbullpower; - double __pyx_v_outbearpower; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ERI_Value(((TA_ERI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outbullpower), (&__pyx_v_outbearpower)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ERI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16890, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outbullpower); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 16891, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outbearpower); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16891, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 16891, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 16891, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 16891, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.ERI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ERI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ERI_OutRange(((TA_ERI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ERI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ERI_Advance(((TA_ERI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ERI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ERI_Stream_10copy, "ERI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ERI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ERI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ERI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_self) { - TA_ERI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ERI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16902, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ERI_Stream))))) __PYX_ERR(3, 16902, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ERI_Clone(((TA_ERI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ERI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16912, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ERI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10EXP_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10EXP_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10EXP_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10EXP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_EXP_Close(((TA_EXP_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10EXP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10EXP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16934, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16934, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 16934, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 16934, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16934, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 16934, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EXP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EXP_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10EXP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_EXP_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16935, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16936, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 16936, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16937, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16938, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16939, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16944, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_EXP_Lookback() + 1); - - __pyx_v_retCode = TA_EXP_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_EXP_Close(((TA_EXP_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_EXP_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16961, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.EXP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EXP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10EXP_Stream_4open_and_fill, "EXP_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10EXP_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EXP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EXP_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10EXP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16963, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16963, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 16963, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 16963, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16963, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 16963, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EXP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EXP_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EXP_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_EXP_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16965, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16966, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 16966, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 16967, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 16968, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 16969, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_EXP_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EXP_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16975, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 16977, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_EXP_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16981, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_EXP_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_EXP_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16992, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16993, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 16993, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 16993, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16993, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 16993, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 16993, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.EXP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EXP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10EXP_Stream_6update, "EXP_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10EXP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 16995, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16995, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 16995, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 16995, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 16995, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 16996, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 16995, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EXP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EXP_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EXP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_EXP_Update(((TA_EXP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EXP_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17004, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.EXP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EXP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10EXP_Stream_8peek, "EXP_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10EXP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17006, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17006, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 17006, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 17006, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17006, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17007, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17006, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.EXP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EXP_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EXP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_EXP_Peek(((TA_EXP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EXP_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17014, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17015, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.EXP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EXP_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EXP_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EXP_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EXP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_EXP_Value(((TA_EXP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EXP_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17026, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.EXP_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10EXP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_EXP_OutRange(((TA_EXP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10EXP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_EXP_Advance(((TA_EXP_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10EXP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10EXP_Stream_10copy, "EXP_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10EXP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10EXP_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10EXP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_self) { - TA_EXP_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EXP_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17037, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EXP_Stream))))) __PYX_ERR(3, 17037, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_EXP_Clone(((TA_EXP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_EXP_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17047, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.EXP_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_12FLOOR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_12FLOOR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_FLOOR_Close(((TA_FLOOR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17069, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17069, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 17069, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 17069, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17069, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17069, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FLOOR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_FLOOR_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17070, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17071, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 17071, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17072, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17073, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17074, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17079, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_FLOOR_Lookback() + 1); - - __pyx_v_retCode = TA_FLOOR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_FLOOR_Close(((TA_FLOOR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_FLOOR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17096, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.FLOOR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12FLOOR_Stream_4open_and_fill, "FLOOR_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_12FLOOR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12FLOOR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17098, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17098, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 17098, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 17098, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17098, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17098, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FLOOR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_FLOOR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 17101, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17102, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17103, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17104, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_FLOOR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17112, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_FLOOR_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17116, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_FLOOR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_FLOOR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 17128, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 17128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 17128, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 17128, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.FLOOR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12FLOOR_Stream_6update, "FLOOR_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17130, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17130, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 17130, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 17130, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17130, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17131, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17130, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FLOOR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_FLOOR_Update(((TA_FLOOR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FLOOR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.FLOOR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12FLOOR_Stream_8peek, "FLOOR_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17141, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17141, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 17141, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 17141, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17141, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17142, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17141, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FLOOR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_FLOOR_Peek(((TA_FLOOR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FLOOR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.FLOOR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_FLOOR_Value(((TA_FLOOR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FLOOR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17161, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.FLOOR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12FLOOR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_FLOOR_OutRange(((TA_FLOOR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12FLOOR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_FLOOR_Advance(((TA_FLOOR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12FLOOR_Stream_10copy, "FLOOR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12FLOOR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_self) { - TA_FLOOR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream))))) __PYX_ERR(3, 17172, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_FLOOR_Clone(((TA_FLOOR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FLOOR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17182, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.FLOOR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11FOSC_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11FOSC_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11FOSC_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11FOSC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_FOSC_Close(((TA_FOSC_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11FOSC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11FOSC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17206, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17206, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17206, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 17206, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 17206, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17206, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17206, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 17206, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 17206, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FOSC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11FOSC_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11FOSC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_FOSC_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 17208, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17209, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17210, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17211, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17216, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_FOSC_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_FOSC_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_FOSC_Close(((TA_FOSC_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_FOSC_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17233, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.FOSC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11FOSC_Stream_4open_and_fill, "FOSC_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11FOSC_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11FOSC_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17235, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17235, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17235, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 17235, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 17235, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17235, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17235, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 17236, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 17235, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FOSC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11FOSC_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11FOSC_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_FOSC_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17238, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 17238, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17239, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17240, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17241, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_FOSC_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17249, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_FOSC_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17253, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_FOSC_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_FOSC_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 17265, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 17265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 17265, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 17265, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.FOSC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11FOSC_Stream_6update, "FOSC_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17267, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17267, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 17267, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 17267, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17267, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17268, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17267, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FOSC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11FOSC_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11FOSC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_FOSC_Update(((TA_FOSC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FOSC_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17275, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.FOSC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11FOSC_Stream_8peek, "FOSC_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17278, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17278, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 17278, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 17278, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17278, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17279, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17278, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FOSC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11FOSC_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11FOSC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_FOSC_Peek(((TA_FOSC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FOSC_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17286, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17287, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.FOSC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11FOSC_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11FOSC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_FOSC_Value(((TA_FOSC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FOSC_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17297, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.FOSC_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11FOSC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_FOSC_OutRange(((TA_FOSC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11FOSC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_FOSC_Advance(((TA_FOSC_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11FOSC_Stream_10copy, "FOSC_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11FOSC_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11FOSC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_self) { - TA_FOSC_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream))))) __PYX_ERR(3, 17309, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_FOSC_Clone(((TA_FOSC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FOSC_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17319, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.FOSC_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_FRACTAL_Close(((TA_FRACTAL_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_leftbars; - int __pyx_v_rightbars; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_leftbars,&__pyx_mstate_global->__pyx_n_u_rightbars,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17345, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 17345, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 17345, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17345, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17345, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 17345, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, i); __PYX_ERR(3, 17345, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 17345, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 17345, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17345, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17345, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_leftbars = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_leftbars == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 17345, __pyx_L3_error) - } else { - __pyx_v_leftbars = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_rightbars = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_rightbars == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 17345, __pyx_L3_error) - } else { - __pyx_v_rightbars = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, __pyx_nargs); __PYX_ERR(3, 17345, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FRACTAL_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_leftbars, __pyx_v_rightbars); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_leftbars, int __pyx_v_rightbars) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_FRACTAL_Stream *__pyx_v_handle; - int __pyx_v_outswinghigh; - int __pyx_v_outswinglow; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17347, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17348, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 17348, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 17348, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17349, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17350, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17351, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17357, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_FRACTAL_Lookback(__pyx_v_leftbars, __pyx_v_rightbars) + 1); - - __pyx_v_retCode = TA_FRACTAL_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_leftbars, __pyx_v_rightbars, (&__pyx_v_outswinghigh), (&__pyx_v_outswinglow)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_FRACTAL_Close(((TA_FRACTAL_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_FRACTAL_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.FRACTAL_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14FRACTAL_Stream_4open_and_fill, "FRACTAL_Stream.open_and_fill(high, low, int leftbars=-0x80000000, int rightbars=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_14FRACTAL_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14FRACTAL_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_leftbars; - int __pyx_v_rightbars; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_leftbars,&__pyx_mstate_global->__pyx_n_u_rightbars,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17376, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 17376, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 17376, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17376, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17376, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 17376, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 4, i); __PYX_ERR(3, 17376, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 17376, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 17376, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17376, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17376, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_leftbars = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_leftbars == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 17377, __pyx_L3_error) - } else { - __pyx_v_leftbars = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_rightbars = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_rightbars == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 17377, __pyx_L3_error) - } else { - __pyx_v_rightbars = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 4, __pyx_nargs); __PYX_ERR(3, 17376, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FRACTAL_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_leftbars, __pyx_v_rightbars); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_leftbars, int __pyx_v_rightbars) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outswinghigh = 0; - PyArrayObject *__pyx_v_outswinglow = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_FRACTAL_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17378, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17379, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17380, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 17380, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 17380, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17381, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17382, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17383, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_FRACTAL_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17390, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17392, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_FRACTAL_Lookback(__pyx_v_leftbars, __pyx_v_rightbars)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17396, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outswinghigh = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17397, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outswinglow = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_FRACTAL_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_leftbars, __pyx_v_rightbars, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outswinghigh)) + __pyx_v_lookback), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outswinglow)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_FRACTAL_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 17409, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 17409, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outswinghigh)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 17409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 17409, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 17409, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outswinglow)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 17409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 17409, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 17409, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 17409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 17409, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 17409, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_14; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_14 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib.FRACTAL_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outswinghigh); - __Pyx_XDECREF((PyObject *)__pyx_v_outswinglow); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14FRACTAL_Stream_6update, "FRACTAL_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17411, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17411, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17411, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 17411, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 17411, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17411, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17411, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17412, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17412, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 17411, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FRACTAL_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - int __pyx_v_outswinghigh; - int __pyx_v_outswinglow; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_FRACTAL_Update(((TA_FRACTAL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outswinghigh), (&__pyx_v_outswinglow)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FRACTAL_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17420, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outswinghigh); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_outswinglow); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 17421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 17421, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 17421, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.FRACTAL_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14FRACTAL_Stream_8peek, "FRACTAL_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17423, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17423, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17423, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 17423, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 17423, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17423, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17423, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17424, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17424, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 17423, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.FRACTAL_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - int __pyx_v_outswinghigh; - int __pyx_v_outswinglow; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_FRACTAL_Peek(((TA_FRACTAL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outswinghigh), (&__pyx_v_outswinglow)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FRACTAL_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17432, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outswinghigh); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_outswinglow); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 17433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 17433, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 17433, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.FRACTAL_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self) { - int __pyx_v_outswinghigh; - int __pyx_v_outswinglow; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_FRACTAL_Value(((TA_FRACTAL_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outswinghigh), (&__pyx_v_outswinglow)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FRACTAL_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17444, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outswinghigh); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_outswinglow); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 17445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 17445, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 17445, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.FRACTAL_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14FRACTAL_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_FRACTAL_OutRange(((TA_FRACTAL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14FRACTAL_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_FRACTAL_Advance(((TA_FRACTAL_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14FRACTAL_Stream_10copy, "FRACTAL_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14FRACTAL_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_self) { - TA_FRACTAL_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream))))) __PYX_ERR(3, 17456, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_FRACTAL_Clone(((TA_FRACTAL_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_FRACTAL_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17466, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.FRACTAL_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_9HA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_9HA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_9HA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_HA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_9HA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_HA_Close(((TA_HA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_9HA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_9HA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17491, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 17491, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 17491, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17491, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17491, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 17491, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 17491, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17491, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17491, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 17491, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 17491, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 17491, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9HA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_HA_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_9HA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_HA_Stream *__pyx_v_handle; - double __pyx_v_outhaopen; - double __pyx_v_outhahigh; - double __pyx_v_outhalow; - double __pyx_v_outhaclose; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17493, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17494, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17495, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17496, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 17496, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 17496, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 17496, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 17496, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17497, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17498, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17499, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17507, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_HA_Lookback() + 1); - - __pyx_v_retCode = TA_HA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outhaopen), (&__pyx_v_outhahigh), (&__pyx_v_outhalow), (&__pyx_v_outhaclose)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_HA_Close(((TA_HA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17524, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.HA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9HA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9HA_Stream_4open_and_fill, "HA_Stream.open_and_fill(open, high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_9HA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9HA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9HA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_9HA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17526, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 17526, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 17526, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17526, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17526, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 17526, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 17526, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17526, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17526, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 17526, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 17526, __pyx_L3_error) - } - __pyx_v_open = values[0]; - __pyx_v_high = values[1]; - __pyx_v_low = values[2]; - __pyx_v_close = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 17526, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9HA_Stream_4open_and_fill(__pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9HA_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outhaopen = 0; - PyArrayObject *__pyx_v_outhahigh = 0; - PyArrayObject *__pyx_v_outhalow = 0; - PyArrayObject *__pyx_v_outhaclose = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_HA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17528, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17529, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17530, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17532, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 17532, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 17532, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 17532, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 17532, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17533, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17534, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17535, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_HA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17544, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17546, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HA_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17550, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outhaopen = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17551, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outhahigh = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17552, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outhalow = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17553, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outhaclose = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outhaopen)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outhahigh)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outhalow)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outhaclose)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17564, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outhaopen)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 17565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outhahigh)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 17565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __pyx_t_15 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outhalow)); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 17565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_high) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_low) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_close) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __pyx_t_16 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outhaclose)); if (unlikely(!__pyx_t_16)) __PYX_ERR(3, 17565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_15); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_15) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_16); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_16) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_15 = 0; - __pyx_t_16 = 0; - __pyx_t_16 = PyTuple_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(3, 17565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 17565, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_16; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_16 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_AddTraceback("talib._ta_lib.HA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outhaopen); - __Pyx_XDECREF((PyObject *)__pyx_v_outhahigh); - __Pyx_XDECREF((PyObject *)__pyx_v_outhalow); - __Pyx_XDECREF((PyObject *)__pyx_v_outhaclose); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9HA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9HA_Stream_6update, "HA_Stream.update(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9HA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17567, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 17567, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 17567, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17567, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17567, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 17567, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 17567, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17567, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17567, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 17567, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 17567, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17568, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17568, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17568, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17568, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 17567, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9HA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_HA_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9HA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outhaopen; - double __pyx_v_outhahigh; - double __pyx_v_outhalow; - double __pyx_v_outhaclose; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HA_Update(((TA_HA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outhaopen), (&__pyx_v_outhahigh), (&__pyx_v_outhalow), (&__pyx_v_outhaclose)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17578, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outhaopen); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outhahigh); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outhalow); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 17579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_outhaclose); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 17579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 17579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 17579, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 17579, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 17579, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_6); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_6) != (0)) __PYX_ERR(3, 17579, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - __pyx_t_6 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_7; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_7 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("talib._ta_lib.HA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9HA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9HA_Stream_8peek, "HA_Stream.peek(self, double open, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9HA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17581, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 17581, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 17581, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17581, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17581, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 17581, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 17581, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17581, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17581, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 17581, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 17581, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17582, __pyx_L3_error) - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17582, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17582, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17582, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 17581, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9HA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_HA_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9HA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outhaopen; - double __pyx_v_outhahigh; - double __pyx_v_outhalow; - double __pyx_v_outhaclose; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HA_Peek(((TA_HA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outhaopen), (&__pyx_v_outhahigh), (&__pyx_v_outhalow), (&__pyx_v_outhaclose)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17592, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outhaopen); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17593, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outhahigh); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17593, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outhalow); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 17593, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_outhaclose); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 17593, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 17593, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 17593, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 17593, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 17593, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_6); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_6) != (0)) __PYX_ERR(3, 17593, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - __pyx_t_6 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_7; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_7 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("talib._ta_lib.HA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9HA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_9HA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_9HA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_HA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9HA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self) { - double __pyx_v_outhaopen; - double __pyx_v_outhahigh; - double __pyx_v_outhalow; - double __pyx_v_outhaclose; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HA_Value(((TA_HA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outhaopen), (&__pyx_v_outhahigh), (&__pyx_v_outhalow), (&__pyx_v_outhaclose)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17606, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outhaopen); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17607, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outhahigh); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17607, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outhalow); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 17607, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_outhaclose); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 17607, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 17607, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 17607, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 17607, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 17607, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_6); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_6) != (0)) __PYX_ERR(3, 17607, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - __pyx_t_6 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_7; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_7 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("talib._ta_lib.HA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9HA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HA_OutRange(((TA_HA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9HA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HA_Advance(((TA_HA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9HA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9HA_Stream_10copy, "HA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9HA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_9HA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_HA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9HA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_self) { - TA_HA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_HA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HA_Stream))))) __PYX_ERR(3, 17618, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_HA_Clone(((TA_HA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17628, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.HA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10HMA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10HMA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10HMA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10HMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_HMA_Close(((TA_HMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10HMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10HMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17652, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17652, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17652, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 17652, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 17652, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17652, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17652, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 17652, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 17652, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10HMA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10HMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_HMA_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17654, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 17654, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17655, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17656, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17657, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17662, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_HMA_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_HMA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_HMA_Close(((TA_HMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HMA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17679, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.HMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10HMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10HMA_Stream_4open_and_fill, "HMA_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10HMA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10HMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10HMA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10HMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17681, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17681, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17681, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 17681, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 17681, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 17681, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17681, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 17682, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 17681, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10HMA_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10HMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_HMA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17683, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 17684, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17685, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17686, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17687, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_HMA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HMA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17693, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17695, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17699, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HMA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HMA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17711, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 17711, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 17711, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17711, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 17711, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 17711, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.HMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10HMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10HMA_Stream_6update, "HMA_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10HMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17713, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17713, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 17713, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 17713, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17713, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17714, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17713, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10HMA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10HMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HMA_Update(((TA_HMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HMA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17721, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17722, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10HMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10HMA_Stream_8peek, "HMA_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10HMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17724, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17724, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 17724, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 17724, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17724, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17725, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17724, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10HMA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10HMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HMA_Peek(((TA_HMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HMA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17732, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17733, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10HMA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10HMA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10HMA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10HMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HMA_Value(((TA_HMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HMA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17743, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HMA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10HMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HMA_OutRange(((TA_HMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10HMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HMA_Advance(((TA_HMA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10HMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10HMA_Stream_10copy, "HMA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10HMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10HMA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10HMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_self) { - TA_HMA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HMA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17755, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HMA_Stream))))) __PYX_ERR(3, 17755, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_HMA_Clone(((TA_HMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HMA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17765, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.HMA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_HT_DCPERIOD_Close(((TA_HT_DCPERIOD_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17787, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17787, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 17787, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 17787, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17787, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17787, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_DCPERIOD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_HT_DCPERIOD_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17788, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17789, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 17789, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17790, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17791, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17792, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17797, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_HT_DCPERIOD_Lookback() + 1); - - __pyx_v_retCode = TA_HT_DCPERIOD_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_HT_DCPERIOD_Close(((TA_HT_DCPERIOD_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPERIOD_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17814, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPERIOD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18HT_DCPERIOD_Stream_4open_and_fill, "HT_DCPERIOD_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_18HT_DCPERIOD_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18HT_DCPERIOD_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17816, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17816, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 17816, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 17816, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17816, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17816, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_DCPERIOD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_HT_DCPERIOD_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17818, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17819, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 17819, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17820, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17821, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17822, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_HT_DCPERIOD_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17828, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17830, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HT_DCPERIOD_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17834, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HT_DCPERIOD_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPERIOD_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17845, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17846, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 17846, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 17846, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17846, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 17846, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 17846, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPERIOD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18HT_DCPERIOD_Stream_6update, "HT_DCPERIOD_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17848, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17848, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 17848, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 17848, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17848, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17849, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17848, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_DCPERIOD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_DCPERIOD_Update(((TA_HT_DCPERIOD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPERIOD_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17856, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17857, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPERIOD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18HT_DCPERIOD_Stream_8peek, "HT_DCPERIOD_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17859, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17859, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 17859, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 17859, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17859, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17860, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17859, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_DCPERIOD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_DCPERIOD_Peek(((TA_HT_DCPERIOD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPERIOD_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17867, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17868, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPERIOD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_DCPERIOD_Value(((TA_HT_DCPERIOD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPERIOD_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17878, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPERIOD_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18HT_DCPERIOD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HT_DCPERIOD_OutRange(((TA_HT_DCPERIOD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18HT_DCPERIOD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HT_DCPERIOD_Advance(((TA_HT_DCPERIOD_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18HT_DCPERIOD_Stream_10copy, "HT_DCPERIOD_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18HT_DCPERIOD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_self) { - TA_HT_DCPERIOD_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17890, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream))))) __PYX_ERR(3, 17890, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_HT_DCPERIOD_Clone(((TA_HT_DCPERIOD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPERIOD_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17900, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPERIOD_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_HT_DCPHASE_Close(((TA_HT_DCPHASE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17922, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17922, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 17922, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 17922, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17922, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17922, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_DCPHASE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_HT_DCPHASE_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17923, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17924, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 17924, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17925, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17926, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17927, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17932, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_HT_DCPHASE_Lookback() + 1); - - __pyx_v_retCode = TA_HT_DCPHASE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_HT_DCPHASE_Close(((TA_HT_DCPHASE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPHASE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPHASE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17HT_DCPHASE_Stream_4open_and_fill, "HT_DCPHASE_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_17HT_DCPHASE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17HT_DCPHASE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17951, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17951, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 17951, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 17951, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17951, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17951, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_DCPHASE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_HT_DCPHASE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17953, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17954, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 17954, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 17955, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 17956, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 17957, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_HT_DCPHASE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17963, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 17965, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HT_DCPHASE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17969, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HT_DCPHASE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPHASE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17980, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17981, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 17981, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 17981, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17981, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 17981, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 17981, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPHASE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17HT_DCPHASE_Stream_6update, "HT_DCPHASE_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17983, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17983, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 17983, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 17983, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17983, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17984, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17983, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_DCPHASE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_DCPHASE_Update(((TA_HT_DCPHASE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPHASE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17991, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 17992, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPHASE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17HT_DCPHASE_Stream_8peek, "HT_DCPHASE_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 17994, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17994, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 17994, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 17994, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 17994, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 17995, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 17994, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_DCPHASE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_DCPHASE_Peek(((TA_HT_DCPHASE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPHASE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18002, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPHASE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_DCPHASE_Value(((TA_HT_DCPHASE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPHASE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18014, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPHASE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17HT_DCPHASE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HT_DCPHASE_OutRange(((TA_HT_DCPHASE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17HT_DCPHASE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HT_DCPHASE_Advance(((TA_HT_DCPHASE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17HT_DCPHASE_Stream_10copy, "HT_DCPHASE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17HT_DCPHASE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_self) { - TA_HT_DCPHASE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream))))) __PYX_ERR(3, 18025, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_HT_DCPHASE_Clone(((TA_HT_DCPHASE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_DCPHASE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18035, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.HT_DCPHASE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_HT_PHASOR_Close(((TA_HT_PHASOR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18058, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18058, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 18058, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 18058, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18058, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18058, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_PHASOR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_HT_PHASOR_Stream *__pyx_v_handle; - double __pyx_v_outinphase; - double __pyx_v_outquadrature; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18059, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18060, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 18060, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18061, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18062, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18063, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18069, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_HT_PHASOR_Lookback() + 1); - - __pyx_v_retCode = TA_HT_PHASOR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinphase), (&__pyx_v_outquadrature)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_HT_PHASOR_Close(((TA_HT_PHASOR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HT_PHASOR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18086, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.HT_PHASOR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16HT_PHASOR_Stream_4open_and_fill, "HT_PHASOR_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_16HT_PHASOR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16HT_PHASOR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18088, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18088, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 18088, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 18088, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18088, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18088, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_PHASOR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinphase = 0; - PyArrayObject *__pyx_v_outquadrature = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_HT_PHASOR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18090, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18091, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 18091, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18092, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18093, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18094, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_HT_PHASOR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18103, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HT_PHASOR_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18107, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinphase = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18108, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outquadrature = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HT_PHASOR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinphase)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outquadrature)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HT_PHASOR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18119, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 18120, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinphase)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 18120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 18120, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outquadrature)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 18120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 18120, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 18120, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 18120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 18120, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 18120, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_14; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_14 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib.HT_PHASOR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinphase); - __Pyx_XDECREF((PyObject *)__pyx_v_outquadrature); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16HT_PHASOR_Stream_6update, "HT_PHASOR_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18122, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18122, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 18122, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 18122, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18122, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18123, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18122, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_PHASOR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outinphase; - double __pyx_v_outquadrature; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_PHASOR_Update(((TA_HT_PHASOR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outinphase), (&__pyx_v_outquadrature)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_PHASOR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outinphase); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outquadrature); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 18132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 18132, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 18132, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.HT_PHASOR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16HT_PHASOR_Stream_8peek, "HT_PHASOR_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18134, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18134, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 18134, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 18134, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18134, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18135, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18134, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_PHASOR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outinphase; - double __pyx_v_outquadrature; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_PHASOR_Peek(((TA_HT_PHASOR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outinphase), (&__pyx_v_outquadrature)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_PHASOR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outinphase); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outquadrature); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 18144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 18144, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 18144, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.HT_PHASOR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self) { - double __pyx_v_outinphase; - double __pyx_v_outquadrature; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_PHASOR_Value(((TA_HT_PHASOR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinphase), (&__pyx_v_outquadrature)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_PHASOR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outinphase); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outquadrature); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 18156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 18156, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 18156, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.HT_PHASOR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16HT_PHASOR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HT_PHASOR_OutRange(((TA_HT_PHASOR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16HT_PHASOR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HT_PHASOR_Advance(((TA_HT_PHASOR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16HT_PHASOR_Stream_10copy, "HT_PHASOR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16HT_PHASOR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_self) { - TA_HT_PHASOR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream))))) __PYX_ERR(3, 18167, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_HT_PHASOR_Clone(((TA_HT_PHASOR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_PHASOR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18177, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.HT_PHASOR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_HT_SINE_Close(((TA_HT_SINE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18200, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18200, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 18200, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 18200, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18200, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18200, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_SINE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_HT_SINE_Stream *__pyx_v_handle; - double __pyx_v_outsine; - double __pyx_v_outleadsine; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 18202, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18203, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18204, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18205, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18211, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_HT_SINE_Lookback() + 1); - - __pyx_v_retCode = TA_HT_SINE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outsine), (&__pyx_v_outleadsine)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_HT_SINE_Close(((TA_HT_SINE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HT_SINE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.HT_SINE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14HT_SINE_Stream_4open_and_fill, "HT_SINE_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_14HT_SINE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14HT_SINE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18230, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 18230, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 18230, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18230, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18230, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_SINE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outsine = 0; - PyArrayObject *__pyx_v_outleadsine = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_HT_SINE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18233, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 18233, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18234, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18235, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18236, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_HT_SINE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18243, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18245, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HT_SINE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18249, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outsine = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18250, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outleadsine = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HT_SINE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outsine)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outleadsine)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HT_SINE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 18262, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outsine)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 18262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 18262, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outleadsine)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 18262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 18262, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 18262, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 18262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 18262, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 18262, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_14; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_14 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib.HT_SINE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outsine); - __Pyx_XDECREF((PyObject *)__pyx_v_outleadsine); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14HT_SINE_Stream_6update, "HT_SINE_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18264, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18264, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 18264, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 18264, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18264, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18265, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18264, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_SINE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outsine; - double __pyx_v_outleadsine; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_SINE_Update(((TA_HT_SINE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outsine), (&__pyx_v_outleadsine)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_SINE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18273, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outsine); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outleadsine); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 18274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 18274, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 18274, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.HT_SINE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14HT_SINE_Stream_8peek, "HT_SINE_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18276, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18276, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 18276, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 18276, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18276, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18277, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18276, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_SINE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outsine; - double __pyx_v_outleadsine; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_SINE_Peek(((TA_HT_SINE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outsine), (&__pyx_v_outleadsine)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_SINE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18285, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outsine); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18286, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outleadsine); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18286, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 18286, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 18286, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 18286, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.HT_SINE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self) { - double __pyx_v_outsine; - double __pyx_v_outleadsine; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_SINE_Value(((TA_HT_SINE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outsine), (&__pyx_v_outleadsine)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_SINE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18297, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outsine); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outleadsine); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 18298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 18298, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 18298, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.HT_SINE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14HT_SINE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HT_SINE_OutRange(((TA_HT_SINE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14HT_SINE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HT_SINE_Advance(((TA_HT_SINE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14HT_SINE_Stream_10copy, "HT_SINE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14HT_SINE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_self) { - TA_HT_SINE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream))))) __PYX_ERR(3, 18309, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_HT_SINE_Clone(((TA_HT_SINE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_SINE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18319, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.HT_SINE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_HT_TRENDLINE_Close(((TA_HT_TRENDLINE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18341, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18341, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 18341, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 18341, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18341, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18341, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDLINE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_HT_TRENDLINE_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18342, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 18343, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18344, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18345, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18346, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18351, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_HT_TRENDLINE_Lookback() + 1); - - __pyx_v_retCode = TA_HT_TRENDLINE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_HT_TRENDLINE_Close(((TA_HT_TRENDLINE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDLINE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18368, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDLINE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19HT_TRENDLINE_Stream_4open_and_fill, "HT_TRENDLINE_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_19HT_TRENDLINE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19HT_TRENDLINE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18370, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18370, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 18370, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 18370, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18370, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18370, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDLINE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_HT_TRENDLINE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18372, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18373, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 18373, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18374, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18375, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18376, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_HT_TRENDLINE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18384, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HT_TRENDLINE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18388, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HT_TRENDLINE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDLINE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18399, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18400, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 18400, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 18400, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18400, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 18400, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 18400, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDLINE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19HT_TRENDLINE_Stream_6update, "HT_TRENDLINE_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18402, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18402, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 18402, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 18402, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18402, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18403, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18402, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDLINE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_TRENDLINE_Update(((TA_HT_TRENDLINE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDLINE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18410, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDLINE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19HT_TRENDLINE_Stream_8peek, "HT_TRENDLINE_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18413, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18413, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 18413, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 18413, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18413, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18414, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18413, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDLINE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_TRENDLINE_Peek(((TA_HT_TRENDLINE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDLINE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18422, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDLINE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_TRENDLINE_Value(((TA_HT_TRENDLINE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDLINE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18432, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDLINE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19HT_TRENDLINE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HT_TRENDLINE_OutRange(((TA_HT_TRENDLINE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19HT_TRENDLINE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HT_TRENDLINE_Advance(((TA_HT_TRENDLINE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19HT_TRENDLINE_Stream_10copy, "HT_TRENDLINE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDLINE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_self) { - TA_HT_TRENDLINE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18444, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream))))) __PYX_ERR(3, 18444, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_HT_TRENDLINE_Clone(((TA_HT_TRENDLINE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDLINE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18454, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDLINE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_HT_TRENDMODE_Close(((TA_HT_TRENDMODE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18476, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18476, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 18476, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 18476, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18476, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18476, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDMODE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_HT_TRENDMODE_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18477, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18478, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 18478, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18479, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18480, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18481, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18486, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_HT_TRENDMODE_Lookback() + 1); - - __pyx_v_retCode = TA_HT_TRENDMODE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_HT_TRENDMODE_Close(((TA_HT_TRENDMODE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDMODE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18503, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDMODE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19HT_TRENDMODE_Stream_4open_and_fill, "HT_TRENDMODE_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_19HT_TRENDMODE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19HT_TRENDMODE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18505, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18505, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 18505, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 18505, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18505, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18505, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDMODE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_HT_TRENDMODE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18507, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18508, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 18508, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18509, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18510, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18511, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_HT_TRENDMODE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18517, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18519, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_HT_TRENDMODE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18523, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_HT_TRENDMODE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDMODE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18535, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 18535, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 18535, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18535, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 18535, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 18535, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDMODE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19HT_TRENDMODE_Stream_6update, "HT_TRENDMODE_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18537, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18537, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 18537, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 18537, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18537, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18538, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18537, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDMODE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self, double __pyx_v_real) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_TRENDMODE_Update(((TA_HT_TRENDMODE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDMODE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18546, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDMODE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19HT_TRENDMODE_Stream_8peek, "HT_TRENDMODE_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18548, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18548, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 18548, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 18548, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18548, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18549, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18548, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDMODE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self, double __pyx_v_real) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_TRENDMODE_Peek(((TA_HT_TRENDMODE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDMODE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18556, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18557, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDMODE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_HT_TRENDMODE_Value(((TA_HT_TRENDMODE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDMODE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18567, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_outinteger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18568, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDMODE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19HT_TRENDMODE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HT_TRENDMODE_OutRange(((TA_HT_TRENDMODE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_19HT_TRENDMODE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_HT_TRENDMODE_Advance(((TA_HT_TRENDMODE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_19HT_TRENDMODE_Stream_10copy, "HT_TRENDMODE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_19HT_TRENDMODE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_self) { - TA_HT_TRENDMODE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream))))) __PYX_ERR(3, 18579, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_HT_TRENDMODE_Clone(((TA_HT_TRENDMODE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_HT_TRENDMODE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18589, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.HT_TRENDMODE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10IMI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10IMI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10IMI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10IMI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_IMI_Close(((TA_IMI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10IMI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10IMI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18613, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 18613, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18613, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18613, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 18613, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, i); __PYX_ERR(3, 18613, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 18613, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18613, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18613, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_close = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 18613, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 18613, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.IMI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10IMI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10IMI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_IMI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18614, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18615, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18616, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 18616, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 18616, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18617, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18618, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18619, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18624, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_IMI_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_IMI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_IMI_Close(((TA_IMI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_IMI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.IMI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10IMI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10IMI_Stream_4open_and_fill, "IMI_Stream.open_and_fill(open, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10IMI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10IMI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10IMI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10IMI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18643, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 18643, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18643, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18643, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 18643, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, i); __PYX_ERR(3, 18643, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 18643, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18643, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18643, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_close = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 18644, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 18643, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.IMI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10IMI_Stream_4open_and_fill(__pyx_v_open, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10IMI_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_IMI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18646, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18647, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 18647, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 18647, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18648, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18649, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18650, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_IMI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_IMI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18656, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18658, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_IMI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18662, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_IMI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_IMI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18673, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 18674, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_close) != (0)) __PYX_ERR(3, 18674, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 18674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 18674, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 18674, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.IMI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10IMI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10IMI_Stream_6update, "IMI_Stream.update(self, double open, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10IMI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18676, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18676, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18676, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 18676, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 18676, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18676, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18676, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18677, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18677, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 18676, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.IMI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10IMI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10IMI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_IMI_Update(((TA_IMI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_IMI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.IMI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10IMI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10IMI_Stream_8peek, "IMI_Stream.peek(self, double open, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10IMI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18687, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18687, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18687, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 18687, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 18687, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18687, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18687, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18688, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18688, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 18687, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.IMI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10IMI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10IMI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_IMI_Peek(((TA_IMI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_IMI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18695, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18696, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.IMI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10IMI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10IMI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10IMI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10IMI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_IMI_Value(((TA_IMI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_IMI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18706, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18707, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.IMI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10IMI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_IMI_OutRange(((TA_IMI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10IMI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_IMI_Advance(((TA_IMI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10IMI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10IMI_Stream_10copy, "IMI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10IMI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10IMI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10IMI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_self) { - TA_IMI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_IMI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18718, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_IMI_Stream))))) __PYX_ERR(3, 18718, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_IMI_Clone(((TA_IMI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_IMI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18728, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.IMI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11KAMA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11KAMA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11KAMA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11KAMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_KAMA_Close(((TA_KAMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11KAMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11KAMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18752, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18752, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18752, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 18752, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 18752, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18752, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18752, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 18752, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 18752, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KAMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11KAMA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11KAMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_KAMA_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18753, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18754, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 18754, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18755, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18756, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18757, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18762, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_KAMA_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_KAMA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_KAMA_Close(((TA_KAMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_KAMA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18779, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.KAMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11KAMA_Stream_4open_and_fill, "KAMA_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11KAMA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11KAMA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18781, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18781, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18781, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 18781, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 18781, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18781, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18781, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 18782, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 18781, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KAMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11KAMA_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11KAMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_KAMA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18783, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18784, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 18784, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18785, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18786, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18787, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_KAMA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18793, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18795, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_KAMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18799, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_KAMA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_KAMA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 18811, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 18811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 18811, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 18811, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.KAMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11KAMA_Stream_6update, "KAMA_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18813, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18813, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 18813, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 18813, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18813, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18814, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18813, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KAMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11KAMA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11KAMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_KAMA_Update(((TA_KAMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KAMA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18821, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18822, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.KAMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11KAMA_Stream_8peek, "KAMA_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18824, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18824, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 18824, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 18824, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18824, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18825, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 18824, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KAMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11KAMA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11KAMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_KAMA_Peek(((TA_KAMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KAMA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18832, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18833, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.KAMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11KAMA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11KAMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_KAMA_Value(((TA_KAMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KAMA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18843, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18844, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.KAMA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11KAMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_KAMA_OutRange(((TA_KAMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11KAMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_KAMA_Advance(((TA_KAMA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11KAMA_Stream_10copy, "KAMA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11KAMA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11KAMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_self) { - TA_KAMA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream))))) __PYX_ERR(3, 18855, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_KAMA_Clone(((TA_KAMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KAMA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18865, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.KAMA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_9KC_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_9KC_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_9KC_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_KC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_9KC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_KC_Close(((TA_KC_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_9KC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_9KC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - int __pyx_v_atrperiod; - double __pyx_v_nbdev; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[6] = {0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_atrperiod,&__pyx_mstate_global->__pyx_n_u_nbdev,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18893, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 18893, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 18893, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 18893, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 18893, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18893, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18893, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 18893, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 6, i); __PYX_ERR(3, 18893, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 18893, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 18893, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 18893, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 18893, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18893, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18893, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 18893, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_atrperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_atrperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 18893, __pyx_L3_error) - } else { - __pyx_v_atrperiod = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_nbdev = __Pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_nbdev == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18893, __pyx_L3_error) - } else { - __pyx_v_nbdev = ((double)-4e37); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 6, __pyx_nargs); __PYX_ERR(3, 18893, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9KC_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_KC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod, __pyx_v_atrperiod, __pyx_v_nbdev); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_9KC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod, int __pyx_v_atrperiod, double __pyx_v_nbdev) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_KC_Stream *__pyx_v_handle; - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18894, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18895, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18896, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18897, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 18897, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 18897, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 18897, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18898, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18899, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18900, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18907, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_KC_Lookback(__pyx_v_timeperiod, __pyx_v_atrperiod, __pyx_v_nbdev) + 1); - - __pyx_v_retCode = TA_KC_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_atrperiod, __pyx_v_nbdev, (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_KC_Close(((TA_KC_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_KC_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18924, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.KC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9KC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9KC_Stream_4open_and_fill, "KC_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000, int atrperiod=-0x80000000, double nbdev=-4e37)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_9KC_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9KC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9KC_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_9KC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - int __pyx_v_atrperiod; - double __pyx_v_nbdev; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[6] = {0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_atrperiod,&__pyx_mstate_global->__pyx_n_u_nbdev,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18926, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 18926, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 18926, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 18926, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 18926, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18926, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18926, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 18926, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 6, i); __PYX_ERR(3, 18926, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 18926, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 18926, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 18926, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 18926, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18926, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18926, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 18927, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_atrperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_atrperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 18927, __pyx_L3_error) - } else { - __pyx_v_atrperiod = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_nbdev = __Pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_nbdev == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18927, __pyx_L3_error) - } else { - __pyx_v_nbdev = ((double)-4e37); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 6, __pyx_nargs); __PYX_ERR(3, 18926, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9KC_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod, __pyx_v_atrperiod, __pyx_v_nbdev); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9KC_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod, int __pyx_v_atrperiod, double __pyx_v_nbdev) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outupperband = 0; - PyArrayObject *__pyx_v_outmiddleband = 0; - PyArrayObject *__pyx_v_outlowerband = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_KC_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18928, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18929, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18930, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18931, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 18931, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 18931, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 18931, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 18932, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 18933, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 18934, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_KC_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KC_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18942, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_KC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 18944, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_KC_Lookback(__pyx_v_timeperiod, __pyx_v_atrperiod, __pyx_v_nbdev)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18948, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outupperband = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18949, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmiddleband = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18950, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outlowerband = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_KC_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_atrperiod, __pyx_v_nbdev, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outupperband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmiddleband)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outlowerband)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_KC_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18961, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18962, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outupperband)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 18962, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18962, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmiddleband)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 18962, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18962, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __pyx_t_15 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outlowerband)); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 18962, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18962, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_15); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_15) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 18962, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 18962, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_15; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_15 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("talib._ta_lib.KC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outupperband); - __Pyx_XDECREF((PyObject *)__pyx_v_outmiddleband); - __Pyx_XDECREF((PyObject *)__pyx_v_outlowerband); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9KC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9KC_Stream_6update, "KC_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9KC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18964, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 18964, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18964, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18964, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 18964, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 18964, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18964, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18964, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 18964, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18965, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18965, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18965, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 18964, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9KC_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_KC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9KC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_KC_Update(((TA_KC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KC_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18974, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outupperband); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18975, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmiddleband); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18975, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outlowerband); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 18975, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 18975, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 18975, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 18975, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 18975, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.KC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9KC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9KC_Stream_8peek, "KC_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9KC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 18977, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 18977, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18977, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18977, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 18977, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 18977, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 18977, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 18977, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 18977, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18978, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18978, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 18978, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 18977, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9KC_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_KC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9KC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_KC_Peek(((TA_KC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KC_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18987, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outupperband); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18988, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmiddleband); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18988, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outlowerband); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 18988, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 18988, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 18988, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 18988, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 18988, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.KC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9KC_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_9KC_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_9KC_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_KC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9KC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self) { - double __pyx_v_outupperband; - double __pyx_v_outmiddleband; - double __pyx_v_outlowerband; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_KC_Value(((TA_KC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outupperband), (&__pyx_v_outmiddleband), (&__pyx_v_outlowerband)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KC_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19000, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outupperband); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmiddleband); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outlowerband); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 19001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 19001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 19001, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 19001, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 19001, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.KC_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9KC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_KC_OutRange(((TA_KC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9KC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_KC_Advance(((TA_KC_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9KC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9KC_Stream_10copy, "KC_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9KC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_9KC_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_KC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9KC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_self) { - TA_KC_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_KC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KC_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19012, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KC_Stream))))) __PYX_ERR(3, 19012, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_KC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_KC_Clone(((TA_KC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KC_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19022, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.KC_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10KDJ_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10KDJ_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10KDJ_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10KDJ_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_KDJ_Close(((TA_KDJ_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10KDJ_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10KDJ_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_fastk_period; - int __pyx_v_slowk_period; - int __pyx_v_slowk_matype; - int __pyx_v_slowd_period; - int __pyx_v_slowd_matype; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[8] = {0,0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_fastk_period,&__pyx_mstate_global->__pyx_n_u_slowk_period,&__pyx_mstate_global->__pyx_n_u_slowk_matype,&__pyx_mstate_global->__pyx_n_u_slowd_period,&__pyx_mstate_global->__pyx_n_u_slowd_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19052, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 8: - values[7] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(3, 19052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 19052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 19052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 19052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 19052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 19052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 19052, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 8, i); __PYX_ERR(3, 19052, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 8: - values[7] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(3, 19052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 19052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 19052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 19052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 19052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 19052, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19052, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19052, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_fastk_period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_fastk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19052, __pyx_L3_error) - } else { - __pyx_v_fastk_period = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_slowk_period = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_slowk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19052, __pyx_L3_error) - } else { - __pyx_v_slowk_period = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_slowk_matype = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_slowk_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19052, __pyx_L3_error) - } else { - __pyx_v_slowk_matype = ((int)13); - } - if (values[6]) { - __pyx_v_slowd_period = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_slowd_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19052, __pyx_L3_error) - } else { - __pyx_v_slowd_period = ((int)-2147483648); - } - if (values[7]) { - __pyx_v_slowd_matype = __Pyx_PyLong_As_int(values[7]); if (unlikely((__pyx_v_slowd_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19052, __pyx_L3_error) - } else { - __pyx_v_slowd_matype = ((int)13); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 8, __pyx_nargs); __PYX_ERR(3, 19052, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KDJ_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10KDJ_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10KDJ_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_slowk_period, int __pyx_v_slowk_matype, int __pyx_v_slowd_period, int __pyx_v_slowd_matype) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_KDJ_Stream *__pyx_v_handle; - double __pyx_v_outk; - double __pyx_v_outd; - double __pyx_v_outj; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19053, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19054, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19055, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 19056, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 19056, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 19056, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19057, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19058, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19059, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19066, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_KDJ_Lookback(__pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype) + 1); - - __pyx_v_retCode = TA_KDJ_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype, (&__pyx_v_outk), (&__pyx_v_outd), (&__pyx_v_outj)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_KDJ_Close(((TA_KDJ_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_KDJ_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.KDJ_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10KDJ_Stream_4open_and_fill, "KDJ_Stream.open_and_fill(high, low, close, int fastk_period=-0x80000000, int slowk_period=-0x80000000, int slowk_matype=13, int slowd_period=-0x80000000, int slowd_matype=13)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10KDJ_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10KDJ_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_fastk_period; - int __pyx_v_slowk_period; - int __pyx_v_slowk_matype; - int __pyx_v_slowd_period; - int __pyx_v_slowd_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[8] = {0,0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_fastk_period,&__pyx_mstate_global->__pyx_n_u_slowk_period,&__pyx_mstate_global->__pyx_n_u_slowk_matype,&__pyx_mstate_global->__pyx_n_u_slowd_period,&__pyx_mstate_global->__pyx_n_u_slowd_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19085, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 8: - values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(3, 19085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 19085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 19085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 19085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 19085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 19085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 19085, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 8, i); __PYX_ERR(3, 19085, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 8: - values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(3, 19085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 19085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 19085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 19085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 19085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 19085, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19085, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19085, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_fastk_period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_fastk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19086, __pyx_L3_error) - } else { - __pyx_v_fastk_period = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_slowk_period = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_slowk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19086, __pyx_L3_error) - } else { - __pyx_v_slowk_period = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_slowk_matype = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_slowk_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19086, __pyx_L3_error) - } else { - __pyx_v_slowk_matype = ((int)13); - } - if (values[6]) { - __pyx_v_slowd_period = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_slowd_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19086, __pyx_L3_error) - } else { - __pyx_v_slowd_period = ((int)-2147483648); - } - if (values[7]) { - __pyx_v_slowd_matype = __Pyx_PyLong_As_int(values[7]); if (unlikely((__pyx_v_slowd_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19086, __pyx_L3_error) - } else { - __pyx_v_slowd_matype = ((int)13); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 8, __pyx_nargs); __PYX_ERR(3, 19085, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KDJ_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10KDJ_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10KDJ_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_slowk_period, int __pyx_v_slowk_matype, int __pyx_v_slowd_period, int __pyx_v_slowd_matype) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outk = 0; - PyArrayObject *__pyx_v_outd = 0; - PyArrayObject *__pyx_v_outj = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_KDJ_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19088, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19089, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19090, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 19090, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 19090, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 19090, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19091, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19092, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19093, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_KDJ_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19103, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_KDJ_Lookback(__pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19107, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outk = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19108, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outd = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19109, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outj = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_KDJ_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outk)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outd)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outj)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_KDJ_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outk)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 19121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outd)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 19121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __pyx_t_15 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outj)); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 19121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_15); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_15) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 19121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 19121, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_15; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_15 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("talib._ta_lib.KDJ_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outk); - __Pyx_XDECREF((PyObject *)__pyx_v_outd); - __Pyx_XDECREF((PyObject *)__pyx_v_outj); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10KDJ_Stream_6update, "KDJ_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19123, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 19123, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19123, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19123, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 19123, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 19123, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19123, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19123, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 19123, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19124, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19124, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19124, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 19123, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KDJ_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10KDJ_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10KDJ_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outk; - double __pyx_v_outd; - double __pyx_v_outj; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_KDJ_Update(((TA_KDJ_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outk), (&__pyx_v_outd), (&__pyx_v_outj)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KDJ_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outk); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outd); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outj); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 19134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 19134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 19134, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 19134, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 19134, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.KDJ_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10KDJ_Stream_8peek, "KDJ_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19136, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 19136, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19136, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19136, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 19136, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 19136, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19136, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19136, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 19136, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19137, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19137, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19137, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 19136, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.KDJ_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10KDJ_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10KDJ_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outk; - double __pyx_v_outd; - double __pyx_v_outj; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_KDJ_Peek(((TA_KDJ_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outk), (&__pyx_v_outd), (&__pyx_v_outj)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KDJ_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outk); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outd); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outj); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 19147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 19147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 19147, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 19147, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 19147, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.KDJ_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10KDJ_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10KDJ_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self) { - double __pyx_v_outk; - double __pyx_v_outd; - double __pyx_v_outj; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_KDJ_Value(((TA_KDJ_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outk), (&__pyx_v_outd), (&__pyx_v_outj)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KDJ_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19159, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outk); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outd); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outj); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 19160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 19160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 19160, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 19160, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 19160, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.KDJ_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10KDJ_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_KDJ_OutRange(((TA_KDJ_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10KDJ_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_KDJ_Advance(((TA_KDJ_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10KDJ_Stream_10copy, "KDJ_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10KDJ_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10KDJ_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_self) { - TA_KDJ_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream))))) __PYX_ERR(3, 19171, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_KDJ_Clone(((TA_KDJ_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_KDJ_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.KDJ_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_LINEARREG_Close(((TA_LINEARREG_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19205, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19205, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19205, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 19205, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 19205, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19205, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19205, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19205, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 19205, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_LINEARREG_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 19207, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19208, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19209, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19210, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19215, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_LINEARREG_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_LINEARREG_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_LINEARREG_Close(((TA_LINEARREG_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16LINEARREG_Stream_4open_and_fill, "LINEARREG_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_16LINEARREG_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16LINEARREG_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19234, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19234, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19234, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 19234, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 19234, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19234, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19234, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19235, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 19234, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_LINEARREG_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19236, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 19237, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19238, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19239, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19240, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_LINEARREG_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19248, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_LINEARREG_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19252, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19263, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 19264, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 19264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 19264, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 19264, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16LINEARREG_Stream_6update, "LINEARREG_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19266, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19266, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 19266, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 19266, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19266, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19267, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19266, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_Update(((TA_LINEARREG_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19275, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16LINEARREG_Stream_8peek, "LINEARREG_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19277, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19277, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 19277, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 19277, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19277, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19278, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19277, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_Peek(((TA_LINEARREG_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19285, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19286, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_Value(((TA_LINEARREG_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19296, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19297, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16LINEARREG_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_LINEARREG_OutRange(((TA_LINEARREG_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_16LINEARREG_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_LINEARREG_Advance(((TA_LINEARREG_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_16LINEARREG_Stream_10copy, "LINEARREG_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_16LINEARREG_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_self) { - TA_LINEARREG_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19308, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream))))) __PYX_ERR(3, 19308, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_Clone(((TA_LINEARREG_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_LINEARREG_ANGLE_Close(((TA_LINEARREG_ANGLE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19342, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19342, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19342, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 19342, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 19342, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19342, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19342, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19342, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 19342, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_ANGLE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_LINEARREG_ANGLE_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19344, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 19344, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19345, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19346, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19347, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19352, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_LINEARREG_ANGLE_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_LINEARREG_ANGLE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_LINEARREG_ANGLE_Close(((TA_LINEARREG_ANGLE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_ANGLE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_ANGLE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_4open_and_fill, "LINEARREG_ANGLE_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19371, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19371, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19371, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 19371, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 19371, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19371, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19371, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19372, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 19371, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_ANGLE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_LINEARREG_ANGLE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19373, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 19374, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19375, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19376, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19377, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19383, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19385, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_LINEARREG_ANGLE_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19389, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_ANGLE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_ANGLE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19400, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19401, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 19401, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 19401, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19401, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 19401, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 19401, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_ANGLE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_6update, "LINEARREG_ANGLE_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19403, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19403, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 19403, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 19403, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19403, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19404, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19403, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_ANGLE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_ANGLE_Update(((TA_LINEARREG_ANGLE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_ANGLE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_ANGLE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_8peek, "LINEARREG_ANGLE_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19414, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19414, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 19414, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 19414, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19414, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19415, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19414, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_ANGLE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_ANGLE_Peek(((TA_LINEARREG_ANGLE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_ANGLE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19422, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_ANGLE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_ANGLE_Value(((TA_LINEARREG_ANGLE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_ANGLE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19434, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_ANGLE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_LINEARREG_ANGLE_OutRange(((TA_LINEARREG_ANGLE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_LINEARREG_ANGLE_Advance(((TA_LINEARREG_ANGLE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_10copy, "LINEARREG_ANGLE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_self) { - TA_LINEARREG_ANGLE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream))))) __PYX_ERR(3, 19445, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_ANGLE_Clone(((TA_LINEARREG_ANGLE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_ANGLE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19455, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_ANGLE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_LINEARREG_INTERCEPT_Close(((TA_LINEARREG_INTERCEPT_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19479, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19479, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19479, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 19479, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 19479, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19479, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19479, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19479, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 19479, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_INTERCEPT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_LINEARREG_INTERCEPT_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 19481, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19482, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19483, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19484, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19489, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_LINEARREG_INTERCEPT_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_LINEARREG_INTERCEPT_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_LINEARREG_INTERCEPT_Close(((TA_LINEARREG_INTERCEPT_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_INTERCEPT_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19506, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_INTERCEPT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_4open_and_fill, "LINEARREG_INTERCEPT_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19508, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19508, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19508, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 19508, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 19508, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19508, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19508, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19509, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 19508, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_INTERCEPT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_LINEARREG_INTERCEPT_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19510, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19511, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 19511, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19512, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19513, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19514, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19520, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19522, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_LINEARREG_INTERCEPT_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19526, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_INTERCEPT_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_INTERCEPT_OpenAndFi, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19538, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 19538, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 19538, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19538, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 19538, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 19538, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_INTERCEPT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_6update, "LINEARREG_INTERCEPT_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19540, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19540, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 19540, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 19540, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19540, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19541, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19540, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_INTERCEPT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_INTERCEPT_Update(((TA_LINEARREG_INTERCEPT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_INTERCEPT_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19548, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19549, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_INTERCEPT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_8peek, "LINEARREG_INTERCEPT_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19551, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19551, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 19551, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 19551, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19551, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19552, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19551, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_INTERCEPT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_INTERCEPT_Peek(((TA_LINEARREG_INTERCEPT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_INTERCEPT_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19559, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19560, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_INTERCEPT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_INTERCEPT_Value(((TA_LINEARREG_INTERCEPT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_INTERCEPT_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19570, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19571, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_INTERCEPT_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_LINEARREG_INTERCEPT_OutRange(((TA_LINEARREG_INTERCEPT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_LINEARREG_INTERCEPT_Advance(((TA_LINEARREG_INTERCEPT_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_10copy, "LINEARREG_INTERCEPT_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_self) { - TA_LINEARREG_INTERCEPT_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19582, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream))))) __PYX_ERR(3, 19582, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_INTERCEPT_Clone(((TA_LINEARREG_INTERCEPT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_INTERCEPT_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19592, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_INTERCEPT_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_LINEARREG_SLOPE_Close(((TA_LINEARREG_SLOPE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19616, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19616, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19616, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 19616, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 19616, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19616, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19616, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19616, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 19616, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_SLOPE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_LINEARREG_SLOPE_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 19618, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19619, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19620, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19621, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19626, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_LINEARREG_SLOPE_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_LINEARREG_SLOPE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_LINEARREG_SLOPE_Close(((TA_LINEARREG_SLOPE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_SLOPE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_SLOPE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_4open_and_fill, "LINEARREG_SLOPE_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19645, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19645, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19645, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 19645, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 19645, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 19645, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19645, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 19646, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 19645, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_SLOPE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_LINEARREG_SLOPE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19647, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19648, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 19648, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19649, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19650, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19651, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19659, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_LINEARREG_SLOPE_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19663, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_SLOPE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_SLOPE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 19675, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 19675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 19675, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 19675, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_SLOPE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_6update, "LINEARREG_SLOPE_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19677, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 19677, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 19677, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19677, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19678, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19677, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_SLOPE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_SLOPE_Update(((TA_LINEARREG_SLOPE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_SLOPE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19686, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_SLOPE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_8peek, "LINEARREG_SLOPE_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19688, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19688, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 19688, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 19688, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19688, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19689, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19688, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_SLOPE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_SLOPE_Peek(((TA_LINEARREG_SLOPE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_SLOPE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19696, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_SLOPE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_SLOPE_Value(((TA_LINEARREG_SLOPE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_SLOPE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19707, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19708, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_SLOPE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_LINEARREG_SLOPE_OutRange(((TA_LINEARREG_SLOPE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_LINEARREG_SLOPE_Advance(((TA_LINEARREG_SLOPE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_10copy, "LINEARREG_SLOPE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_self) { - TA_LINEARREG_SLOPE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19719, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream))))) __PYX_ERR(3, 19719, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_LINEARREG_SLOPE_Clone(((TA_LINEARREG_SLOPE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LINEARREG_SLOPE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19729, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.LINEARREG_SLOPE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_9LN_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_9LN_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_9LN_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_LN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_9LN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_LN_Close(((TA_LN_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_9LN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_9LN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19751, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19751, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 19751, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 19751, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19751, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19751, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9LN_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_LN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_9LN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_LN_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19752, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19753, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 19753, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19754, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19755, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19756, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19761, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_LN_Lookback() + 1); - - __pyx_v_retCode = TA_LN_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_LN_Close(((TA_LN_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_LN_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19778, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.LN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9LN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9LN_Stream_4open_and_fill, "LN_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_9LN_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9LN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9LN_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_9LN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19780, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19780, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 19780, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 19780, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19780, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19780, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9LN_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9LN_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_LN_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19782, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19783, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 19783, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19784, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19785, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19786, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_LN_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LN_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19792, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_LN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19794, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_LN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19798, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_LN_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_LN_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 19810, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 19810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 19810, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 19810, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.LN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9LN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9LN_Stream_6update, "LN_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9LN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19812, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19812, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 19812, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 19812, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19812, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19813, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19812, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9LN_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_LN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9LN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LN_Update(((TA_LN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LN_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19820, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19821, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9LN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9LN_Stream_8peek, "LN_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9LN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19823, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19823, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 19823, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 19823, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19823, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19824, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19823, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9LN_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_LN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9LN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LN_Peek(((TA_LN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LN_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19831, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19832, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9LN_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_9LN_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_9LN_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_LN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9LN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LN_Value(((TA_LN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LN_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19842, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19843, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LN_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9LN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_LN_OutRange(((TA_LN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9LN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_LN_Advance(((TA_LN_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9LN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9LN_Stream_10copy, "LN_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9LN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_9LN_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_LN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9LN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_self) { - TA_LN_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_LN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LN_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LN_Stream))))) __PYX_ERR(3, 19854, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_LN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_LN_Clone(((TA_LN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LN_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19864, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.LN_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_12LOG10_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_12LOG10_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_12LOG10_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_12LOG10_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_LOG10_Close(((TA_LOG10_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_12LOG10_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_12LOG10_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19886, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19886, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 19886, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 19886, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19886, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19886, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LOG10_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12LOG10_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_12LOG10_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_LOG10_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19887, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19888, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 19888, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19889, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19890, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19891, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19896, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_LOG10_Lookback() + 1); - - __pyx_v_retCode = TA_LOG10_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_LOG10_Close(((TA_LOG10_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_LOG10_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19913, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.LOG10_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12LOG10_Stream_4open_and_fill, "LOG10_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_12LOG10_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12LOG10_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19915, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19915, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 19915, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 19915, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19915, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19915, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LOG10_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12LOG10_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12LOG10_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_LOG10_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19917, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19918, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 19918, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 19919, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 19920, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 19921, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_LOG10_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19927, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 19929, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_LOG10_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19933, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_LOG10_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_LOG10_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19944, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19945, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 19945, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 19945, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19945, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 19945, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 19945, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.LOG10_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12LOG10_Stream_6update, "LOG10_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19947, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19947, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 19947, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 19947, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19947, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19948, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19947, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LOG10_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12LOG10_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12LOG10_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LOG10_Update(((TA_LOG10_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LOG10_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19955, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19956, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LOG10_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12LOG10_Stream_8peek, "LOG10_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 19958, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19958, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 19958, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 19958, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 19958, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 19959, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 19958, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.LOG10_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12LOG10_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12LOG10_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LOG10_Peek(((TA_LOG10_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LOG10_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19966, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19967, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LOG10_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_12LOG10_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12LOG10_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_LOG10_Value(((TA_LOG10_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LOG10_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19977, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 19978, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.LOG10_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12LOG10_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_LOG10_OutRange(((TA_LOG10_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12LOG10_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_LOG10_Advance(((TA_LOG10_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12LOG10_Stream_10copy, "LOG10_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_12LOG10_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12LOG10_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_self) { - TA_LOG10_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19989, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream))))) __PYX_ERR(3, 19989, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_LOG10_Clone(((TA_LOG10_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_LOG10_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19999, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.LOG10_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_9MA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_9MA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_9MA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_9MA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MA_Close(((TA_MA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_9MA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_9MA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20024, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20024, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20024, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20024, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 20024, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, i); __PYX_ERR(3, 20024, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20024, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20024, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20024, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20024, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20024, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 20024, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9MA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod, __pyx_v_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_9MA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_matype) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MA_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20026, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 20026, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20027, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20028, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20029, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20034, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MA_Lookback(__pyx_v_timeperiod, __pyx_v_matype) + 1); - - __pyx_v_retCode = TA_MA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_matype, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MA_Close(((TA_MA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20051, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9MA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9MA_Stream_4open_and_fill, "MA_Stream.open_and_fill(real, int timeperiod=-0x80000000, int matype=0)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_9MA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9MA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9MA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_9MA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20053, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20053, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20053, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20053, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 20053, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, i); __PYX_ERR(3, 20053, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20053, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20053, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20053, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20054, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20054, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 20053, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9MA_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod, __pyx_v_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9MA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_matype) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20055, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 20056, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20057, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20058, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20059, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20065, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20067, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MA_Lookback(__pyx_v_timeperiod, __pyx_v_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20071, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20082, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 20083, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 20083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 20083, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 20083, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9MA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9MA_Stream_6update, "MA_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9MA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20085, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20085, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 20085, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 20085, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20085, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20086, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 20085, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9MA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9MA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MA_Update(((TA_MA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20093, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20094, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9MA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9MA_Stream_8peek, "MA_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9MA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20096, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20096, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 20096, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 20096, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20096, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20097, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 20096, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9MA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9MA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MA_Peek(((TA_MA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20105, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9MA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_9MA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_9MA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9MA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MA_Value(((TA_MA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20115, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20116, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9MA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MA_OutRange(((TA_MA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9MA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MA_Advance(((TA_MA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9MA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9MA_Stream_10copy, "MA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9MA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_9MA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9MA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_self) { - TA_MA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MA_Stream))))) __PYX_ERR(3, 20127, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MA_Clone(((TA_MA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20137, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11MACD_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11MACD_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11MACD_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11MACD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MACD_Close(((TA_MACD_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11MACD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11MACD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_signalperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_signalperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20165, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 20165, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20165, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20165, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20165, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 20165, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, i); __PYX_ERR(3, 20165, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 20165, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20165, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20165, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20165, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20165, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20165, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20165, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, __pyx_nargs); __PYX_ERR(3, 20165, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MACD_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11MACD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MACD_Stream *__pyx_v_handle; - double __pyx_v_outmacd; - double __pyx_v_outmacdsignal; - double __pyx_v_outmacdhist; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 20167, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20168, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20169, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20170, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20177, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MACD_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod) + 1); - - __pyx_v_retCode = TA_MACD_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod, (&__pyx_v_outmacd), (&__pyx_v_outmacdsignal), (&__pyx_v_outmacdhist)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MACD_Close(((TA_MACD_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MACD_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MACD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MACD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MACD_Stream_4open_and_fill, "MACD_Stream.open_and_fill(real, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int signalperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11MACD_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MACD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MACD_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11MACD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_signalperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_signalperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20196, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 20196, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20196, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20196, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20196, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 20196, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 4, i); __PYX_ERR(3, 20196, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 20196, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20196, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20196, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20196, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20197, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20197, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20197, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 4, __pyx_nargs); __PYX_ERR(3, 20196, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MACD_Stream_4open_and_fill(__pyx_v_real, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MACD_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outmacd = 0; - PyArrayObject *__pyx_v_outmacdsignal = 0; - PyArrayObject *__pyx_v_outmacdhist = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MACD_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 20199, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20200, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20201, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20202, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MACD_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACD_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20212, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MACD_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20216, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmacd = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20217, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmacdsignal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20218, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmacdhist = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MACD_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacd)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacdsignal)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacdhist)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MACD_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 20230, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmacd)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 20230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 20230, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmacdsignal)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 20230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 20230, __pyx_L1_error); - __pyx_t_15 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmacdhist)); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 20230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 20230, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 20230, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_15); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_15) != (0)) __PYX_ERR(3, 20230, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 20230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 20230, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 20230, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_15; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_15 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("talib._ta_lib.MACD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outmacd); - __Pyx_XDECREF((PyObject *)__pyx_v_outmacdsignal); - __Pyx_XDECREF((PyObject *)__pyx_v_outmacdhist); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MACD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MACD_Stream_6update, "MACD_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11MACD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20232, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20232, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 20232, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 20232, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20232, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20233, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 20232, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MACD_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MACD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outmacd; - double __pyx_v_outmacdsignal; - double __pyx_v_outmacdhist; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MACD_Update(((TA_MACD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outmacd), (&__pyx_v_outmacdsignal), (&__pyx_v_outmacdhist)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACD_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmacd); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20243, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmacdsignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20243, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outmacdhist); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 20243, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 20243, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 20243, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 20243, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 20243, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.MACD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MACD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MACD_Stream_8peek, "MACD_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11MACD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20245, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20245, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 20245, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 20245, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20245, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20246, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 20245, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MACD_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MACD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outmacd; - double __pyx_v_outmacdsignal; - double __pyx_v_outmacdhist; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MACD_Peek(((TA_MACD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outmacd), (&__pyx_v_outmacdsignal), (&__pyx_v_outmacdhist)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACD_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20255, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmacd); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmacdsignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outmacdhist); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 20256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 20256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 20256, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 20256, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 20256, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.MACD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MACD_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MACD_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MACD_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MACD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self) { - double __pyx_v_outmacd; - double __pyx_v_outmacdsignal; - double __pyx_v_outmacdhist; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MACD_Value(((TA_MACD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outmacd), (&__pyx_v_outmacdsignal), (&__pyx_v_outmacdhist)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACD_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmacd); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmacdsignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outmacdhist); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 20269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 20269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 20269, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 20269, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 20269, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.MACD_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MACD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MACD_OutRange(((TA_MACD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MACD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MACD_Advance(((TA_MACD_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MACD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MACD_Stream_10copy, "MACD_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11MACD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MACD_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MACD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_self) { - TA_MACD_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACD_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACD_Stream))))) __PYX_ERR(3, 20280, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MACD_Clone(((TA_MACD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACD_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20290, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MACD_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MACDEXT_Close(((TA_MACDEXT_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_fastperiod; - int __pyx_v_fastmatype; - int __pyx_v_slowperiod; - int __pyx_v_slowmatype; - int __pyx_v_signalperiod; - int __pyx_v_signalmatype; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[7] = {0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_fastmatype,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_slowmatype,&__pyx_mstate_global->__pyx_n_u_signalperiod,&__pyx_mstate_global->__pyx_n_u_signalmatype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20321, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 7: - values[6] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 20321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 20321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 20321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 20321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 20321, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 7, i); __PYX_ERR(3, 20321, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 7: - values[6] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 20321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 20321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 20321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 20321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20321, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20321, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_fastmatype = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastmatype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20321, __pyx_L3_error) - } else { - __pyx_v_fastmatype = ((int)0); - } - if (values[3]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20321, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_slowmatype = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_slowmatype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20321, __pyx_L3_error) - } else { - __pyx_v_slowmatype = ((int)0); - } - if (values[5]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20321, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)-2147483648); - } - if (values[6]) { - __pyx_v_signalmatype = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_signalmatype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20321, __pyx_L3_error) - } else { - __pyx_v_signalmatype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 7, __pyx_nargs); __PYX_ERR(3, 20321, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACDEXT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_fastperiod, __pyx_v_fastmatype, __pyx_v_slowperiod, __pyx_v_slowmatype, __pyx_v_signalperiod, __pyx_v_signalmatype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_fastmatype, int __pyx_v_slowperiod, int __pyx_v_slowmatype, int __pyx_v_signalperiod, int __pyx_v_signalmatype) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MACDEXT_Stream *__pyx_v_handle; - double __pyx_v_outmacd; - double __pyx_v_outmacdsignal; - double __pyx_v_outmacdhist; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20323, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 20323, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20324, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20325, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20326, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20333, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MACDEXT_Lookback(__pyx_v_fastperiod, __pyx_v_fastmatype, __pyx_v_slowperiod, __pyx_v_slowmatype, __pyx_v_signalperiod, __pyx_v_signalmatype) + 1); - - __pyx_v_retCode = TA_MACDEXT_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_fastmatype, __pyx_v_slowperiod, __pyx_v_slowmatype, __pyx_v_signalperiod, __pyx_v_signalmatype, (&__pyx_v_outmacd), (&__pyx_v_outmacdsignal), (&__pyx_v_outmacdhist)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MACDEXT_Close(((TA_MACDEXT_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MACDEXT_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20350, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MACDEXT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14MACDEXT_Stream_4open_and_fill, "MACDEXT_Stream.open_and_fill(real, int fastperiod=-0x80000000, int fastmatype=0, int slowperiod=-0x80000000, int slowmatype=0, int signalperiod=-0x80000000, int signalmatype=0)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_14MACDEXT_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14MACDEXT_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_fastperiod; - int __pyx_v_fastmatype; - int __pyx_v_slowperiod; - int __pyx_v_slowmatype; - int __pyx_v_signalperiod; - int __pyx_v_signalmatype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[7] = {0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_fastmatype,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_slowmatype,&__pyx_mstate_global->__pyx_n_u_signalperiod,&__pyx_mstate_global->__pyx_n_u_signalmatype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20352, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 20352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 20352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 20352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 20352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 20352, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 7, i); __PYX_ERR(3, 20352, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 20352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 20352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 20352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 20352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20352, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20352, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20353, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_fastmatype = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastmatype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20353, __pyx_L3_error) - } else { - __pyx_v_fastmatype = ((int)0); - } - if (values[3]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20353, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_slowmatype = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_slowmatype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20353, __pyx_L3_error) - } else { - __pyx_v_slowmatype = ((int)0); - } - if (values[5]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20353, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)-2147483648); - } - if (values[6]) { - __pyx_v_signalmatype = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_signalmatype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20353, __pyx_L3_error) - } else { - __pyx_v_signalmatype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 7, __pyx_nargs); __PYX_ERR(3, 20352, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACDEXT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_4open_and_fill(__pyx_v_real, __pyx_v_fastperiod, __pyx_v_fastmatype, __pyx_v_slowperiod, __pyx_v_slowmatype, __pyx_v_signalperiod, __pyx_v_signalmatype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_fastmatype, int __pyx_v_slowperiod, int __pyx_v_slowmatype, int __pyx_v_signalperiod, int __pyx_v_signalmatype) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outmacd = 0; - PyArrayObject *__pyx_v_outmacdsignal = 0; - PyArrayObject *__pyx_v_outmacdhist = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MACDEXT_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20354, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20355, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 20355, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20356, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20357, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20358, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MACDEXT_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20368, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MACDEXT_Lookback(__pyx_v_fastperiod, __pyx_v_fastmatype, __pyx_v_slowperiod, __pyx_v_slowmatype, __pyx_v_signalperiod, __pyx_v_signalmatype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20372, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmacd = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20373, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmacdsignal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20374, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmacdhist = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MACDEXT_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_fastmatype, __pyx_v_slowperiod, __pyx_v_slowmatype, __pyx_v_signalperiod, __pyx_v_signalmatype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacd)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacdsignal)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacdhist)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MACDEXT_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 20386, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmacd)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 20386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 20386, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmacdsignal)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 20386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 20386, __pyx_L1_error); - __pyx_t_15 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmacdhist)); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 20386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 20386, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 20386, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_15); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_15) != (0)) __PYX_ERR(3, 20386, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 20386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 20386, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 20386, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_15; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_15 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("talib._ta_lib.MACDEXT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outmacd); - __Pyx_XDECREF((PyObject *)__pyx_v_outmacdsignal); - __Pyx_XDECREF((PyObject *)__pyx_v_outmacdhist); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14MACDEXT_Stream_6update, "MACDEXT_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20388, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20388, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 20388, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 20388, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20388, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20389, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 20388, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACDEXT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outmacd; - double __pyx_v_outmacdsignal; - double __pyx_v_outmacdhist; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MACDEXT_Update(((TA_MACDEXT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outmacd), (&__pyx_v_outmacdsignal), (&__pyx_v_outmacdhist)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACDEXT_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20398, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmacd); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20399, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmacdsignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20399, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outmacdhist); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 20399, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 20399, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 20399, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 20399, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 20399, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.MACDEXT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14MACDEXT_Stream_8peek, "MACDEXT_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20401, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20401, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 20401, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 20401, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20401, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20402, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 20401, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACDEXT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outmacd; - double __pyx_v_outmacdsignal; - double __pyx_v_outmacdhist; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MACDEXT_Peek(((TA_MACDEXT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outmacd), (&__pyx_v_outmacdsignal), (&__pyx_v_outmacdhist)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACDEXT_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmacd); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmacdsignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outmacdhist); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 20412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 20412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 20412, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 20412, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 20412, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.MACDEXT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self) { - double __pyx_v_outmacd; - double __pyx_v_outmacdsignal; - double __pyx_v_outmacdhist; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MACDEXT_Value(((TA_MACDEXT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outmacd), (&__pyx_v_outmacdsignal), (&__pyx_v_outmacdhist)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACDEXT_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20424, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmacd); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20425, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmacdsignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20425, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outmacdhist); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 20425, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 20425, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 20425, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 20425, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 20425, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.MACDEXT_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14MACDEXT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MACDEXT_OutRange(((TA_MACDEXT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14MACDEXT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MACDEXT_Advance(((TA_MACDEXT_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14MACDEXT_Stream_10copy, "MACDEXT_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDEXT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_self) { - TA_MACDEXT_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream))))) __PYX_ERR(3, 20436, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MACDEXT_Clone(((TA_MACDEXT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACDEXT_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MACDEXT_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MACDFIX_Close(((TA_MACDFIX_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_signalperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_signalperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20472, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20472, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20472, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 20472, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 20472, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20472, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20472, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20472, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 20472, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACDFIX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_signalperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_signalperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MACDFIX_Stream *__pyx_v_handle; - double __pyx_v_outmacd; - double __pyx_v_outmacdsignal; - double __pyx_v_outmacdhist; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20473, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20474, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 20474, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20475, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20476, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20477, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20484, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MACDFIX_Lookback(__pyx_v_signalperiod) + 1); - - __pyx_v_retCode = TA_MACDFIX_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_signalperiod, (&__pyx_v_outmacd), (&__pyx_v_outmacdsignal), (&__pyx_v_outmacdhist)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MACDFIX_Close(((TA_MACDFIX_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MACDFIX_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20501, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MACDFIX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14MACDFIX_Stream_4open_and_fill, "MACDFIX_Stream.open_and_fill(real, int signalperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_14MACDFIX_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14MACDFIX_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_signalperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_signalperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20503, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20503, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20503, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 20503, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 20503, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20503, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20503, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20504, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 20503, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACDFIX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_4open_and_fill(__pyx_v_real, __pyx_v_signalperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_signalperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outmacd = 0; - PyArrayObject *__pyx_v_outmacdsignal = 0; - PyArrayObject *__pyx_v_outmacdhist = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MACDFIX_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20506, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 20506, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20507, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20508, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20509, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MACDFIX_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20517, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20519, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MACDFIX_Lookback(__pyx_v_signalperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20523, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmacd = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20524, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmacdsignal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20525, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmacdhist = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MACDFIX_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_signalperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacd)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacdsignal)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmacdhist)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MACDFIX_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20536, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 20537, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmacd)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 20537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 20537, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmacdsignal)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 20537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 20537, __pyx_L1_error); - __pyx_t_15 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmacdhist)); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 20537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 20537, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 20537, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_15); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_15) != (0)) __PYX_ERR(3, 20537, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(3, 20537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 20537, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 20537, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_15; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_15 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("talib._ta_lib.MACDFIX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outmacd); - __Pyx_XDECREF((PyObject *)__pyx_v_outmacdsignal); - __Pyx_XDECREF((PyObject *)__pyx_v_outmacdhist); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14MACDFIX_Stream_6update, "MACDFIX_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20539, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20539, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 20539, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 20539, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20539, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20540, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 20539, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACDFIX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outmacd; - double __pyx_v_outmacdsignal; - double __pyx_v_outmacdhist; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MACDFIX_Update(((TA_MACDFIX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outmacd), (&__pyx_v_outmacdsignal), (&__pyx_v_outmacdhist)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACDFIX_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20549, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmacd); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20550, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmacdsignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20550, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outmacdhist); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 20550, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 20550, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 20550, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 20550, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 20550, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.MACDFIX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14MACDFIX_Stream_8peek, "MACDFIX_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20552, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20552, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 20552, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 20552, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20552, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20553, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 20552, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MACDFIX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outmacd; - double __pyx_v_outmacdsignal; - double __pyx_v_outmacdhist; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MACDFIX_Peek(((TA_MACDFIX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outmacd), (&__pyx_v_outmacdsignal), (&__pyx_v_outmacdhist)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACDFIX_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20562, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmacd); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20563, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmacdsignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20563, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outmacdhist); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 20563, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 20563, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 20563, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 20563, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 20563, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.MACDFIX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self) { - double __pyx_v_outmacd; - double __pyx_v_outmacdsignal; - double __pyx_v_outmacdhist; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MACDFIX_Value(((TA_MACDFIX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outmacd), (&__pyx_v_outmacdsignal), (&__pyx_v_outmacdhist)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACDFIX_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20575, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmacd); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmacdsignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_outmacdhist); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 20576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 20576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 20576, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 20576, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5) != (0)) __PYX_ERR(3, 20576, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.MACDFIX_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14MACDFIX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MACDFIX_OutRange(((TA_MACDFIX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14MACDFIX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MACDFIX_Advance(((TA_MACDFIX_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14MACDFIX_Stream_10copy, "MACDFIX_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14MACDFIX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_self) { - TA_MACDFIX_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20587, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream))))) __PYX_ERR(3, 20587, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MACDFIX_Clone(((TA_MACDFIX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MACDFIX_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20597, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MACDFIX_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11MAMA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11MAMA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11MAMA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11MAMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MAMA_Close(((TA_MAMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11MAMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11MAMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - double __pyx_v_fastlimit; - double __pyx_v_slowlimit; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastlimit,&__pyx_mstate_global->__pyx_n_u_slowlimit,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20623, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 20623, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, i); __PYX_ERR(3, 20623, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20623, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_fastlimit = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_fastlimit == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20623, __pyx_L3_error) - } else { - __pyx_v_fastlimit = ((double)-4e37); - } - if (values[2]) { - __pyx_v_slowlimit = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_slowlimit == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20623, __pyx_L3_error) - } else { - __pyx_v_slowlimit = ((double)-4e37); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 20623, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MAMA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_fastlimit, __pyx_v_slowlimit); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11MAMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, double __pyx_v_fastlimit, double __pyx_v_slowlimit) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MAMA_Stream *__pyx_v_handle; - double __pyx_v_outmama; - double __pyx_v_outfama; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20624, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20625, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 20625, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20626, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20627, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20628, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20634, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MAMA_Lookback(__pyx_v_fastlimit, __pyx_v_slowlimit) + 1); - - __pyx_v_retCode = TA_MAMA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastlimit, __pyx_v_slowlimit, (&__pyx_v_outmama), (&__pyx_v_outfama)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MAMA_Close(((TA_MAMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MAMA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MAMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MAMA_Stream_4open_and_fill, "MAMA_Stream.open_and_fill(real, double fastlimit=-4e37, double slowlimit=-4e37)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11MAMA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MAMA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - double __pyx_v_fastlimit; - double __pyx_v_slowlimit; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastlimit,&__pyx_mstate_global->__pyx_n_u_slowlimit,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20653, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20653, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20653, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20653, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 20653, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, i); __PYX_ERR(3, 20653, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20653, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20653, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20653, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_fastlimit = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_fastlimit == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20654, __pyx_L3_error) - } else { - __pyx_v_fastlimit = ((double)-4e37); - } - if (values[2]) { - __pyx_v_slowlimit = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_slowlimit == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20654, __pyx_L3_error) - } else { - __pyx_v_slowlimit = ((double)-4e37); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 20653, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MAMA_Stream_4open_and_fill(__pyx_v_real, __pyx_v_fastlimit, __pyx_v_slowlimit); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAMA_Stream_4open_and_fill(PyObject *__pyx_v_real, double __pyx_v_fastlimit, double __pyx_v_slowlimit) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outmama = 0; - PyArrayObject *__pyx_v_outfama = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MAMA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20655, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20656, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 20656, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20657, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20658, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20659, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MAMA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20666, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20668, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MAMA_Lookback(__pyx_v_fastlimit, __pyx_v_slowlimit)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20672, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmama = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20673, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outfama = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MAMA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastlimit, __pyx_v_slowlimit, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmama)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outfama)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MAMA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 20685, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmama)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 20685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 20685, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outfama)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 20685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 20685, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 20685, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 20685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 20685, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 20685, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_14; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_14 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib.MAMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outmama); - __Pyx_XDECREF((PyObject *)__pyx_v_outfama); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MAMA_Stream_6update, "MAMA_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20687, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20687, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 20687, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 20687, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20687, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20688, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 20687, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MAMA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outmama; - double __pyx_v_outfama; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MAMA_Update(((TA_MAMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outmama), (&__pyx_v_outfama)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAMA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20696, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmama); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outfama); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 20697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 20697, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 20697, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.MAMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MAMA_Stream_8peek, "MAMA_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20699, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20699, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 20699, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 20699, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20699, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20700, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 20699, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MAMA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outmama; - double __pyx_v_outfama; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MAMA_Peek(((TA_MAMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outmama), (&__pyx_v_outfama)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAMA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20708, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmama); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20709, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outfama); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20709, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 20709, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 20709, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 20709, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.MAMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MAMA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self) { - double __pyx_v_outmama; - double __pyx_v_outfama; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MAMA_Value(((TA_MAMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outmama), (&__pyx_v_outfama)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAMA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20720, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmama); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20721, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outfama); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20721, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 20721, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 20721, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 20721, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.MAMA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MAMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MAMA_OutRange(((TA_MAMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MAMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MAMA_Advance(((TA_MAMA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MAMA_Stream_10copy, "MAMA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MAMA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_self) { - TA_MAMA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20732, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream))))) __PYX_ERR(3, 20732, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MAMA_Clone(((TA_MAMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAMA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20742, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MAMA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MARKETFI_Close(((TA_MARKETFI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20764, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20764, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20764, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20764, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 20764, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, i); __PYX_ERR(3, 20764, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20764, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20764, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20764, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_volume = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 20764, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MARKETFI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MARKETFI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20765, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20766, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20767, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20768, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 20768, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 20768, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 20768, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20769, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20770, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20771, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20776, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MARKETFI_Lookback() + 1); - - __pyx_v_retCode = TA_MARKETFI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MARKETFI_Close(((TA_MARKETFI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MARKETFI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20793, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MARKETFI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MARKETFI_Stream_4open_and_fill, "MARKETFI_Stream.open_and_fill(high, low, volume)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15MARKETFI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MARKETFI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20795, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20795, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20795, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20795, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 20795, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 3, 3, i); __PYX_ERR(3, 20795, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20795, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20795, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20795, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_volume = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 20795, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MARKETFI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MARKETFI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20797, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20799, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20800, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 20800, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 20800, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 20800, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20801, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20802, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20803, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MARKETFI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20811, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MARKETFI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20815, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MARKETFI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MARKETFI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20826, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 20827, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 20827, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_volume) != (0)) __PYX_ERR(3, 20827, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 20827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 20827, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 20827, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MARKETFI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MARKETFI_Stream_6update, "MARKETFI_Stream.update(self, double high, double low, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20829, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20829, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20829, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20829, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 20829, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 20829, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20829, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20829, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20829, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20830, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20830, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20830, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 20829, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MARKETFI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MARKETFI_Update(((TA_MARKETFI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MARKETFI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20837, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MARKETFI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MARKETFI_Stream_8peek, "MARKETFI_Stream.peek(self, double high, double low, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20840, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20840, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20840, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20840, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 20840, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 20840, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20840, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20840, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20840, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20841, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20841, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20841, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 20840, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MARKETFI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MARKETFI_Peek(((TA_MARKETFI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MARKETFI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20848, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20849, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MARKETFI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MARKETFI_Value(((TA_MARKETFI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MARKETFI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20860, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MARKETFI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MARKETFI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MARKETFI_OutRange(((TA_MARKETFI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MARKETFI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MARKETFI_Advance(((TA_MARKETFI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MARKETFI_Stream_10copy, "MARKETFI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MARKETFI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_self) { - TA_MARKETFI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream))))) __PYX_ERR(3, 20871, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MARKETFI_Clone(((TA_MARKETFI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MARKETFI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20881, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MARKETFI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_12MASSI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_12MASSI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_12MASSI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_12MASSI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MASSI_Close(((TA_MASSI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_12MASSI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_12MASSI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20906, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 20906, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20906, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20906, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20906, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 20906, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, i); __PYX_ERR(3, 20906, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 20906, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20906, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20906, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20906, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20906, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20906, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, __pyx_nargs); __PYX_ERR(3, 20906, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MASSI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12MASSI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_fastperiod, __pyx_v_slowperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_12MASSI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MASSI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20907, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20908, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20909, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 20909, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 20909, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20910, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20911, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20912, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20917, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MASSI_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod) + 1); - - __pyx_v_retCode = TA_MASSI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MASSI_Close(((TA_MASSI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MASSI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20934, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MASSI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12MASSI_Stream_4open_and_fill, "MASSI_Stream.open_and_fill(high, low, int fastperiod=-0x80000000, int slowperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_12MASSI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12MASSI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20936, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 20936, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20936, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20936, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20936, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 20936, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 4, i); __PYX_ERR(3, 20936, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 20936, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 20936, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20936, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20936, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20937, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 20937, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 4, __pyx_nargs); __PYX_ERR(3, 20936, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MASSI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12MASSI_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_fastperiod, __pyx_v_slowperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12MASSI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_fastperiod, int __pyx_v_slowperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MASSI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20938, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20939, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20940, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 20940, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 20940, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 20941, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 20942, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 20943, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MASSI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 20951, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MASSI_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20955, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MASSI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MASSI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20966, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20967, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 20967, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 20967, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 20967, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20967, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 20967, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 20967, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MASSI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12MASSI_Stream_6update, "MASSI_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20969, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20969, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20969, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 20969, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 20969, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20969, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20969, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20970, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20970, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 20969, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MASSI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12MASSI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12MASSI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MASSI_Update(((TA_MASSI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MASSI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20977, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20978, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MASSI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12MASSI_Stream_8peek, "MASSI_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 20980, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20980, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20980, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 20980, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 20980, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 20980, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 20980, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20981, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 20981, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 20980, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MASSI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12MASSI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12MASSI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MASSI_Peek(((TA_MASSI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MASSI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20988, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20989, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MASSI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_12MASSI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12MASSI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MASSI_Value(((TA_MASSI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MASSI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 20999, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21000, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MASSI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12MASSI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MASSI_OutRange(((TA_MASSI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12MASSI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MASSI_Advance(((TA_MASSI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12MASSI_Stream_10copy, "MASSI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_12MASSI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12MASSI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_self) { - TA_MASSI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21011, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream))))) __PYX_ERR(3, 21011, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MASSI_Clone(((TA_MASSI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MASSI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21021, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MASSI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11MAVP_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11MAVP_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11MAVP_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11MAVP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MAVP_Close(((TA_MAVP_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11MAVP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11MAVP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - PyObject *__pyx_v_periods = 0; - int __pyx_v_minperiod; - int __pyx_v_maxperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_periods,&__pyx_mstate_global->__pyx_n_u_minperiod,&__pyx_mstate_global->__pyx_n_u_maxperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21048, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 21048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 21048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 21048, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 5, i); __PYX_ERR(3, 21048, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 21048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 21048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21048, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21048, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - __pyx_v_periods = values[1]; - if (values[2]) { - __pyx_v_minperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_minperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21048, __pyx_L3_error) - } else { - __pyx_v_minperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_maxperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_maxperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21048, __pyx_L3_error) - } else { - __pyx_v_maxperiod = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21048, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 5, __pyx_nargs); __PYX_ERR(3, 21048, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAVP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MAVP_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_periods, __pyx_v_minperiod, __pyx_v_maxperiod, __pyx_v_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11MAVP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self, PyObject *__pyx_v_real, PyObject *__pyx_v_periods, int __pyx_v_minperiod, int __pyx_v_maxperiod, int __pyx_v_matype) { - PyArrayObject *__pyx_v_a_real = 0; - PyArrayObject *__pyx_v_a_periods = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MAVP_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21049, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_periods)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21050, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_periods = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21051, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 21051, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_periods); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_periods); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_periods)) != (0)) __PYX_ERR(3, 21051, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21052, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21053, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21054, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21059, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MAVP_Lookback(__pyx_v_minperiod, __pyx_v_maxperiod, __pyx_v_matype) + 1); - - __pyx_v_retCode = TA_MAVP_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_periods)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_minperiod, __pyx_v_maxperiod, __pyx_v_matype, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MAVP_Close(((TA_MAVP_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MAVP_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21076, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MAVP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF((PyObject *)__pyx_v_a_periods); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MAVP_Stream_4open_and_fill, "MAVP_Stream.open_and_fill(real, periods, int minperiod=-0x80000000, int maxperiod=-0x80000000, int matype=0)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11MAVP_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MAVP_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - PyObject *__pyx_v_periods = 0; - int __pyx_v_minperiod; - int __pyx_v_maxperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_periods,&__pyx_mstate_global->__pyx_n_u_minperiod,&__pyx_mstate_global->__pyx_n_u_maxperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21078, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 21078, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 21078, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21078, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21078, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21078, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 21078, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 5, i); __PYX_ERR(3, 21078, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 21078, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 21078, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21078, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21078, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21078, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - __pyx_v_periods = values[1]; - if (values[2]) { - __pyx_v_minperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_minperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21079, __pyx_L3_error) - } else { - __pyx_v_minperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_maxperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_maxperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21079, __pyx_L3_error) - } else { - __pyx_v_maxperiod = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21079, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 5, __pyx_nargs); __PYX_ERR(3, 21078, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAVP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MAVP_Stream_4open_and_fill(__pyx_v_real, __pyx_v_periods, __pyx_v_minperiod, __pyx_v_maxperiod, __pyx_v_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAVP_Stream_4open_and_fill(PyObject *__pyx_v_real, PyObject *__pyx_v_periods, int __pyx_v_minperiod, int __pyx_v_maxperiod, int __pyx_v_matype) { - PyArrayObject *__pyx_v_a_real = 0; - PyArrayObject *__pyx_v_a_periods = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MAVP_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21080, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_periods)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21081, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_periods = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21082, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 21082, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_periods); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_periods); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_periods)) != (0)) __PYX_ERR(3, 21082, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21083, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21084, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21085, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MAVP_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21091, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21093, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MAVP_Lookback(__pyx_v_minperiod, __pyx_v_maxperiod, __pyx_v_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21097, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MAVP_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_periods)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_minperiod, __pyx_v_maxperiod, __pyx_v_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MAVP_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 21109, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_periods); - __Pyx_GIVEREF(__pyx_v_periods); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_periods) != (0)) __PYX_ERR(3, 21109, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 21109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 21109, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 21109, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MAVP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF((PyObject *)__pyx_v_a_periods); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MAVP_Stream_6update, "MAVP_Stream.update(self, double real, double periods)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - double __pyx_v_periods; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_periods,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21111, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21111, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21111, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 21111, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 21111, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21111, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21111, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21112, __pyx_L3_error) - __pyx_v_periods = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_periods == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21112, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 21111, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAVP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MAVP_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_periods); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAVP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self, double __pyx_v_real, double __pyx_v_periods) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MAVP_Update(((TA_MAVP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, __pyx_v_periods, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAVP_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21119, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MAVP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MAVP_Stream_8peek, "MAVP_Stream.peek(self, double real, double periods)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - double __pyx_v_periods; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_periods,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21122, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21122, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21122, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 21122, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 21122, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21122, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21122, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21123, __pyx_L3_error) - __pyx_v_periods = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_periods == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21123, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 21122, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAVP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MAVP_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_periods); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAVP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self, double __pyx_v_real, double __pyx_v_periods) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MAVP_Peek(((TA_MAVP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, __pyx_v_periods, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAVP_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21130, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MAVP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MAVP_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAVP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MAVP_Value(((TA_MAVP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAVP_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21141, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MAVP_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MAVP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MAVP_OutRange(((TA_MAVP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MAVP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MAVP_Advance(((TA_MAVP_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MAVP_Stream_10copy, "MAVP_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MAVP_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MAVP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_self) { - TA_MAVP_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream))))) __PYX_ERR(3, 21153, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MAVP_Clone(((TA_MAVP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAVP_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MAVP_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10MAX_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10MAX_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10MAX_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10MAX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MAX_Close(((TA_MAX_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10MAX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10MAX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21187, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21187, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21187, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 21187, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 21187, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21187, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21187, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21187, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 21187, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MAX_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10MAX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MAX_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21189, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 21189, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21190, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21191, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21192, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21197, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MAX_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_MAX_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MAX_Close(((TA_MAX_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MAX_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MAX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MAX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MAX_Stream_4open_and_fill, "MAX_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10MAX_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MAX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MAX_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10MAX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21216, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21216, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21216, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 21216, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 21216, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21216, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21216, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21217, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 21216, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MAX_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MAX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MAX_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21218, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 21219, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21220, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21221, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21222, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MAX_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAX_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21230, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MAX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21234, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MAX_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MAX_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21245, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 21246, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 21246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 21246, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 21246, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MAX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MAX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MAX_Stream_6update, "MAX_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10MAX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21248, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21248, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 21248, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 21248, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21248, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21249, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 21248, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MAX_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MAX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MAX_Update(((TA_MAX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAX_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21257, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MAX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MAX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MAX_Stream_8peek, "MAX_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10MAX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21259, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21259, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 21259, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 21259, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21259, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21260, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 21259, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MAX_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MAX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MAX_Peek(((TA_MAX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAX_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MAX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MAX_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MAX_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MAX_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MAX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MAX_Value(((TA_MAX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAX_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21278, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21279, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MAX_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MAX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MAX_OutRange(((TA_MAX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MAX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MAX_Advance(((TA_MAX_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MAX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MAX_Stream_10copy, "MAX_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10MAX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MAX_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MAX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_self) { - TA_MAX_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAX_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21290, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAX_Stream))))) __PYX_ERR(3, 21290, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MAX_Clone(((TA_MAX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAX_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21300, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MAX_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MAXINDEX_Close(((TA_MAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21324, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21324, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21324, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 21324, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 21324, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21324, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21324, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21324, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 21324, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAXINDEX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MAXINDEX_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21325, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21326, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 21326, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21327, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21328, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21329, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21334, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MAXINDEX_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_MAXINDEX_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MAXINDEX_Close(((TA_MAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MAXINDEX_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MAXINDEX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MAXINDEX_Stream_4open_and_fill, "MAXINDEX_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15MAXINDEX_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MAXINDEX_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21353, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21353, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21353, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 21353, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 21353, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21353, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21353, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21354, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 21353, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAXINDEX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MAXINDEX_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - npy_intp __pyx_v_i; - int *__pyx_v_outinteger_data; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - npy_intp __pyx_t_13; - npy_intp __pyx_t_14; - npy_intp __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21355, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21356, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 21356, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21357, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21358, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21359, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MAXINDEX_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21365, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21367, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MAXINDEX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21371, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MAXINDEX_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MAXINDEX_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_v_outinteger_data = ((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)); - - - __pyx_t_2 = __pyx_v_length; - __pyx_t_13 = __pyx_t_2; - - for (__pyx_t_14 = __pyx_v_lookback; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { - __pyx_v_i = __pyx_t_14; - - - __pyx_t_15 = __pyx_v_i; - (__pyx_v_outinteger_data[__pyx_t_15]) = ((__pyx_v_outinteger_data[__pyx_t_15]) + __pyx_v_begidx); - } - - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 21387, __pyx_L1_error); - __pyx_t_16 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_16)) __PYX_ERR(3, 21387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 21387, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_16); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_16) != (0)) __PYX_ERR(3, 21387, __pyx_L1_error); - __pyx_t_16 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_AddTraceback("talib._ta_lib.MAXINDEX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MAXINDEX_Stream_6update, "MAXINDEX_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21389, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21389, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 21389, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 21389, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21389, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21390, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 21389, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAXINDEX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self, double __pyx_v_real) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_begidx; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MAXINDEX_Update(((TA_MAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outinteger)); - - __pyx_t_2 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_begidx = __pyx_t_2; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_3 = (__pyx_v_retCode != 0); - - if (__pyx_t_3) { - - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAXINDEX_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21399, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - } - - __pyx_t_4 = __Pyx_PyLong_From_int((__pyx_v_outinteger + __pyx_v_begidx)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21400, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.MAXINDEX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MAXINDEX_Stream_8peek, "MAXINDEX_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21402, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21402, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 21402, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 21402, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21402, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21403, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 21402, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MAXINDEX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self, double __pyx_v_real) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_begidx; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MAXINDEX_Peek(((TA_MAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outinteger)); - - __pyx_t_2 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_begidx = __pyx_t_2; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_3 = (__pyx_v_retCode != 0); - - if (__pyx_t_3) { - - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAXINDEX_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - } - - __pyx_t_4 = __Pyx_PyLong_From_int((__pyx_v_outinteger + __pyx_v_begidx)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21413, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.MAXINDEX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_begidx; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MAXINDEX_Value(((TA_MAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - - __pyx_t_2 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_begidx = __pyx_t_2; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_3 = (__pyx_v_retCode != 0); - - if (__pyx_t_3) { - - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAXINDEX_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21425, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - } - - __pyx_t_4 = __Pyx_PyLong_From_int((__pyx_v_outinteger + __pyx_v_begidx)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.MAXINDEX_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MAXINDEX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MAXINDEX_OutRange(((TA_MAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MAXINDEX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MAXINDEX_Advance(((TA_MAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MAXINDEX_Stream_10copy, "MAXINDEX_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MAXINDEX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_self) { - TA_MAXINDEX_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21437, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream))))) __PYX_ERR(3, 21437, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MAXINDEX_Clone(((TA_MAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MAXINDEX_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MAXINDEX_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MEDPRICE_Close(((TA_MEDPRICE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21469, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21469, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21469, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 21469, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(3, 21469, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21469, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21469, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 21469, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MEDPRICE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MEDPRICE_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21470, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21471, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21472, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 21472, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 21472, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21473, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21474, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21475, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21480, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MEDPRICE_Lookback() + 1); - - __pyx_v_retCode = TA_MEDPRICE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MEDPRICE_Close(((TA_MEDPRICE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MEDPRICE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21497, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MEDPRICE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MEDPRICE_Stream_4open_and_fill, "MEDPRICE_Stream.open_and_fill(high, low)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15MEDPRICE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MEDPRICE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21499, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21499, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21499, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 21499, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, i); __PYX_ERR(3, 21499, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21499, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21499, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 21499, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MEDPRICE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MEDPRICE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21501, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21502, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21503, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 21503, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 21503, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21504, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21505, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21506, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MEDPRICE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21512, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21514, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MEDPRICE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21518, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MEDPRICE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MEDPRICE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21529, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21530, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 21530, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 21530, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 21530, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21530, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 21530, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 21530, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MEDPRICE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MEDPRICE_Stream_6update, "MEDPRICE_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21532, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21532, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21532, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 21532, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 21532, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21532, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21532, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21533, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21533, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 21532, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MEDPRICE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MEDPRICE_Update(((TA_MEDPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MEDPRICE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MEDPRICE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MEDPRICE_Stream_8peek, "MEDPRICE_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21543, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 21543, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 21543, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21543, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21543, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21544, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21544, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 21543, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MEDPRICE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MEDPRICE_Peek(((TA_MEDPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MEDPRICE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21551, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21552, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MEDPRICE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MEDPRICE_Value(((TA_MEDPRICE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MEDPRICE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21562, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21563, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MEDPRICE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MEDPRICE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MEDPRICE_OutRange(((TA_MEDPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MEDPRICE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MEDPRICE_Advance(((TA_MEDPRICE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MEDPRICE_Stream_10copy, "MEDPRICE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MEDPRICE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_self) { - TA_MEDPRICE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21574, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream))))) __PYX_ERR(3, 21574, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MEDPRICE_Clone(((TA_MEDPRICE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MEDPRICE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21584, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MEDPRICE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10MFI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10MFI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10MFI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10MFI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MFI_Close(((TA_MFI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10MFI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10MFI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21608, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 21608, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 21608, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21608, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21608, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21608, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 21608, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, i); __PYX_ERR(3, 21608, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 21608, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 21608, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21608, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21608, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21608, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - __pyx_v_volume = values[3]; - if (values[4]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21608, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 21608, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MFI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MFI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10MFI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MFI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21609, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21610, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21611, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21612, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 21613, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 21613, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 21613, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 21613, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21614, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21615, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21616, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21621, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MFI_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_MFI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MFI_Close(((TA_MFI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MFI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21638, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MFI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MFI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MFI_Stream_4open_and_fill, "MFI_Stream.open_and_fill(high, low, close, volume, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10MFI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MFI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MFI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10MFI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21640, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 21640, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 21640, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21640, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21640, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21640, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 21640, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, i); __PYX_ERR(3, 21640, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 21640, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 21640, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21640, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21640, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21640, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - __pyx_v_volume = values[3]; - if (values[4]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21641, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 4, 5, __pyx_nargs); __PYX_ERR(3, 21640, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MFI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MFI_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MFI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MFI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21644, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21646, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 21646, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 21646, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 21646, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 21646, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21647, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21648, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21649, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MFI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MFI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21655, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21657, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MFI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21661, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MFI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MFI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21672, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21673, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 21673, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 21673, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 21673, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_volume) != (0)) __PYX_ERR(3, 21673, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 21673, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21673, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 21673, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 21673, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MFI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MFI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MFI_Stream_6update, "MFI_Stream.update(self, double high, double low, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10MFI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21675, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 21675, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21675, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21675, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21675, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 21675, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 21675, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21675, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21675, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21675, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 21675, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21676, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21676, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21676, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21676, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 21675, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MFI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MFI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MFI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MFI_Update(((TA_MFI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MFI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21683, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MFI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MFI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MFI_Stream_8peek, "MFI_Stream.peek(self, double high, double low, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10MFI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21686, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 21686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21686, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 21686, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 21686, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21686, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21686, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21686, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 21686, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21687, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21687, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21687, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21687, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 21686, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MFI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MFI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MFI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MFI_Peek(((TA_MFI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MFI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21694, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21695, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MFI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MFI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MFI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MFI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MFI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MFI_Value(((TA_MFI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MFI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21705, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21706, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MFI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MFI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MFI_OutRange(((TA_MFI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MFI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MFI_Advance(((TA_MFI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MFI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MFI_Stream_10copy, "MFI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10MFI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MFI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MFI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_self) { - TA_MFI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MFI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21717, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MFI_Stream))))) __PYX_ERR(3, 21717, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MFI_Clone(((TA_MFI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MFI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21727, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MFI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MIDPOINT_Close(((TA_MIDPOINT_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21751, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21751, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21751, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 21751, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 21751, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21751, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21751, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21751, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 21751, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIDPOINT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MIDPOINT_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21752, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21753, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 21753, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21754, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21755, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21756, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21761, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MIDPOINT_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_MIDPOINT_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MIDPOINT_Close(((TA_MIDPOINT_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MIDPOINT_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21778, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MIDPOINT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MIDPOINT_Stream_4open_and_fill, "MIDPOINT_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15MIDPOINT_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MIDPOINT_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21780, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21780, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21780, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 21780, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 21780, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21780, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21780, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21781, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 21780, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIDPOINT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MIDPOINT_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21782, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21783, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 21783, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21784, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21785, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21786, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MIDPOINT_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21792, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21794, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MIDPOINT_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21798, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MIDPOINT_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MIDPOINT_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 21810, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 21810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 21810, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 21810, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MIDPOINT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MIDPOINT_Stream_6update, "MIDPOINT_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21812, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21812, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 21812, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 21812, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21812, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21813, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 21812, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIDPOINT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MIDPOINT_Update(((TA_MIDPOINT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIDPOINT_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21820, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21821, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MIDPOINT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MIDPOINT_Stream_8peek, "MIDPOINT_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21823, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21823, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 21823, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 21823, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21823, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21824, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 21823, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIDPOINT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MIDPOINT_Peek(((TA_MIDPOINT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIDPOINT_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21831, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21832, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MIDPOINT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MIDPOINT_Value(((TA_MIDPOINT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIDPOINT_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21842, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21843, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MIDPOINT_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MIDPOINT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MIDPOINT_OutRange(((TA_MIDPOINT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MIDPOINT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MIDPOINT_Advance(((TA_MIDPOINT_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MIDPOINT_Stream_10copy, "MIDPOINT_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPOINT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_self) { - TA_MIDPOINT_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream))))) __PYX_ERR(3, 21854, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MIDPOINT_Clone(((TA_MIDPOINT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIDPOINT_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21864, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MIDPOINT_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MIDPRICE_Close(((TA_MIDPRICE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21888, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21888, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21888, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21888, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 21888, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, i); __PYX_ERR(3, 21888, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21888, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21888, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21888, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21888, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 21888, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIDPRICE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MIDPRICE_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21890, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21891, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 21891, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 21891, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21892, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21893, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21894, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21899, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MIDPRICE_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_MIDPRICE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MIDPRICE_Close(((TA_MIDPRICE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MIDPRICE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MIDPRICE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MIDPRICE_Stream_4open_and_fill, "MIDPRICE_Stream.open_and_fill(high, low, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15MIDPRICE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MIDPRICE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21918, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21918, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21918, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21918, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 21918, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, i); __PYX_ERR(3, 21918, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 21918, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21918, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21918, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 21919, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 21918, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIDPRICE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MIDPRICE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21920, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21921, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21922, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 21922, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 21922, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 21923, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 21924, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 21925, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MIDPRICE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21931, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 21933, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MIDPRICE_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21937, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MIDPRICE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MIDPRICE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21948, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 21949, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 21949, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 21949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 21949, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 21949, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MIDPRICE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MIDPRICE_Stream_6update, "MIDPRICE_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21951, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21951, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21951, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 21951, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 21951, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21951, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21951, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21952, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21952, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 21951, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIDPRICE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MIDPRICE_Update(((TA_MIDPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIDPRICE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21960, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MIDPRICE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MIDPRICE_Stream_8peek, "MIDPRICE_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 21962, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21962, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21962, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 21962, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 21962, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 21962, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 21962, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21963, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 21963, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 21962, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIDPRICE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MIDPRICE_Peek(((TA_MIDPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIDPRICE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21970, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21971, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MIDPRICE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MIDPRICE_Value(((TA_MIDPRICE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIDPRICE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21981, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 21982, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MIDPRICE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MIDPRICE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MIDPRICE_OutRange(((TA_MIDPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MIDPRICE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MIDPRICE_Advance(((TA_MIDPRICE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MIDPRICE_Stream_10copy, "MIDPRICE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MIDPRICE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_self) { - TA_MIDPRICE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21993, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream))))) __PYX_ERR(3, 21993, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MIDPRICE_Clone(((TA_MIDPRICE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIDPRICE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MIDPRICE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10MIN_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10MIN_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10MIN_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10MIN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MIN_Close(((TA_MIN_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10MIN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10MIN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22027, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22027, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22027, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 22027, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 22027, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22027, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22027, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22027, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 22027, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MIN_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10MIN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MIN_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22028, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22029, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 22029, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22030, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22031, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22032, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22037, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MIN_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_MIN_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MIN_Close(((TA_MIN_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MIN_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22054, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MIN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MIN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MIN_Stream_4open_and_fill, "MIN_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10MIN_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MIN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MIN_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10MIN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22056, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22056, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22056, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 22056, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 22056, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22056, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22056, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22057, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 22056, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MIN_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MIN_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MIN_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22058, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22059, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 22059, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22060, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22061, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22062, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MIN_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIN_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22068, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22070, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MIN_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22074, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MIN_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MIN_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22085, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22086, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 22086, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 22086, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22086, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 22086, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 22086, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MIN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MIN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MIN_Stream_6update, "MIN_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10MIN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22088, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22088, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 22088, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 22088, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22088, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22089, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 22088, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MIN_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MIN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MIN_Update(((TA_MIN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIN_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22096, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22097, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MIN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MIN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MIN_Stream_8peek, "MIN_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10MIN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22099, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22099, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 22099, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 22099, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22099, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22100, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 22099, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MIN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MIN_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MIN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MIN_Peek(((TA_MIN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIN_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MIN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MIN_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MIN_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MIN_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MIN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MIN_Value(((TA_MIN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIN_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22119, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MIN_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MIN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MIN_OutRange(((TA_MIN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MIN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MIN_Advance(((TA_MIN_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MIN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MIN_Stream_10copy, "MIN_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10MIN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MIN_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MIN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_self) { - TA_MIN_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIN_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22130, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIN_Stream))))) __PYX_ERR(3, 22130, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MIN_Clone(((TA_MIN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MIN_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MIN_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15MININDEX_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15MININDEX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MININDEX_Close(((TA_MININDEX_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22164, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22164, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22164, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 22164, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 22164, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22164, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22164, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22164, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 22164, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MININDEX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MININDEX_Stream *__pyx_v_handle; - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 22166, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22167, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22168, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22169, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22174, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MININDEX_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_MININDEX_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outinteger)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MININDEX_Close(((TA_MININDEX_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MININDEX_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MININDEX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MININDEX_Stream_4open_and_fill, "MININDEX_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15MININDEX_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MININDEX_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22193, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22193, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22193, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 22193, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 22193, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22193, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22193, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22194, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 22193, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MININDEX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outinteger = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MININDEX_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - npy_intp __pyx_v_i; - int *__pyx_v_outinteger_data; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - npy_intp __pyx_t_13; - npy_intp __pyx_t_14; - npy_intp __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 22196, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22197, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22198, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22199, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MININDEX_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22207, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MININDEX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22211, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outinteger = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MININDEX_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MININDEX_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_v_outinteger_data = ((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outinteger)); - - - __pyx_t_2 = __pyx_v_length; - __pyx_t_13 = __pyx_t_2; - - for (__pyx_t_14 = __pyx_v_lookback; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { - __pyx_v_i = __pyx_t_14; - - - __pyx_t_15 = __pyx_v_i; - (__pyx_v_outinteger_data[__pyx_t_15]) = ((__pyx_v_outinteger_data[__pyx_t_15]) + __pyx_v_begidx); - } - - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 22227, __pyx_L1_error); - __pyx_t_16 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outinteger)); if (unlikely(!__pyx_t_16)) __PYX_ERR(3, 22227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 22227, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_16); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_16) != (0)) __PYX_ERR(3, 22227, __pyx_L1_error); - __pyx_t_16 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_AddTraceback("talib._ta_lib.MININDEX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outinteger); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MININDEX_Stream_6update, "MININDEX_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22229, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22229, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 22229, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 22229, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22229, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22230, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 22229, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MININDEX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self, double __pyx_v_real) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_begidx; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MININDEX_Update(((TA_MININDEX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outinteger)); - - __pyx_t_2 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_begidx = __pyx_t_2; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_3 = (__pyx_v_retCode != 0); - - if (__pyx_t_3) { - - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MININDEX_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22239, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - } - - __pyx_t_4 = __Pyx_PyLong_From_int((__pyx_v_outinteger + __pyx_v_begidx)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.MININDEX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MININDEX_Stream_8peek, "MININDEX_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22242, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22242, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 22242, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 22242, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22242, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22243, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 22242, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MININDEX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self, double __pyx_v_real) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_begidx; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MININDEX_Peek(((TA_MININDEX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outinteger)); - - __pyx_t_2 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_begidx = __pyx_t_2; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_3 = (__pyx_v_retCode != 0); - - if (__pyx_t_3) { - - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MININDEX_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - } - - __pyx_t_4 = __Pyx_PyLong_From_int((__pyx_v_outinteger + __pyx_v_begidx)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22253, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.MININDEX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self) { - int __pyx_v_outinteger; - TA_RetCode __pyx_v_retCode; - int __pyx_v_begidx; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MININDEX_Value(((TA_MININDEX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outinteger)); - - __pyx_t_2 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_begidx = __pyx_t_2; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_3 = (__pyx_v_retCode != 0); - - if (__pyx_t_3) { - - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MININDEX_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - } - - __pyx_t_4 = __Pyx_PyLong_From_int((__pyx_v_outinteger + __pyx_v_begidx)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22266, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_4; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_4 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("talib._ta_lib.MININDEX_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MININDEX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MININDEX_OutRange(((TA_MININDEX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MININDEX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MININDEX_Advance(((TA_MININDEX_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MININDEX_Stream_10copy, "MININDEX_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MININDEX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_self) { - TA_MININDEX_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22277, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream))))) __PYX_ERR(3, 22277, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MININDEX_Clone(((TA_MININDEX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MININDEX_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22287, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MININDEX_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_13MINMAX_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_13MINMAX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MINMAX_Close(((TA_MINMAX_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22312, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22312, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22312, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 22312, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 22312, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22312, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22312, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22312, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 22312, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINMAX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MINMAX_Stream *__pyx_v_handle; - double __pyx_v_outmin; - double __pyx_v_outmax; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22313, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22314, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 22314, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22315, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22316, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22317, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22323, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MINMAX_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_MINMAX_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outmin), (&__pyx_v_outmax)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MINMAX_Close(((TA_MINMAX_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MINMAX_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22340, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MINMAX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13MINMAX_Stream_4open_and_fill, "MINMAX_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13MINMAX_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13MINMAX_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22342, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22342, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22342, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 22342, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 22342, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22342, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22342, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22343, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 22342, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINMAX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outmin = 0; - PyArrayObject *__pyx_v_outmax = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MINMAX_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22344, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22345, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 22345, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22346, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22347, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22348, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MINMAX_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22355, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22357, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MINMAX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22361, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmin = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22362, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmax = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MINMAX_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmin)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmax)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MINMAX_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22373, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 22374, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmin)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 22374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 22374, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmax)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 22374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 22374, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 22374, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 22374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 22374, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 22374, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_14; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_14 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib.MINMAX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outmin); - __Pyx_XDECREF((PyObject *)__pyx_v_outmax); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13MINMAX_Stream_6update, "MINMAX_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22376, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22376, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 22376, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 22376, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22376, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22377, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 22376, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINMAX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outmin; - double __pyx_v_outmax; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MINMAX_Update(((TA_MINMAX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outmin), (&__pyx_v_outmax)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINMAX_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmin); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmax); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 22386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 22386, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 22386, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.MINMAX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13MINMAX_Stream_8peek, "MINMAX_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22388, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22388, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 22388, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 22388, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22388, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22389, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 22388, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINMAX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outmin; - double __pyx_v_outmax; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MINMAX_Peek(((TA_MINMAX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outmin), (&__pyx_v_outmax)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINMAX_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22397, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmin); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22398, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmax); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22398, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 22398, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 22398, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 22398, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.MINMAX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self) { - double __pyx_v_outmin; - double __pyx_v_outmax; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MINMAX_Value(((TA_MINMAX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outmin), (&__pyx_v_outmax)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINMAX_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outmin); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22410, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outmax); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22410, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 22410, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 22410, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 22410, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.MINMAX_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13MINMAX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MINMAX_OutRange(((TA_MINMAX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13MINMAX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MINMAX_Advance(((TA_MINMAX_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13MINMAX_Stream_10copy, "MINMAX_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13MINMAX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_self) { - TA_MINMAX_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream))))) __PYX_ERR(3, 22421, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MINMAX_Clone(((TA_MINMAX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINMAX_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MINMAX_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MINMAXINDEX_Close(((TA_MINMAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22456, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22456, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22456, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 22456, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 22456, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22456, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22456, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22456, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 22456, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINMAXINDEX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MINMAXINDEX_Stream *__pyx_v_handle; - int __pyx_v_outminidx; - int __pyx_v_outmaxidx; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22457, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 22458, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22459, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22460, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22461, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22467, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MINMAXINDEX_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_MINMAXINDEX_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outminidx), (&__pyx_v_outmaxidx)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MINMAXINDEX_Close(((TA_MINMAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MINMAXINDEX_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22484, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MINMAXINDEX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18MINMAXINDEX_Stream_4open_and_fill, "MINMAXINDEX_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_18MINMAXINDEX_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18MINMAXINDEX_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22486, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22486, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22486, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 22486, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 22486, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22486, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22486, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22487, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 22486, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINMAXINDEX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outminidx = 0; - PyArrayObject *__pyx_v_outmaxidx = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MINMAXINDEX_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - npy_intp __pyx_v_i; - int *__pyx_v_outminidx_data; - int *__pyx_v_outmaxidx_data; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - npy_intp __pyx_t_13; - npy_intp __pyx_t_14; - npy_intp __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22488, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22489, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 22489, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22490, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22491, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22492, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MINMAXINDEX_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22499, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22501, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MINMAXINDEX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22505, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outminidx = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22506, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outmaxidx = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MINMAXINDEX_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outminidx)) + __pyx_v_lookback), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmaxidx)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MINMAXINDEX_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22517, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_v_outminidx_data = ((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outminidx)); - - - __pyx_t_2 = __pyx_v_length; - __pyx_t_13 = __pyx_t_2; - - for (__pyx_t_14 = __pyx_v_lookback; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { - __pyx_v_i = __pyx_t_14; - - - __pyx_t_15 = __pyx_v_i; - (__pyx_v_outminidx_data[__pyx_t_15]) = ((__pyx_v_outminidx_data[__pyx_t_15]) + __pyx_v_begidx); - } - - - __pyx_v_outmaxidx_data = ((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outmaxidx)); - - - __pyx_t_2 = __pyx_v_length; - __pyx_t_13 = __pyx_t_2; - - for (__pyx_t_14 = __pyx_v_lookback; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { - __pyx_v_i = __pyx_t_14; - - - __pyx_t_15 = __pyx_v_i; - (__pyx_v_outmaxidx_data[__pyx_t_15]) = ((__pyx_v_outmaxidx_data[__pyx_t_15]) + __pyx_v_begidx); - } - - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 22525, __pyx_L1_error); - __pyx_t_16 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outminidx)); if (unlikely(!__pyx_t_16)) __PYX_ERR(3, 22525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 22525, __pyx_L1_error); - __pyx_t_17 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outmaxidx)); if (unlikely(!__pyx_t_17)) __PYX_ERR(3, 22525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_16); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_16) != (0)) __PYX_ERR(3, 22525, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_17); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_17) != (0)) __PYX_ERR(3, 22525, __pyx_L1_error); - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(3, 22525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_17, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 22525, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 22525, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_17; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_17 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_AddTraceback("talib._ta_lib.MINMAXINDEX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outminidx); - __Pyx_XDECREF((PyObject *)__pyx_v_outmaxidx); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18MINMAXINDEX_Stream_6update, "MINMAXINDEX_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22527, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22527, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 22527, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 22527, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22527, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22528, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 22527, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINMAXINDEX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self, double __pyx_v_real) { - int __pyx_v_outminidx; - int __pyx_v_outmaxidx; - TA_RetCode __pyx_v_retCode; - int __pyx_v_begidx; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MINMAXINDEX_Update(((TA_MINMAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outminidx), (&__pyx_v_outmaxidx)); - - __pyx_t_2 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_begidx = __pyx_t_2; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_3 = (__pyx_v_retCode != 0); - - if (__pyx_t_3) { - - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINMAXINDEX_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22538, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - } - - __pyx_t_4 = __Pyx_PyLong_From_int((__pyx_v_outminidx + __pyx_v_begidx)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22539, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyLong_From_int((__pyx_v_outmaxidx + __pyx_v_begidx)); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 22539, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 22539, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4) != (0)) __PYX_ERR(3, 22539, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(3, 22539, __pyx_L1_error); - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.MINMAXINDEX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18MINMAXINDEX_Stream_8peek, "MINMAXINDEX_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22541, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22541, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 22541, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 22541, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22541, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22542, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 22541, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINMAXINDEX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self, double __pyx_v_real) { - int __pyx_v_outminidx; - int __pyx_v_outmaxidx; - TA_RetCode __pyx_v_retCode; - int __pyx_v_begidx; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MINMAXINDEX_Peek(((TA_MINMAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outminidx), (&__pyx_v_outmaxidx)); - - __pyx_t_2 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_begidx = __pyx_t_2; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_3 = (__pyx_v_retCode != 0); - - if (__pyx_t_3) { - - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINMAXINDEX_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22552, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - } - - __pyx_t_4 = __Pyx_PyLong_From_int((__pyx_v_outminidx + __pyx_v_begidx)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22553, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyLong_From_int((__pyx_v_outmaxidx + __pyx_v_begidx)); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 22553, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 22553, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4) != (0)) __PYX_ERR(3, 22553, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(3, 22553, __pyx_L1_error); - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.MINMAXINDEX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self) { - int __pyx_v_outminidx; - int __pyx_v_outmaxidx; - TA_RetCode __pyx_v_retCode; - int __pyx_v_begidx; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MINMAXINDEX_Value(((TA_MINMAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outminidx), (&__pyx_v_outmaxidx)); - - __pyx_t_2 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_begidx = __pyx_t_2; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_3 = (__pyx_v_retCode != 0); - - if (__pyx_t_3) { - - - __pyx_t_4 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINMAXINDEX_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22566, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - } - - __pyx_t_4 = __Pyx_PyLong_From_int((__pyx_v_outminidx + __pyx_v_begidx)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22567, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyLong_From_int((__pyx_v_outmaxidx + __pyx_v_begidx)); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 22567, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 22567, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4) != (0)) __PYX_ERR(3, 22567, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(3, 22567, __pyx_L1_error); - __pyx_t_4 = 0; - __pyx_t_5 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_6; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_6 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("talib._ta_lib.MINMAXINDEX_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18MINMAXINDEX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MINMAXINDEX_OutRange(((TA_MINMAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18MINMAXINDEX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MINMAXINDEX_Advance(((TA_MINMAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18MINMAXINDEX_Stream_10copy, "MINMAXINDEX_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18MINMAXINDEX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_self) { - TA_MINMAXINDEX_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22578, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream))))) __PYX_ERR(3, 22578, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MINMAXINDEX_Clone(((TA_MINMAXINDEX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINMAXINDEX_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22588, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MINMAXINDEX_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MINUS_DI_Close(((TA_MINUS_DI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22612, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 22612, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 22612, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22612, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22612, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 22612, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, i); __PYX_ERR(3, 22612, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 22612, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 22612, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22612, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22612, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22612, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 22612, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINUS_DI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MINUS_DI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22614, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22615, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22616, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 22616, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 22616, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 22616, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22617, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22618, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22619, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22624, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MINUS_DI_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_MINUS_DI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MINUS_DI_Close(((TA_MINUS_DI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MINUS_DI_Stream_4open_and_fill, "MINUS_DI_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15MINUS_DI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MINUS_DI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22643, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 22643, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 22643, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22643, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22643, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 22643, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, i); __PYX_ERR(3, 22643, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 22643, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 22643, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22643, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22643, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22644, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 22643, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINUS_DI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MINUS_DI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22646, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22647, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22648, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 22648, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 22648, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 22648, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22649, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22650, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22651, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MINUS_DI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22659, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MINUS_DI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22663, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MINUS_DI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 22675, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 22675, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 22675, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 22675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 22675, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 22675, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MINUS_DI_Stream_6update, "MINUS_DI_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22677, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 22677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22677, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 22677, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 22677, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22677, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22677, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 22677, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22678, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22678, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22678, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 22677, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINUS_DI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MINUS_DI_Update(((TA_MINUS_DI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22686, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MINUS_DI_Stream_8peek, "MINUS_DI_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22688, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 22688, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22688, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22688, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 22688, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 22688, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22688, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22688, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 22688, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22689, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22689, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22689, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 22688, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINUS_DI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MINUS_DI_Peek(((TA_MINUS_DI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22696, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MINUS_DI_Value(((TA_MINUS_DI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22707, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22708, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MINUS_DI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MINUS_DI_OutRange(((TA_MINUS_DI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MINUS_DI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MINUS_DI_Advance(((TA_MINUS_DI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MINUS_DI_Stream_10copy, "MINUS_DI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_self) { - TA_MINUS_DI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22719, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream))))) __PYX_ERR(3, 22719, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MINUS_DI_Clone(((TA_MINUS_DI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22729, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MINUS_DM_Close(((TA_MINUS_DM_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22753, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 22753, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22753, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22753, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 22753, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, i); __PYX_ERR(3, 22753, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 22753, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22753, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22753, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22753, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 22753, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINUS_DM_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MINUS_DM_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22754, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22755, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22756, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 22756, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 22756, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22757, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22758, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22759, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22764, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MINUS_DM_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_MINUS_DM_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MINUS_DM_Close(((TA_MINUS_DM_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DM_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DM_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MINUS_DM_Stream_4open_and_fill, "MINUS_DM_Stream.open_and_fill(high, low, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15MINUS_DM_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MINUS_DM_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22783, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 22783, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22783, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22783, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 22783, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, i); __PYX_ERR(3, 22783, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 22783, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22783, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22783, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22784, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 22783, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINUS_DM_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MINUS_DM_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22786, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22787, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 22787, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 22787, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22788, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22789, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22790, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MINUS_DM_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22796, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22798, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MINUS_DM_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22802, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MINUS_DM_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DM_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22813, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22814, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 22814, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 22814, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 22814, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22814, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 22814, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 22814, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DM_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MINUS_DM_Stream_6update, "MINUS_DM_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22816, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22816, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22816, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 22816, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 22816, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22816, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22816, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22817, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22817, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 22816, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINUS_DM_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MINUS_DM_Update(((TA_MINUS_DM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DM_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DM_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MINUS_DM_Stream_8peek, "MINUS_DM_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22827, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22827, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22827, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 22827, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 22827, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22827, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22827, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22828, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22828, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 22827, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MINUS_DM_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MINUS_DM_Peek(((TA_MINUS_DM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DM_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22835, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22836, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DM_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MINUS_DM_Value(((TA_MINUS_DM_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DM_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22846, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22847, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DM_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MINUS_DM_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MINUS_DM_OutRange(((TA_MINUS_DM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15MINUS_DM_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MINUS_DM_Advance(((TA_MINUS_DM_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15MINUS_DM_Stream_10copy, "MINUS_DM_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15MINUS_DM_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_self) { - TA_MINUS_DM_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22858, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream))))) __PYX_ERR(3, 22858, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MINUS_DM_Clone(((TA_MINUS_DM_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MINUS_DM_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22868, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MINUS_DM_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10MOM_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10MOM_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10MOM_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10MOM_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MOM_Close(((TA_MOM_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10MOM_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10MOM_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22892, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22892, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22892, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 22892, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 22892, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22892, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22892, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22892, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 22892, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MOM_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MOM_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10MOM_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MOM_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22893, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22894, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 22894, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22895, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22896, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22897, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22902, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MOM_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_MOM_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MOM_Close(((TA_MOM_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MOM_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22919, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MOM_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MOM_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MOM_Stream_4open_and_fill, "MOM_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10MOM_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MOM_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MOM_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10MOM_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22921, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22921, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22921, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 22921, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 22921, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 22921, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22921, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 22922, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 22921, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MOM_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MOM_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MOM_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MOM_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22923, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22924, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 22924, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 22925, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 22926, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 22927, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MOM_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MOM_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 22935, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MOM_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22939, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MOM_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MOM_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22950, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22951, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 22951, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 22951, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22951, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 22951, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 22951, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MOM_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MOM_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MOM_Stream_6update, "MOM_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10MOM_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22953, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22953, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 22953, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 22953, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22953, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22954, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 22953, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MOM_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MOM_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MOM_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MOM_Update(((TA_MOM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MOM_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22961, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22962, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MOM_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MOM_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MOM_Stream_8peek, "MOM_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10MOM_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 22964, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22964, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 22964, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 22964, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 22964, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 22965, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 22964, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MOM_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MOM_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MOM_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MOM_Peek(((TA_MOM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MOM_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22972, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22973, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MOM_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MOM_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MOM_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MOM_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MOM_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MOM_Value(((TA_MOM_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MOM_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22983, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 22984, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MOM_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MOM_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MOM_OutRange(((TA_MOM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10MOM_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MOM_Advance(((TA_MOM_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10MOM_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10MOM_Stream_10copy, "MOM_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10MOM_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10MOM_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10MOM_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_self) { - TA_MOM_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MOM_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22995, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MOM_Stream))))) __PYX_ERR(3, 22995, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MOM_Clone(((TA_MOM_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MOM_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23005, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MOM_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11MULT_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11MULT_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11MULT_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11MULT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_MULT_Close(((TA_MULT_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11MULT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11MULT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real0 = 0; - PyObject *__pyx_v_real1 = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23028, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23028, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23028, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 23028, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(3, 23028, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23028, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23028, __pyx_L3_error) - } - __pyx_v_real0 = values[0]; - __pyx_v_real1 = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 23028, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MULT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MULT_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11MULT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self, PyObject *__pyx_v_real0, PyObject *__pyx_v_real1) { - PyArrayObject *__pyx_v_a_real0 = 0; - PyArrayObject *__pyx_v_a_real1 = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_MULT_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23029, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real0 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23030, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real1 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23031, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real0); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real0)) != (0)) __PYX_ERR(3, 23031, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_real1); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_real1)) != (0)) __PYX_ERR(3, 23031, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23032, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23033, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23034, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23039, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_MULT_Lookback() + 1); - - __pyx_v_retCode = TA_MULT_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real1)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_MULT_Close(((TA_MULT_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MULT_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.MULT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_a_real1); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MULT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MULT_Stream_4open_and_fill, "MULT_Stream.open_and_fill(real0, real1)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11MULT_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MULT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MULT_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11MULT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real0 = 0; - PyObject *__pyx_v_real1 = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23058, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23058, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23058, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 23058, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, i); __PYX_ERR(3, 23058, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23058, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23058, __pyx_L3_error) - } - __pyx_v_real0 = values[0]; - __pyx_v_real1 = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 23058, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MULT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MULT_Stream_4open_and_fill(__pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MULT_Stream_4open_and_fill(PyObject *__pyx_v_real0, PyObject *__pyx_v_real1) { - PyArrayObject *__pyx_v_a_real0 = 0; - PyArrayObject *__pyx_v_a_real1 = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_MULT_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23060, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real0 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23061, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real1 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23062, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real0); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real0)) != (0)) __PYX_ERR(3, 23062, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_real1); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_real1)) != (0)) __PYX_ERR(3, 23062, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23063, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23064, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23065, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_MULT_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MULT_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23071, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23073, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_MULT_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23077, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_MULT_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real1)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_MULT_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23088, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23089, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real0); - __Pyx_GIVEREF(__pyx_v_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real0) != (0)) __PYX_ERR(3, 23089, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_real1); - __Pyx_GIVEREF(__pyx_v_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_real1) != (0)) __PYX_ERR(3, 23089, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 23089, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23089, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 23089, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 23089, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.MULT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_a_real1); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MULT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MULT_Stream_6update, "MULT_Stream.update(self, double real0, double real1)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11MULT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real0; - double __pyx_v_real1; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23091, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23091, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23091, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 23091, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 23091, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23091, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23091, __pyx_L3_error) - } - __pyx_v_real0 = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23092, __pyx_L3_error) - __pyx_v_real1 = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_real1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23092, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 23091, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MULT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MULT_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MULT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MULT_Update(((TA_MULT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real0, __pyx_v_real1, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MULT_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23099, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MULT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MULT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MULT_Stream_8peek, "MULT_Stream.peek(self, double real0, double real1)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11MULT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real0; - double __pyx_v_real1; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23102, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23102, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23102, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 23102, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 23102, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23102, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23102, __pyx_L3_error) - } - __pyx_v_real0 = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23103, __pyx_L3_error) - __pyx_v_real1 = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_real1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23103, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 23102, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.MULT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MULT_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MULT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MULT_Peek(((TA_MULT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real0, __pyx_v_real1, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MULT_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MULT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MULT_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MULT_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MULT_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MULT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_MULT_Value(((TA_MULT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MULT_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23122, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.MULT_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MULT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MULT_OutRange(((TA_MULT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11MULT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_MULT_Advance(((TA_MULT_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11MULT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11MULT_Stream_10copy, "MULT_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11MULT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11MULT_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11MULT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_self) { - TA_MULT_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MULT_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MULT_Stream))))) __PYX_ERR(3, 23133, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_MULT_Clone(((TA_MULT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_MULT_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.MULT_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11NATR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11NATR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11NATR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11NATR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_NATR_Close(((TA_NATR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11NATR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11NATR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23167, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 23167, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23167, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23167, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23167, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 23167, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, i); __PYX_ERR(3, 23167, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 23167, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23167, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23167, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23167, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 23167, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 23167, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.NATR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11NATR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11NATR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_NATR_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23168, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23170, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 23171, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 23171, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 23171, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23172, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23173, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23174, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23179, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_NATR_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_NATR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_NATR_Close(((TA_NATR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_NATR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.NATR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11NATR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11NATR_Stream_4open_and_fill, "NATR_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11NATR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11NATR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11NATR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11NATR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23198, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 23198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 23198, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, i); __PYX_ERR(3, 23198, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 23198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23198, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23198, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23198, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 23199, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 23198, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.NATR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11NATR_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11NATR_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_NATR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23203, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 23203, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 23203, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 23203, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23204, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23205, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23206, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_NATR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NATR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23212, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23214, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_NATR_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23218, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_NATR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_NATR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 23230, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 23230, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 23230, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 23230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 23230, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 23230, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.NATR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11NATR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11NATR_Stream_6update, "NATR_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11NATR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23232, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23232, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23232, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23232, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 23232, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 23232, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23232, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23232, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23232, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23233, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23233, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23233, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 23232, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.NATR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11NATR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11NATR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_NATR_Update(((TA_NATR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_NATR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23241, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.NATR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11NATR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11NATR_Stream_8peek, "NATR_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11NATR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23243, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23243, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23243, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23243, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 23243, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 23243, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23243, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23243, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23243, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23244, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23244, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23244, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 23243, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.NATR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11NATR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11NATR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_NATR_Peek(((TA_NATR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_NATR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.NATR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11NATR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11NATR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11NATR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11NATR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_NATR_Value(((TA_NATR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_NATR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23263, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.NATR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11NATR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_NATR_OutRange(((TA_NATR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11NATR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_NATR_Advance(((TA_NATR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11NATR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11NATR_Stream_10copy, "NATR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11NATR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11NATR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11NATR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_self) { - TA_NATR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NATR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NATR_Stream))))) __PYX_ERR(3, 23274, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_NATR_Clone(((TA_NATR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_NATR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23284, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.NATR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10NVI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10NVI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10NVI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10NVI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_NVI_Close(((TA_NVI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10NVI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10NVI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23306, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23306, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23306, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 23306, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(3, 23306, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23306, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23306, __pyx_L3_error) - } - __pyx_v_close = values[0]; - __pyx_v_volume = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 23306, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.NVI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10NVI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *)__pyx_v_self), __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10NVI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self, PyObject *__pyx_v_close, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_NVI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23308, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 23309, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 23309, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23310, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23311, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23312, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23317, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_NVI_Lookback() + 1); - - __pyx_v_retCode = TA_NVI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_NVI_Close(((TA_NVI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_NVI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23334, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.NVI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10NVI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10NVI_Stream_4open_and_fill, "NVI_Stream.open_and_fill(close, volume)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10NVI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10NVI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10NVI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10NVI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23336, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23336, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23336, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 23336, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, i); __PYX_ERR(3, 23336, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23336, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23336, __pyx_L3_error) - } - __pyx_v_close = values[0]; - __pyx_v_volume = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 23336, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.NVI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10NVI_Stream_4open_and_fill(__pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10NVI_Stream_4open_and_fill(PyObject *__pyx_v_close, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_NVI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23340, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 23340, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 23340, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23341, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23342, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23343, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_NVI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NVI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23349, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23351, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_NVI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23355, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_NVI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_NVI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_close) != (0)) __PYX_ERR(3, 23367, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_volume) != (0)) __PYX_ERR(3, 23367, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 23367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 23367, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 23367, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.NVI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10NVI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10NVI_Stream_6update, "NVI_Stream.update(self, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10NVI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23369, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23369, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23369, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 23369, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 23369, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23369, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23369, __pyx_L3_error) - } - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23370, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23370, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 23369, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.NVI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10NVI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *)__pyx_v_self), __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10NVI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_NVI_Update(((TA_NVI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_NVI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23378, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.NVI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10NVI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10NVI_Stream_8peek, "NVI_Stream.peek(self, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10NVI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23380, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23380, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23380, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 23380, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 23380, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23380, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23380, __pyx_L3_error) - } - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23381, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23381, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 23380, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.NVI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10NVI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *)__pyx_v_self), __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10NVI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_NVI_Peek(((TA_NVI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_NVI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23388, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23389, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.NVI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10NVI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10NVI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10NVI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10NVI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_NVI_Value(((TA_NVI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_NVI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23399, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23400, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.NVI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10NVI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_NVI_OutRange(((TA_NVI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10NVI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_NVI_Advance(((TA_NVI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10NVI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10NVI_Stream_10copy, "NVI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10NVI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10NVI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10NVI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_self) { - TA_NVI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NVI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NVI_Stream))))) __PYX_ERR(3, 23411, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_NVI_Clone(((TA_NVI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_NVI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.NVI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10OBV_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10OBV_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10OBV_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10OBV_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_OBV_Close(((TA_OBV_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10OBV_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10OBV_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23444, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23444, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23444, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 23444, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(3, 23444, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23444, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23444, __pyx_L3_error) - } - __pyx_v_real = values[0]; - __pyx_v_volume = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 23444, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.OBV_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10OBV_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10OBV_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self, PyObject *__pyx_v_real, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_real = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_OBV_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 23447, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 23447, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23448, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23449, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23450, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23455, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_OBV_Lookback() + 1); - - __pyx_v_retCode = TA_OBV_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_OBV_Close(((TA_OBV_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_OBV_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23472, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.OBV_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10OBV_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10OBV_Stream_4open_and_fill, "OBV_Stream.open_and_fill(real, volume)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10OBV_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10OBV_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10OBV_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10OBV_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23474, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23474, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23474, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 23474, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, i); __PYX_ERR(3, 23474, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23474, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23474, __pyx_L3_error) - } - __pyx_v_real = values[0]; - __pyx_v_volume = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 23474, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.OBV_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10OBV_Stream_4open_and_fill(__pyx_v_real, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10OBV_Stream_4open_and_fill(PyObject *__pyx_v_real, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_real = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_OBV_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23476, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23477, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23478, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 23478, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 23478, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23479, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23480, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23481, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_OBV_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_OBV_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23487, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23489, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_OBV_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23493, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_OBV_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_OBV_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23504, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 23505, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_volume) != (0)) __PYX_ERR(3, 23505, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 23505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 23505, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 23505, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.OBV_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10OBV_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10OBV_Stream_6update, "OBV_Stream.update(self, double real, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10OBV_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23507, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23507, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23507, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 23507, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 23507, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23507, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23507, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23508, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23508, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 23507, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.OBV_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10OBV_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10OBV_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self, double __pyx_v_real, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_OBV_Update(((TA_OBV_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_OBV_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23516, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.OBV_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10OBV_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10OBV_Stream_8peek, "OBV_Stream.peek(self, double real, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10OBV_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23518, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23518, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23518, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 23518, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 23518, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23518, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23518, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23519, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23519, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 23518, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.OBV_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10OBV_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10OBV_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self, double __pyx_v_real, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_OBV_Peek(((TA_OBV_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_OBV_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23526, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23527, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.OBV_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10OBV_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10OBV_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10OBV_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10OBV_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_OBV_Value(((TA_OBV_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_OBV_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23538, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.OBV_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10OBV_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_OBV_OutRange(((TA_OBV_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10OBV_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_OBV_Advance(((TA_OBV_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10OBV_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10OBV_Stream_10copy, "OBV_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10OBV_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10OBV_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10OBV_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_self) { - TA_OBV_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_OBV_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23549, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_OBV_Stream))))) __PYX_ERR(3, 23549, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_OBV_Clone(((TA_OBV_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_OBV_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23559, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.OBV_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_PERCENTILE_Close(((TA_PERCENTILE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_percentile; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_percentile,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23584, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23584, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23584, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23584, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 23584, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, i); __PYX_ERR(3, 23584, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23584, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23584, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23584, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 23584, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_percentile = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_percentile == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23584, __pyx_L3_error) - } else { - __pyx_v_percentile = ((double)50.0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 23584, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PERCENTILE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod, __pyx_v_percentile); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_percentile) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_PERCENTILE_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23585, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23586, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 23586, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23587, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23588, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23589, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23594, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_PERCENTILE_Lookback(__pyx_v_timeperiod, __pyx_v_percentile) + 1); - - __pyx_v_retCode = TA_PERCENTILE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_percentile, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_PERCENTILE_Close(((TA_PERCENTILE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PERCENTILE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23611, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PERCENTILE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17PERCENTILE_Stream_4open_and_fill, "PERCENTILE_Stream.open_and_fill(real, int timeperiod=-0x80000000, double percentile=50.0)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_17PERCENTILE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17PERCENTILE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_percentile; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_percentile,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23613, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23613, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23613, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23613, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 23613, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, i); __PYX_ERR(3, 23613, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23613, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23613, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23613, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 23614, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_percentile = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_percentile == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23614, __pyx_L3_error) - } else { - __pyx_v_percentile = ((double)50.0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 23613, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PERCENTILE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod, __pyx_v_percentile); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_percentile) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_PERCENTILE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23615, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23616, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 23616, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23617, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23618, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23619, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_PERCENTILE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23625, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23627, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PERCENTILE_Lookback(__pyx_v_timeperiod, __pyx_v_percentile)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23631, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PERCENTILE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_percentile, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PERCENTILE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 23643, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 23643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 23643, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 23643, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.PERCENTILE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17PERCENTILE_Stream_6update, "PERCENTILE_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23645, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23645, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 23645, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 23645, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23645, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23646, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 23645, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PERCENTILE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PERCENTILE_Update(((TA_PERCENTILE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PERCENTILE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23654, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PERCENTILE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17PERCENTILE_Stream_8peek, "PERCENTILE_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23656, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23656, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 23656, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 23656, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23656, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23657, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 23656, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PERCENTILE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PERCENTILE_Peek(((TA_PERCENTILE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PERCENTILE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23664, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23665, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PERCENTILE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PERCENTILE_Value(((TA_PERCENTILE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PERCENTILE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23676, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PERCENTILE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17PERCENTILE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PERCENTILE_OutRange(((TA_PERCENTILE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17PERCENTILE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PERCENTILE_Advance(((TA_PERCENTILE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17PERCENTILE_Stream_10copy, "PERCENTILE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17PERCENTILE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_self) { - TA_PERCENTILE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23687, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream))))) __PYX_ERR(3, 23687, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_PERCENTILE_Clone(((TA_PERCENTILE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PERCENTILE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.PERCENTILE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_PERCENTRANK_Close(((TA_PERCENTRANK_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23721, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23721, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23721, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 23721, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 23721, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23721, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23721, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 23721, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 23721, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PERCENTRANK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_PERCENTRANK_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23722, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23723, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 23723, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23724, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23725, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23726, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23731, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_PERCENTRANK_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_PERCENTRANK_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_PERCENTRANK_Close(((TA_PERCENTRANK_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PERCENTRANK_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23748, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PERCENTRANK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18PERCENTRANK_Stream_4open_and_fill, "PERCENTRANK_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_18PERCENTRANK_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18PERCENTRANK_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23750, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23750, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23750, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 23750, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 23750, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23750, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23750, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 23751, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 23750, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PERCENTRANK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_PERCENTRANK_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23752, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23753, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 23753, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23754, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23755, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23756, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_PERCENTRANK_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23762, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23764, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PERCENTRANK_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23768, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PERCENTRANK_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PERCENTRANK_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23779, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23780, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 23780, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 23780, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23780, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 23780, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 23780, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.PERCENTRANK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18PERCENTRANK_Stream_6update, "PERCENTRANK_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23782, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23782, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 23782, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 23782, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23782, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23783, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 23782, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PERCENTRANK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PERCENTRANK_Update(((TA_PERCENTRANK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PERCENTRANK_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23790, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23791, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PERCENTRANK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18PERCENTRANK_Stream_8peek, "PERCENTRANK_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23793, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23793, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 23793, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 23793, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23793, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23794, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 23793, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PERCENTRANK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PERCENTRANK_Peek(((TA_PERCENTRANK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PERCENTRANK_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23801, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23802, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PERCENTRANK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PERCENTRANK_Value(((TA_PERCENTRANK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PERCENTRANK_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23812, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23813, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PERCENTRANK_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18PERCENTRANK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PERCENTRANK_OutRange(((TA_PERCENTRANK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_18PERCENTRANK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PERCENTRANK_Advance(((TA_PERCENTRANK_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_18PERCENTRANK_Stream_10copy, "PERCENTRANK_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_18PERCENTRANK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_self) { - TA_PERCENTRANK_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream))))) __PYX_ERR(3, 23824, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_PERCENTRANK_Clone(((TA_PERCENTRANK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PERCENTRANK_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23834, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.PERCENTRANK_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_PLUS_DI_Close(((TA_PLUS_DI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23858, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 23858, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23858, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23858, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23858, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 23858, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, i); __PYX_ERR(3, 23858, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 23858, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23858, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23858, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23858, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 23858, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 23858, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PLUS_DI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_PLUS_DI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23860, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23861, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23862, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 23862, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 23862, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 23862, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23863, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23864, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23865, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23870, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_PLUS_DI_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_PLUS_DI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_PLUS_DI_Close(((TA_PLUS_DI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23887, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14PLUS_DI_Stream_4open_and_fill, "PLUS_DI_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_14PLUS_DI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14PLUS_DI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23889, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 23889, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23889, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23889, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23889, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 23889, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, i); __PYX_ERR(3, 23889, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 23889, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23889, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23889, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23889, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 23890, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 23889, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PLUS_DI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_PLUS_DI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23891, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23892, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23893, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23894, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 23894, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 23894, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 23894, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 23895, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 23896, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 23897, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_PLUS_DI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23903, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 23905, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PLUS_DI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23909, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PLUS_DI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23920, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23921, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 23921, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 23921, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 23921, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 23921, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23921, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 23921, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 23921, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14PLUS_DI_Stream_6update, "PLUS_DI_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23923, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23923, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23923, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23923, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 23923, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 23923, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23923, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23923, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23923, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23924, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23924, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23924, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 23923, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PLUS_DI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PLUS_DI_Update(((TA_PLUS_DI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23931, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23932, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14PLUS_DI_Stream_8peek, "PLUS_DI_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23934, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23934, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23934, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23934, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 23934, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 23934, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23934, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23934, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23934, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23935, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23935, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 23935, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 23934, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PLUS_DI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PLUS_DI_Peek(((TA_PLUS_DI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23942, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23943, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PLUS_DI_Value(((TA_PLUS_DI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23953, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 23954, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14PLUS_DI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PLUS_DI_OutRange(((TA_PLUS_DI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14PLUS_DI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PLUS_DI_Advance(((TA_PLUS_DI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14PLUS_DI_Stream_10copy, "PLUS_DI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_self) { - TA_PLUS_DI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23965, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream))))) __PYX_ERR(3, 23965, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_PLUS_DI_Clone(((TA_PLUS_DI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23975, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_PLUS_DM_Close(((TA_PLUS_DM_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 23999, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23999, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23999, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23999, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 23999, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, i); __PYX_ERR(3, 23999, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 23999, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 23999, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 23999, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 23999, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 23999, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PLUS_DM_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_PLUS_DM_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24000, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24002, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 24002, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 24002, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24003, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24004, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24005, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24010, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_PLUS_DM_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_PLUS_DM_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_PLUS_DM_Close(((TA_PLUS_DM_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DM_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24027, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DM_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14PLUS_DM_Stream_4open_and_fill, "PLUS_DM_Stream.open_and_fill(high, low, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_14PLUS_DM_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14PLUS_DM_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24029, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24029, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24029, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24029, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 24029, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, i); __PYX_ERR(3, 24029, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24029, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24029, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24029, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24030, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 24029, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PLUS_DM_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_PLUS_DM_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24031, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24032, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24033, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 24033, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 24033, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24034, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24035, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24036, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_PLUS_DM_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24042, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24044, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PLUS_DM_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24048, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PLUS_DM_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DM_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24059, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24060, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 24060, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 24060, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 24060, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24060, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 24060, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 24060, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DM_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14PLUS_DM_Stream_6update, "PLUS_DM_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24062, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24062, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24062, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 24062, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 24062, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24062, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24062, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24063, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24063, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 24062, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PLUS_DM_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PLUS_DM_Update(((TA_PLUS_DM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DM_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24070, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24071, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DM_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14PLUS_DM_Stream_8peek, "PLUS_DM_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24073, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 24073, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 24073, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24073, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24073, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24074, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24074, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 24073, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PLUS_DM_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PLUS_DM_Peek(((TA_PLUS_DM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DM_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24081, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24082, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DM_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PLUS_DM_Value(((TA_PLUS_DM_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DM_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24092, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24093, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DM_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14PLUS_DM_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PLUS_DM_OutRange(((TA_PLUS_DM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14PLUS_DM_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PLUS_DM_Advance(((TA_PLUS_DM_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14PLUS_DM_Stream_10copy, "PLUS_DM_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14PLUS_DM_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_self) { - TA_PLUS_DM_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream))))) __PYX_ERR(3, 24104, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_PLUS_DM_Clone(((TA_PLUS_DM_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PLUS_DM_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.PLUS_DM_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10PPO_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10PPO_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10PPO_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10PPO_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_PPO_Close(((TA_PPO_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10PPO_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10PPO_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24140, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 24140, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24140, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24140, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24140, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 24140, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, i); __PYX_ERR(3, 24140, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 24140, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24140, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24140, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24140, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24140, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24140, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24140, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)1); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, __pyx_nargs); __PYX_ERR(3, 24140, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PPO_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PPO_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10PPO_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_PPO_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24141, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 24142, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24143, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24144, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24145, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24150, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_PPO_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype) + 1); - - __pyx_v_retCode = TA_PPO_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_PPO_Close(((TA_PPO_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PPO_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PPO_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PPO_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PPO_Stream_4open_and_fill, "PPO_Stream.open_and_fill(real, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int matype=1)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10PPO_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PPO_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PPO_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10PPO_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24169, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 24169, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24169, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24169, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24169, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 24169, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 4, i); __PYX_ERR(3, 24169, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 24169, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24169, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24169, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24169, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24170, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24170, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24170, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)1); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 4, __pyx_nargs); __PYX_ERR(3, 24169, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PPO_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PPO_Stream_4open_and_fill(__pyx_v_real, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PPO_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_PPO_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 24172, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24173, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24174, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24175, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_PPO_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PPO_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24183, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PPO_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24187, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PPO_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PPO_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 24199, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 24199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 24199, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 24199, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.PPO_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PPO_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PPO_Stream_6update, "PPO_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10PPO_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24201, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24201, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 24201, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 24201, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24201, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24202, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 24201, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PPO_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PPO_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PPO_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PPO_Update(((TA_PPO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PPO_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24209, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PPO_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PPO_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PPO_Stream_8peek, "PPO_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10PPO_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24212, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24212, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 24212, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 24212, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24212, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24213, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 24212, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PPO_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PPO_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PPO_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PPO_Peek(((TA_PPO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PPO_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PPO_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PPO_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PPO_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PPO_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PPO_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PPO_Value(((TA_PPO_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PPO_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24231, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PPO_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PPO_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PPO_OutRange(((TA_PPO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PPO_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PPO_Advance(((TA_PPO_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PPO_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PPO_Stream_10copy, "PPO_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10PPO_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PPO_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PPO_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_self) { - TA_PPO_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PPO_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24243, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PPO_Stream))))) __PYX_ERR(3, 24243, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_PPO_Clone(((TA_PPO_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PPO_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24253, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.PPO_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10PVI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10PVI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10PVI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10PVI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_PVI_Close(((TA_PVI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10PVI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10PVI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24275, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24275, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24275, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 24275, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(3, 24275, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24275, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24275, __pyx_L3_error) - } - __pyx_v_close = values[0]; - __pyx_v_volume = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 24275, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *)__pyx_v_self), __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10PVI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self, PyObject *__pyx_v_close, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_PVI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24277, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24278, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 24278, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 24278, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24279, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24280, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24281, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24286, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_PVI_Lookback() + 1); - - __pyx_v_retCode = TA_PVI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_PVI_Close(((TA_PVI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PVI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24303, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PVI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PVI_Stream_4open_and_fill, "PVI_Stream.open_and_fill(close, volume)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10PVI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24305, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24305, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24305, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 24305, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, i); __PYX_ERR(3, 24305, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24305, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24305, __pyx_L3_error) - } - __pyx_v_close = values[0]; - __pyx_v_volume = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 24305, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVI_Stream_4open_and_fill(__pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVI_Stream_4open_and_fill(PyObject *__pyx_v_close, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_PVI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24308, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 24309, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 24309, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24310, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24311, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24312, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_PVI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24320, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PVI_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24324, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PVI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PVI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24336, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_close) != (0)) __PYX_ERR(3, 24336, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_volume) != (0)) __PYX_ERR(3, 24336, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 24336, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24336, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 24336, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 24336, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.PVI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PVI_Stream_6update, "PVI_Stream.update(self, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24338, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24338, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24338, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 24338, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 24338, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24338, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24338, __pyx_L3_error) - } - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24339, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24339, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 24338, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *)__pyx_v_self), __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PVI_Update(((TA_PVI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24347, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PVI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PVI_Stream_8peek, "PVI_Stream.peek(self, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24349, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 24349, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 24349, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24349, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24349, __pyx_L3_error) - } - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24350, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24350, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 24349, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *)__pyx_v_self), __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PVI_Peek(((TA_PVI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24357, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24358, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PVI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PVI_Value(((TA_PVI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24368, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PVI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PVI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PVI_OutRange(((TA_PVI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PVI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PVI_Advance(((TA_PVI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PVI_Stream_10copy, "PVI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_self) { - TA_PVI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24380, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVI_Stream))))) __PYX_ERR(3, 24380, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_PVI_Clone(((TA_PVI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24390, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.PVI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10PVO_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10PVO_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10PVO_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10PVO_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_PVO_Close(((TA_PVO_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10PVO_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10PVO_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_volume = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24416, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 24416, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24416, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24416, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24416, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 24416, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, i); __PYX_ERR(3, 24416, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 24416, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24416, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24416, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24416, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_volume = values[0]; - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24416, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24416, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24416, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)1); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, __pyx_nargs); __PYX_ERR(3, 24416, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVO_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVO_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *)__pyx_v_self), __pyx_v_volume, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10PVO_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self, PyObject *__pyx_v_volume, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype) { - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_PVO_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24418, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 24418, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24419, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24420, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24421, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24426, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_PVO_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype) + 1); - - __pyx_v_retCode = TA_PVO_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_PVO_Close(((TA_PVO_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PVO_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24443, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PVO_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVO_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PVO_Stream_4open_and_fill, "PVO_Stream.open_and_fill(volume, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int matype=1)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10PVO_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVO_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVO_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVO_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_volume = 0; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24445, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 24445, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24445, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24445, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24445, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 24445, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 4, i); __PYX_ERR(3, 24445, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 24445, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24445, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24445, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24445, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_volume = values[0]; - if (values[1]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24446, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24446, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_matype = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24446, __pyx_L3_error) - } else { - __pyx_v_matype = ((int)1); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 4, __pyx_nargs); __PYX_ERR(3, 24445, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVO_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVO_Stream_4open_and_fill(__pyx_v_volume, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVO_Stream_4open_and_fill(PyObject *__pyx_v_volume, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_matype) { - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_PVO_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 24448, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24449, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24450, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24451, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_PVO_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVO_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24457, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24459, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PVO_Lookback(__pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24463, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PVO_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PVO_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24474, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_volume) != (0)) __PYX_ERR(3, 24475, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 24475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 24475, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 24475, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.PVO_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVO_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PVO_Stream_6update, "PVO_Stream.update(self, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVO_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24477, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24477, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 24477, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 24477, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24477, __pyx_L3_error) - } - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24478, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 24477, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVO_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVO_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *)__pyx_v_self), __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVO_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PVO_Update(((TA_PVO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVO_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24485, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24486, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PVO_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVO_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PVO_Stream_8peek, "PVO_Stream.peek(self, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVO_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24488, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24488, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 24488, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 24488, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24488, __pyx_L3_error) - } - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24489, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 24488, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVO_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVO_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *)__pyx_v_self), __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVO_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PVO_Peek(((TA_PVO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVO_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24496, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24497, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PVO_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVO_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVO_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVO_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVO_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PVO_Value(((TA_PVO_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVO_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24507, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24508, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PVO_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PVO_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PVO_OutRange(((TA_PVO_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PVO_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PVO_Advance(((TA_PVO_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVO_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PVO_Stream_10copy, "PVO_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVO_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVO_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVO_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_self) { - TA_PVO_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVO_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24519, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVO_Stream))))) __PYX_ERR(3, 24519, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_PVO_Clone(((TA_PVO_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVO_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24529, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.PVO_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10PVT_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10PVT_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10PVT_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10PVT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_PVT_Close(((TA_PVT_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10PVT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10PVT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24551, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24551, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24551, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 24551, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(3, 24551, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24551, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24551, __pyx_L3_error) - } - __pyx_v_close = values[0]; - __pyx_v_volume = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 24551, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVT_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *)__pyx_v_self), __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10PVT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self, PyObject *__pyx_v_close, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_PVT_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24552, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24553, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24554, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 24554, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 24554, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24555, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24556, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24557, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24562, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_PVT_Lookback() + 1); - - __pyx_v_retCode = TA_PVT_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_PVT_Close(((TA_PVT_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PVT_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.PVT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PVT_Stream_4open_and_fill, "PVT_Stream.open_and_fill(close, volume)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10PVT_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVT_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24581, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24581, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24581, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 24581, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, i); __PYX_ERR(3, 24581, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24581, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24581, __pyx_L3_error) - } - __pyx_v_close = values[0]; - __pyx_v_volume = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 24581, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVT_Stream_4open_and_fill(__pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVT_Stream_4open_and_fill(PyObject *__pyx_v_close, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_PVT_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24583, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24584, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24585, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 24585, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 24585, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24586, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24587, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24588, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_PVT_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVT_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24594, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24596, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_PVT_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24600, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_PVT_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_PVT_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24611, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24612, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_close) != (0)) __PYX_ERR(3, 24612, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_volume) != (0)) __PYX_ERR(3, 24612, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 24612, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24612, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 24612, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 24612, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.PVT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PVT_Stream_6update, "PVT_Stream.update(self, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24614, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24614, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24614, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 24614, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 24614, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24614, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24614, __pyx_L3_error) - } - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24615, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24615, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 24614, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVT_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *)__pyx_v_self), __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PVT_Update(((TA_PVT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVT_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24622, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24623, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PVT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PVT_Stream_8peek, "PVT_Stream.peek(self, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24625, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24625, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24625, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 24625, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 24625, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24625, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24625, __pyx_L3_error) - } - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24626, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24626, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 24625, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.PVT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVT_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *)__pyx_v_self), __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PVT_Peek(((TA_PVT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVT_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24633, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24634, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PVT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVT_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVT_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVT_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_PVT_Value(((TA_PVT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVT_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24644, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.PVT_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PVT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PVT_OutRange(((TA_PVT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10PVT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_PVT_Advance(((TA_PVT_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10PVT_Stream_10copy, "PVT_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10PVT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10PVT_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10PVT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_self) { - TA_PVT_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVT_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24656, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVT_Stream))))) __PYX_ERR(3, 24656, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_PVT_Clone(((TA_PVT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_PVT_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24666, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.PVT_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_13QSTICK_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_13QSTICK_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_QSTICK_Close(((TA_QSTICK_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24690, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24690, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24690, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24690, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 24690, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, i); __PYX_ERR(3, 24690, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24690, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24690, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24690, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_close = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24690, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 24690, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.QSTICK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self, PyObject *__pyx_v_open, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_QSTICK_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24691, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24692, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24693, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 24693, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 24693, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24694, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24695, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24696, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24701, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_QSTICK_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_QSTICK_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_QSTICK_Close(((TA_QSTICK_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_QSTICK_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24718, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.QSTICK_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13QSTICK_Stream_4open_and_fill, "QSTICK_Stream.open_and_fill(open, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13QSTICK_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13QSTICK_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_open = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24720, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24720, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24720, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24720, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 24720, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, i); __PYX_ERR(3, 24720, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 24720, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24720, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24720, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_open = values[0]; - __pyx_v_close = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24721, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 24720, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.QSTICK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_4open_and_fill(__pyx_v_open, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_4open_and_fill(PyObject *__pyx_v_open, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_open = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_QSTICK_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24722, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_open = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24723, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24724, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_open); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_open)) != (0)) __PYX_ERR(3, 24724, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 24724, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24725, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24726, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24727, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_QSTICK_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24733, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24735, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_QSTICK_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24739, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_QSTICK_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_open)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_QSTICK_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24751, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_open); - __Pyx_GIVEREF(__pyx_v_open); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_open) != (0)) __PYX_ERR(3, 24751, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_close) != (0)) __PYX_ERR(3, 24751, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 24751, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24751, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 24751, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 24751, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.QSTICK_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_open); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13QSTICK_Stream_6update, "QSTICK_Stream.update(self, double open, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24753, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24753, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24753, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 24753, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 24753, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24753, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24753, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24754, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24754, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 24753, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.QSTICK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_QSTICK_Update(((TA_QSTICK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_QSTICK_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24761, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24762, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.QSTICK_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13QSTICK_Stream_8peek, "QSTICK_Stream.peek(self, double open, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_open; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_open,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24764, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24764, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24764, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 24764, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 24764, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24764, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24764, __pyx_L3_error) - } - __pyx_v_open = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_open == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24765, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24765, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 24764, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.QSTICK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *)__pyx_v_self), __pyx_v_open, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self, double __pyx_v_open, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_QSTICK_Peek(((TA_QSTICK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_open, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_QSTICK_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24773, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.QSTICK_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_QSTICK_Value(((TA_QSTICK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_QSTICK_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24783, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24784, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.QSTICK_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13QSTICK_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_QSTICK_OutRange(((TA_QSTICK_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13QSTICK_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_QSTICK_Advance(((TA_QSTICK_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13QSTICK_Stream_10copy, "QSTICK_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13QSTICK_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_self) { - TA_QSTICK_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24795, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream))))) __PYX_ERR(3, 24795, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_QSTICK_Clone(((TA_QSTICK_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_QSTICK_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24805, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.QSTICK_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10RMA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10RMA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10RMA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10RMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_RMA_Close(((TA_RMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10RMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10RMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24829, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24829, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24829, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 24829, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 24829, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24829, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24829, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24829, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 24829, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RMA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10RMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_RMA_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24830, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24831, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 24831, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24832, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24833, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24834, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24839, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_RMA_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_RMA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_RMA_Close(((TA_RMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_RMA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24856, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.RMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10RMA_Stream_4open_and_fill, "RMA_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10RMA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RMA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10RMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24858, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24858, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24858, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 24858, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 24858, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24858, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24858, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24859, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 24858, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RMA_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_RMA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24860, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24861, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 24861, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24862, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24863, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24864, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_RMA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RMA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24870, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24872, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_RMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24876, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_RMA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_RMA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24887, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24888, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 24888, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 24888, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24888, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 24888, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 24888, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.RMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10RMA_Stream_6update, "RMA_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10RMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24890, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24890, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 24890, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 24890, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24890, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24891, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 24890, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RMA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_RMA_Update(((TA_RMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RMA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24898, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24899, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.RMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10RMA_Stream_8peek, "RMA_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10RMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24901, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24901, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 24901, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 24901, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24901, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 24902, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 24901, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RMA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_RMA_Peek(((TA_RMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RMA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24909, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24910, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.RMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RMA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RMA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RMA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_RMA_Value(((TA_RMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RMA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24920, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 24921, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.RMA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10RMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_RMA_OutRange(((TA_RMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10RMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_RMA_Advance(((TA_RMA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10RMA_Stream_10copy, "RMA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10RMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RMA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_self) { - TA_RMA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RMA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24932, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RMA_Stream))))) __PYX_ERR(3, 24932, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_RMA_Clone(((TA_RMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RMA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24942, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.RMA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10ROC_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10ROC_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10ROC_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10ROC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ROC_Close(((TA_ROC_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10ROC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10ROC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24966, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24966, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24966, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 24966, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 24966, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24966, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24966, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24966, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 24966, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ROC_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10ROC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ROC_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24967, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24968, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 24968, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24969, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 24970, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24971, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 24976, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ROC_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_ROC_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ROC_Close(((TA_ROC_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ROC_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24993, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ROC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ROC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ROC_Stream_4open_and_fill, "ROC_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10ROC_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ROC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ROC_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10ROC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 24995, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24995, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24995, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 24995, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 24995, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 24995, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 24995, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 24996, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 24995, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ROC_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ROC_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ROC_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24997, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24998, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 24998, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 24999, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25000, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25001, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ROC_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROC_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25007, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25009, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ROC_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25013, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ROC_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ROC_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25024, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 25025, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 25025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 25025, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 25025, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ROC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ROC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ROC_Stream_6update, "ROC_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ROC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25027, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25027, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 25027, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 25027, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25027, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25028, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25027, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ROC_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ROC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ROC_Update(((TA_ROC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROC_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25035, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25036, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ROC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ROC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ROC_Stream_8peek, "ROC_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ROC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25038, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25038, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 25038, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 25038, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25038, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25039, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25038, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ROC_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ROC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ROC_Peek(((TA_ROC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROC_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25046, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25047, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ROC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ROC_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ROC_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ROC_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ROC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ROC_Value(((TA_ROC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROC_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25057, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25058, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ROC_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ROC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ROC_OutRange(((TA_ROC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10ROC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ROC_Advance(((TA_ROC_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10ROC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10ROC_Stream_10copy, "ROC_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10ROC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10ROC_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10ROC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_self) { - TA_ROC_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROC_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25069, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROC_Stream))))) __PYX_ERR(3, 25069, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ROC_Clone(((TA_ROC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROC_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25079, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ROC_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11ROCP_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11ROCP_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11ROCP_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11ROCP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ROCP_Close(((TA_ROCP_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11ROCP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11ROCP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25103, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 25103, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 25103, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25103, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25103, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 25103, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ROCP_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11ROCP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ROCP_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25105, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 25105, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25106, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25107, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25108, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25113, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ROCP_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_ROCP_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ROCP_Close(((TA_ROCP_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ROCP_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25130, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ROCP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ROCP_Stream_4open_and_fill, "ROCP_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11ROCP_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ROCP_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25132, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25132, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25132, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 25132, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 25132, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25132, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25132, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25133, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 25132, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ROCP_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCP_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ROCP_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 25135, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25136, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25137, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25138, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ROCP_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25146, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ROCP_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25150, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ROCP_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ROCP_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25161, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 25162, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 25162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 25162, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 25162, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ROCP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ROCP_Stream_6update, "ROCP_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25164, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25164, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 25164, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 25164, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25164, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25165, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25164, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ROCP_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ROCP_Update(((TA_ROCP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCP_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ROCP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ROCP_Stream_8peek, "ROCP_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25175, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25175, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 25175, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 25175, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25175, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25176, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25175, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ROCP_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ROCP_Peek(((TA_ROCP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCP_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ROCP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ROCP_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ROCP_Value(((TA_ROCP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCP_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ROCP_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ROCP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ROCP_OutRange(((TA_ROCP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ROCP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ROCP_Advance(((TA_ROCP_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ROCP_Stream_10copy, "ROCP_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ROCP_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_self) { - TA_ROCP_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream))))) __PYX_ERR(3, 25206, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ROCP_Clone(((TA_ROCP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCP_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ROCP_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11ROCR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11ROCR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11ROCR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11ROCR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ROCR_Close(((TA_ROCR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11ROCR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11ROCR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25240, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25240, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25240, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 25240, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 25240, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25240, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25240, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25240, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 25240, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ROCR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11ROCR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ROCR_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25241, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 25242, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25243, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25244, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25245, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25250, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ROCR_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_ROCR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ROCR_Close(((TA_ROCR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ROCR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ROCR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ROCR_Stream_4open_and_fill, "ROCR_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11ROCR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ROCR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25269, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25269, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25269, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 25269, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 25269, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25269, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25269, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25270, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 25269, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ROCR_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCR_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ROCR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25271, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 25272, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25273, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25274, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25275, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ROCR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25281, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25283, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ROCR_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25287, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ROCR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ROCR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25299, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 25299, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 25299, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25299, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 25299, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 25299, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ROCR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ROCR_Stream_6update, "ROCR_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25301, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25301, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 25301, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 25301, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25301, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25302, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25301, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ROCR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ROCR_Update(((TA_ROCR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25310, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ROCR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ROCR_Stream_8peek, "ROCR_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25312, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25312, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 25312, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 25312, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25312, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25313, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25312, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ROCR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ROCR_Peek(((TA_ROCR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25320, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25321, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ROCR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ROCR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ROCR_Value(((TA_ROCR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25331, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ROCR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ROCR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ROCR_OutRange(((TA_ROCR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11ROCR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ROCR_Advance(((TA_ROCR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11ROCR_Stream_10copy, "ROCR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11ROCR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11ROCR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_self) { - TA_ROCR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream))))) __PYX_ERR(3, 25343, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ROCR_Clone(((TA_ROCR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ROCR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_14ROCR100_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_14ROCR100_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ROCR100_Close(((TA_ROCR100_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25377, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25377, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25377, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 25377, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 25377, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25377, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25377, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25377, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 25377, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCR100_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ROCR100_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25378, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25379, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 25379, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25380, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25381, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25382, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25387, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ROCR100_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_ROCR100_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ROCR100_Close(((TA_ROCR100_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ROCR100_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25404, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ROCR100_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14ROCR100_Stream_4open_and_fill, "ROCR100_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_14ROCR100_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14ROCR100_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25406, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25406, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25406, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 25406, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 25406, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25406, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25406, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25407, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 25406, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCR100_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ROCR100_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 25409, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25410, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25411, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25412, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ROCR100_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25418, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25420, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ROCR100_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25424, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ROCR100_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ROCR100_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25435, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 25436, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 25436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 25436, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 25436, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ROCR100_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14ROCR100_Stream_6update, "ROCR100_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25438, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25438, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 25438, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 25438, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25438, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25439, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25438, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCR100_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ROCR100_Update(((TA_ROCR100_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCR100_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ROCR100_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14ROCR100_Stream_8peek, "ROCR100_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25449, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25449, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 25449, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 25449, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25449, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25450, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25449, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ROCR100_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ROCR100_Peek(((TA_ROCR100_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCR100_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25457, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ROCR100_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ROCR100_Value(((TA_ROCR100_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCR100_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25468, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25469, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ROCR100_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14ROCR100_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ROCR100_OutRange(((TA_ROCR100_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_14ROCR100_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ROCR100_Advance(((TA_ROCR100_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_14ROCR100_Stream_10copy, "ROCR100_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_14ROCR100_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_self) { - TA_ROCR100_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream))))) __PYX_ERR(3, 25480, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ROCR100_Clone(((TA_ROCR100_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ROCR100_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ROCR100_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10RSI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10RSI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10RSI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10RSI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_RSI_Close(((TA_RSI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10RSI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10RSI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25514, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25514, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25514, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 25514, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 25514, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25514, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25514, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25514, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 25514, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RSI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RSI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10RSI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_RSI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25516, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 25516, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25517, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25518, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25519, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25524, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_RSI_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_RSI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_RSI_Close(((TA_RSI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_RSI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.RSI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RSI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10RSI_Stream_4open_and_fill, "RSI_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10RSI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RSI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RSI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10RSI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25543, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 25543, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 25543, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25543, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25544, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 25543, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RSI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RSI_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RSI_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_RSI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25546, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 25546, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25547, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25548, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25549, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_RSI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RSI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25555, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25557, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_RSI_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25561, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_RSI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_RSI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25573, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 25573, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 25573, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25573, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 25573, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 25573, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.RSI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RSI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10RSI_Stream_6update, "RSI_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10RSI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25575, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25575, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 25575, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 25575, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25575, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25576, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25575, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RSI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RSI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RSI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_RSI_Update(((TA_RSI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RSI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25583, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25584, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.RSI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RSI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10RSI_Stream_8peek, "RSI_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10RSI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25586, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25586, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 25586, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 25586, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25586, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25587, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25586, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RSI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RSI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RSI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_RSI_Peek(((TA_RSI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RSI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25594, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25595, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.RSI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RSI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RSI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RSI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RSI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_RSI_Value(((TA_RSI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RSI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25605, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25606, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.RSI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10RSI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_RSI_OutRange(((TA_RSI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10RSI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_RSI_Advance(((TA_RSI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RSI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10RSI_Stream_10copy, "RSI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10RSI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RSI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RSI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_self) { - TA_RSI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RSI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RSI_Stream))))) __PYX_ERR(3, 25617, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_RSI_Clone(((TA_RSI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RSI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25627, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.RSI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10RVI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10RVI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10RVI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10RVI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_RVI_Close(((TA_RVI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10RVI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10RVI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - int __pyx_v_stddevperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_stddevperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25652, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 25652, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25652, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25652, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 25652, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, i); __PYX_ERR(3, 25652, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 25652, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25652, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25652, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25652, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_stddevperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_stddevperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25652, __pyx_L3_error) - } else { - __pyx_v_stddevperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 25652, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RVI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RVI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod, __pyx_v_stddevperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10RVI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_stddevperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_RVI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25654, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 25654, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25655, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25656, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25657, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25662, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_RVI_Lookback(__pyx_v_timeperiod, __pyx_v_stddevperiod) + 1); - - __pyx_v_retCode = TA_RVI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_stddevperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_RVI_Close(((TA_RVI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_RVI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25679, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.RVI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RVI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10RVI_Stream_4open_and_fill, "RVI_Stream.open_and_fill(real, int timeperiod=-0x80000000, int stddevperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10RVI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RVI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RVI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10RVI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - int __pyx_v_stddevperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_stddevperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25681, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 25681, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25681, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25681, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 25681, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, i); __PYX_ERR(3, 25681, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 25681, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25681, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25681, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25682, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_stddevperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_stddevperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25682, __pyx_L3_error) - } else { - __pyx_v_stddevperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 25681, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RVI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RVI_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod, __pyx_v_stddevperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RVI_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_stddevperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_RVI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25683, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 25684, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25685, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25686, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25687, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_RVI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25693, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25695, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_RVI_Lookback(__pyx_v_timeperiod, __pyx_v_stddevperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25699, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_RVI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_stddevperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_RVI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25711, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 25711, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 25711, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25711, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 25711, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 25711, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.RVI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RVI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10RVI_Stream_6update, "RVI_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10RVI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25713, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25713, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 25713, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 25713, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25713, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25714, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25713, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RVI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RVI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RVI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_RVI_Update(((TA_RVI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RVI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25721, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25722, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.RVI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RVI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10RVI_Stream_8peek, "RVI_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10RVI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25724, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25724, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 25724, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 25724, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25724, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25725, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25724, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RVI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RVI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RVI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_RVI_Peek(((TA_RVI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RVI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25732, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25733, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.RVI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RVI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RVI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RVI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RVI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_RVI_Value(((TA_RVI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RVI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25743, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.RVI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10RVI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_RVI_OutRange(((TA_RVI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10RVI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_RVI_Advance(((TA_RVI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10RVI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10RVI_Stream_10copy, "RVI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10RVI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10RVI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10RVI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_self) { - TA_RVI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25755, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVI_Stream))))) __PYX_ERR(3, 25755, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_RVI_Clone(((TA_RVI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RVI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25765, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.RVI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11RVOL_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11RVOL_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11RVOL_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11RVOL_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_RVOL_Close(((TA_RVOL_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11RVOL_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11RVOL_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25789, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25789, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25789, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 25789, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 25789, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25789, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25789, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_volume = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25789, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 25789, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RVOL_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11RVOL_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *)__pyx_v_self), __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11RVOL_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self, PyObject *__pyx_v_volume, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_RVOL_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25790, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25791, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 25791, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25792, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25793, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25794, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25799, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_RVOL_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_RVOL_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_RVOL_Close(((TA_RVOL_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_RVOL_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25816, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.RVOL_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11RVOL_Stream_4open_and_fill, "RVOL_Stream.open_and_fill(volume, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11RVOL_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11RVOL_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25818, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25818, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25818, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 25818, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 25818, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25818, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25818, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_volume = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 25819, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 25818, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RVOL_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11RVOL_Stream_4open_and_fill(__pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11RVOL_Stream_4open_and_fill(PyObject *__pyx_v_volume, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_RVOL_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25820, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25821, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 25821, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25822, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25823, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25824, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_RVOL_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25830, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25832, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_RVOL_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25836, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_RVOL_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_RVOL_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25847, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25848, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_volume) != (0)) __PYX_ERR(3, 25848, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 25848, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25848, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 25848, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 25848, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.RVOL_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11RVOL_Stream_6update, "RVOL_Stream.update(self, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25850, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25850, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 25850, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 25850, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25850, __pyx_L3_error) - } - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25851, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25850, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RVOL_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11RVOL_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *)__pyx_v_self), __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11RVOL_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_RVOL_Update(((TA_RVOL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RVOL_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25858, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.RVOL_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11RVOL_Stream_8peek, "RVOL_Stream.peek(self, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25861, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25861, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 25861, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 25861, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25861, __pyx_L3_error) - } - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25862, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 25861, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.RVOL_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11RVOL_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *)__pyx_v_self), __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11RVOL_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_RVOL_Peek(((TA_RVOL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RVOL_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25869, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25870, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.RVOL_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11RVOL_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11RVOL_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_RVOL_Value(((TA_RVOL_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RVOL_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25880, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25881, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.RVOL_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11RVOL_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_RVOL_OutRange(((TA_RVOL_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11RVOL_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_RVOL_Advance(((TA_RVOL_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11RVOL_Stream_10copy, "RVOL_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11RVOL_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11RVOL_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_self) { - TA_RVOL_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25892, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream))))) __PYX_ERR(3, 25892, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_RVOL_Clone(((TA_RVOL_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_RVOL_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25902, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.RVOL_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10SAR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10SAR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10SAR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10SAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_SAR_Close(((TA_SAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10SAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10SAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - double __pyx_v_acceleration; - double __pyx_v_maximum; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_acceleration,&__pyx_mstate_global->__pyx_n_u_maximum,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25927, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 25927, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 25927, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25927, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25927, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 25927, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, i); __PYX_ERR(3, 25927, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 25927, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 25927, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25927, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25927, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_acceleration = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_acceleration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25927, __pyx_L3_error) - } else { - __pyx_v_acceleration = ((double)0.02); - } - if (values[3]) { - __pyx_v_maximum = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_maximum == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25927, __pyx_L3_error) - } else { - __pyx_v_maximum = ((double)0.2); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, __pyx_nargs); __PYX_ERR(3, 25927, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SAR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_acceleration, __pyx_v_maximum); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10SAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, double __pyx_v_acceleration, double __pyx_v_maximum) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_SAR_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25928, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25929, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25930, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 25930, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 25930, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25931, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25932, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25933, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25938, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_SAR_Lookback(__pyx_v_acceleration, __pyx_v_maximum) + 1); - - __pyx_v_retCode = TA_SAR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_acceleration, __pyx_v_maximum, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_SAR_Close(((TA_SAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SAR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25955, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SAR_Stream_4open_and_fill, "SAR_Stream.open_and_fill(high, low, double acceleration=0.02, double maximum=0.2)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10SAR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SAR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10SAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - double __pyx_v_acceleration; - double __pyx_v_maximum; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_acceleration,&__pyx_mstate_global->__pyx_n_u_maximum,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25957, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 25957, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 25957, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25957, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25957, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 25957, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 4, i); __PYX_ERR(3, 25957, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 25957, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 25957, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25957, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25957, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_acceleration = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_acceleration == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25958, __pyx_L3_error) - } else { - __pyx_v_acceleration = ((double)0.02); - } - if (values[3]) { - __pyx_v_maximum = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_maximum == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25958, __pyx_L3_error) - } else { - __pyx_v_maximum = ((double)0.2); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 4, __pyx_nargs); __PYX_ERR(3, 25957, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SAR_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_acceleration, __pyx_v_maximum); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SAR_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, double __pyx_v_acceleration, double __pyx_v_maximum) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_SAR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25960, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25961, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 25961, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 25961, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 25962, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 25963, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 25964, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_SAR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25970, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 25972, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SAR_Lookback(__pyx_v_acceleration, __pyx_v_maximum)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25976, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SAR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_acceleration, __pyx_v_maximum, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SAR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25987, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25988, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 25988, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 25988, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 25988, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25988, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 25988, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 25988, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.SAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SAR_Stream_6update, "SAR_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 25990, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25990, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25990, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 25990, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 25990, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 25990, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 25990, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25991, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 25991, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 25990, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SAR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SAR_Update(((TA_SAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SAR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25998, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 25999, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SAR_Stream_8peek, "SAR_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26001, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26001, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26001, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 26001, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 26001, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26001, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26001, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26002, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26002, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 26001, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SAR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SAR_Peek(((TA_SAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SAR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26009, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26010, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SAR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SAR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SAR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SAR_Value(((TA_SAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SAR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26020, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26021, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SAR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SAR_OutRange(((TA_SAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SAR_Advance(((TA_SAR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SAR_Stream_10copy, "SAR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SAR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_self) { - TA_SAR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26032, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAR_Stream))))) __PYX_ERR(3, 26032, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_SAR_Clone(((TA_SAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SAR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26042, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.SAR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_13SAREXT_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_13SAREXT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_SAREXT_Close(((TA_SAREXT_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - double __pyx_v_startvalue; - double __pyx_v_offsetonreverse; - double __pyx_v_accelerationinitlong; - double __pyx_v_accelerationlong; - double __pyx_v_accelerationmaxlong; - double __pyx_v_accelerationinitshort; - double __pyx_v_accelerationshort; - double __pyx_v_accelerationmaxshort; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[10] = {0,0,0,0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_startvalue,&__pyx_mstate_global->__pyx_n_u_offsetonreverse,&__pyx_mstate_global->__pyx_n_u_accelerationinitlong,&__pyx_mstate_global->__pyx_n_u_accelerationlong,&__pyx_mstate_global->__pyx_n_u_accelerationmaxlong,&__pyx_mstate_global->__pyx_n_u_accelerationinitshort,&__pyx_mstate_global->__pyx_n_u_accelerationshort,&__pyx_mstate_global->__pyx_n_u_accelerationmaxshort,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26073, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 10: - values[9] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 9); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 9: - values[8] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 8); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 8: - values[7] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 26073, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 10, i); __PYX_ERR(3, 26073, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 10: - values[9] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 9); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 9: - values[8] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 8); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 8: - values[7] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26073, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26073, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_startvalue = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_startvalue == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26073, __pyx_L3_error) - } else { - __pyx_v_startvalue = ((double)-4e37); - } - if (values[3]) { - __pyx_v_offsetonreverse = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_offsetonreverse == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26073, __pyx_L3_error) - } else { - __pyx_v_offsetonreverse = ((double)-4e37); - } - if (values[4]) { - __pyx_v_accelerationinitlong = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_accelerationinitlong == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26073, __pyx_L3_error) - } else { - __pyx_v_accelerationinitlong = ((double)-4e37); - } - if (values[5]) { - __pyx_v_accelerationlong = __Pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_accelerationlong == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26073, __pyx_L3_error) - } else { - __pyx_v_accelerationlong = ((double)-4e37); - } - if (values[6]) { - __pyx_v_accelerationmaxlong = __Pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_accelerationmaxlong == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26073, __pyx_L3_error) - } else { - __pyx_v_accelerationmaxlong = ((double)-4e37); - } - if (values[7]) { - __pyx_v_accelerationinitshort = __Pyx_PyFloat_AsDouble(values[7]); if (unlikely((__pyx_v_accelerationinitshort == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26073, __pyx_L3_error) - } else { - __pyx_v_accelerationinitshort = ((double)-4e37); - } - if (values[8]) { - __pyx_v_accelerationshort = __Pyx_PyFloat_AsDouble(values[8]); if (unlikely((__pyx_v_accelerationshort == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26073, __pyx_L3_error) - } else { - __pyx_v_accelerationshort = ((double)-4e37); - } - if (values[9]) { - __pyx_v_accelerationmaxshort = __Pyx_PyFloat_AsDouble(values[9]); if (unlikely((__pyx_v_accelerationmaxshort == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26073, __pyx_L3_error) - } else { - __pyx_v_accelerationmaxshort = ((double)-4e37); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 10, __pyx_nargs); __PYX_ERR(3, 26073, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SAREXT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_startvalue, __pyx_v_offsetonreverse, __pyx_v_accelerationinitlong, __pyx_v_accelerationlong, __pyx_v_accelerationmaxlong, __pyx_v_accelerationinitshort, __pyx_v_accelerationshort, __pyx_v_accelerationmaxshort); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, double __pyx_v_startvalue, double __pyx_v_offsetonreverse, double __pyx_v_accelerationinitlong, double __pyx_v_accelerationlong, double __pyx_v_accelerationmaxlong, double __pyx_v_accelerationinitshort, double __pyx_v_accelerationshort, double __pyx_v_accelerationmaxshort) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_SAREXT_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26075, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26076, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 26076, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 26076, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26077, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26078, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26079, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26084, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_SAREXT_Lookback(__pyx_v_startvalue, __pyx_v_offsetonreverse, __pyx_v_accelerationinitlong, __pyx_v_accelerationlong, __pyx_v_accelerationmaxlong, __pyx_v_accelerationinitshort, __pyx_v_accelerationshort, __pyx_v_accelerationmaxshort) + 1); - - __pyx_v_retCode = TA_SAREXT_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_startvalue, __pyx_v_offsetonreverse, __pyx_v_accelerationinitlong, __pyx_v_accelerationlong, __pyx_v_accelerationmaxlong, __pyx_v_accelerationinitshort, __pyx_v_accelerationshort, __pyx_v_accelerationmaxshort, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_SAREXT_Close(((TA_SAREXT_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SAREXT_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SAREXT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13SAREXT_Stream_4open_and_fill, "SAREXT_Stream.open_and_fill(high, low, double startvalue=-4e37, double offsetonreverse=-4e37, double accelerationinitlong=-4e37, double accelerationlong=-4e37, double accelerationmaxlong=-4e37, double accelerationinitshort=-4e37, double accelerationshort=-4e37, double accelerationmaxshort=-4e37)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13SAREXT_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13SAREXT_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - double __pyx_v_startvalue; - double __pyx_v_offsetonreverse; - double __pyx_v_accelerationinitlong; - double __pyx_v_accelerationlong; - double __pyx_v_accelerationmaxlong; - double __pyx_v_accelerationinitshort; - double __pyx_v_accelerationshort; - double __pyx_v_accelerationmaxshort; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[10] = {0,0,0,0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_startvalue,&__pyx_mstate_global->__pyx_n_u_offsetonreverse,&__pyx_mstate_global->__pyx_n_u_accelerationinitlong,&__pyx_mstate_global->__pyx_n_u_accelerationlong,&__pyx_mstate_global->__pyx_n_u_accelerationmaxlong,&__pyx_mstate_global->__pyx_n_u_accelerationinitshort,&__pyx_mstate_global->__pyx_n_u_accelerationshort,&__pyx_mstate_global->__pyx_n_u_accelerationmaxshort,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26103, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 10: - values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 9: - values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 8: - values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 26103, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 10, i); __PYX_ERR(3, 26103, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 10: - values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 9: - values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 8: - values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26103, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26103, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26103, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - if (values[2]) { - __pyx_v_startvalue = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_startvalue == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26104, __pyx_L3_error) - } else { - __pyx_v_startvalue = ((double)-4e37); - } - if (values[3]) { - __pyx_v_offsetonreverse = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_offsetonreverse == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26104, __pyx_L3_error) - } else { - __pyx_v_offsetonreverse = ((double)-4e37); - } - if (values[4]) { - __pyx_v_accelerationinitlong = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_accelerationinitlong == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26104, __pyx_L3_error) - } else { - __pyx_v_accelerationinitlong = ((double)-4e37); - } - if (values[5]) { - __pyx_v_accelerationlong = __Pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_accelerationlong == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26104, __pyx_L3_error) - } else { - __pyx_v_accelerationlong = ((double)-4e37); - } - if (values[6]) { - __pyx_v_accelerationmaxlong = __Pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_accelerationmaxlong == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26104, __pyx_L3_error) - } else { - __pyx_v_accelerationmaxlong = ((double)-4e37); - } - if (values[7]) { - __pyx_v_accelerationinitshort = __Pyx_PyFloat_AsDouble(values[7]); if (unlikely((__pyx_v_accelerationinitshort == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26104, __pyx_L3_error) - } else { - __pyx_v_accelerationinitshort = ((double)-4e37); - } - if (values[8]) { - __pyx_v_accelerationshort = __Pyx_PyFloat_AsDouble(values[8]); if (unlikely((__pyx_v_accelerationshort == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26104, __pyx_L3_error) - } else { - __pyx_v_accelerationshort = ((double)-4e37); - } - if (values[9]) { - __pyx_v_accelerationmaxshort = __Pyx_PyFloat_AsDouble(values[9]); if (unlikely((__pyx_v_accelerationmaxshort == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26104, __pyx_L3_error) - } else { - __pyx_v_accelerationmaxshort = ((double)-4e37); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 10, __pyx_nargs); __PYX_ERR(3, 26103, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SAREXT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_startvalue, __pyx_v_offsetonreverse, __pyx_v_accelerationinitlong, __pyx_v_accelerationlong, __pyx_v_accelerationmaxlong, __pyx_v_accelerationinitshort, __pyx_v_accelerationshort, __pyx_v_accelerationmaxshort); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, double __pyx_v_startvalue, double __pyx_v_offsetonreverse, double __pyx_v_accelerationinitlong, double __pyx_v_accelerationlong, double __pyx_v_accelerationmaxlong, double __pyx_v_accelerationinitshort, double __pyx_v_accelerationshort, double __pyx_v_accelerationmaxshort) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_SAREXT_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26105, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 26107, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 26107, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26108, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26109, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26110, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_SAREXT_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26116, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26118, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SAREXT_Lookback(__pyx_v_startvalue, __pyx_v_offsetonreverse, __pyx_v_accelerationinitlong, __pyx_v_accelerationlong, __pyx_v_accelerationmaxlong, __pyx_v_accelerationinitshort, __pyx_v_accelerationshort, __pyx_v_accelerationmaxshort)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26122, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SAREXT_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_startvalue, __pyx_v_offsetonreverse, __pyx_v_accelerationinitlong, __pyx_v_accelerationlong, __pyx_v_accelerationmaxlong, __pyx_v_accelerationinitshort, __pyx_v_accelerationshort, __pyx_v_accelerationmaxshort, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SAREXT_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 26134, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 26134, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 26134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 26134, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 26134, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.SAREXT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13SAREXT_Stream_6update, "SAREXT_Stream.update(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26136, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26136, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26136, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 26136, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 26136, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26136, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26136, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26137, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26137, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 26136, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SAREXT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SAREXT_Update(((TA_SAREXT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SAREXT_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26145, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SAREXT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13SAREXT_Stream_8peek, "SAREXT_Stream.peek(self, double high, double low)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26147, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26147, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26147, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 26147, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 26147, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26147, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26147, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26148, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26148, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 26147, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SAREXT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SAREXT_Peek(((TA_SAREXT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SAREXT_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SAREXT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SAREXT_Value(((TA_SAREXT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SAREXT_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SAREXT_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13SAREXT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SAREXT_OutRange(((TA_SAREXT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13SAREXT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SAREXT_Advance(((TA_SAREXT_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13SAREXT_Stream_10copy, "SAREXT_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13SAREXT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_self) { - TA_SAREXT_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream))))) __PYX_ERR(3, 26178, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_SAREXT_Clone(((TA_SAREXT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SAREXT_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.SAREXT_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10SIN_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10SIN_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10SIN_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10SIN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_SIN_Close(((TA_SIN_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10SIN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10SIN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26210, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26210, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 26210, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 26210, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26210, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26210, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SIN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SIN_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10SIN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_SIN_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26212, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 26212, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26213, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26214, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26215, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26220, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_SIN_Lookback() + 1); - - __pyx_v_retCode = TA_SIN_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_SIN_Close(((TA_SIN_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SIN_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SIN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SIN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SIN_Stream_4open_and_fill, "SIN_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10SIN_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SIN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SIN_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10SIN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26239, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26239, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 26239, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 26239, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26239, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26239, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SIN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SIN_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SIN_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_SIN_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26241, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 26242, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26243, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26244, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26245, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_SIN_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SIN_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26253, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SIN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26257, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SIN_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SIN_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 26269, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 26269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 26269, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 26269, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.SIN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SIN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SIN_Stream_6update, "SIN_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SIN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26271, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26271, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 26271, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 26271, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26271, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26272, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26271, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SIN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SIN_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SIN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SIN_Update(((TA_SIN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SIN_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26279, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SIN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SIN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SIN_Stream_8peek, "SIN_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SIN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26282, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26282, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 26282, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 26282, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26282, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26283, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26282, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SIN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SIN_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SIN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SIN_Peek(((TA_SIN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SIN_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26290, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26291, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SIN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SIN_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SIN_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SIN_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SIN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SIN_Value(((TA_SIN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SIN_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26301, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26302, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SIN_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SIN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SIN_OutRange(((TA_SIN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SIN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SIN_Advance(((TA_SIN_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SIN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SIN_Stream_10copy, "SIN_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SIN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SIN_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SIN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_self) { - TA_SIN_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SIN_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26313, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SIN_Stream))))) __PYX_ERR(3, 26313, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_SIN_Clone(((TA_SIN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SIN_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26323, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.SIN_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11SINH_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11SINH_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11SINH_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11SINH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_SINH_Close(((TA_SINH_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11SINH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11SINH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26345, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26345, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 26345, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 26345, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26345, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26345, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SINH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11SINH_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11SINH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_SINH_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26347, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 26347, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26348, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26349, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26350, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26355, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_SINH_Lookback() + 1); - - __pyx_v_retCode = TA_SINH_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_SINH_Close(((TA_SINH_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SINH_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26372, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SINH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11SINH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11SINH_Stream_4open_and_fill, "SINH_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11SINH_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11SINH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11SINH_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11SINH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26374, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26374, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 26374, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 26374, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26374, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26374, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SINH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11SINH_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11SINH_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_SINH_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 26377, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26378, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26379, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26380, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_SINH_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SINH_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26388, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SINH_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26392, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SINH_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SINH_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26403, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26404, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 26404, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 26404, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26404, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 26404, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 26404, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.SINH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11SINH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11SINH_Stream_6update, "SINH_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11SINH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26406, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26406, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 26406, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 26406, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26406, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26407, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26406, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SINH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11SINH_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11SINH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SINH_Update(((TA_SINH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SINH_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26414, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26415, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SINH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11SINH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11SINH_Stream_8peek, "SINH_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11SINH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26417, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26417, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 26417, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 26417, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26417, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26418, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26417, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SINH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11SINH_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11SINH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SINH_Peek(((TA_SINH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SINH_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26425, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SINH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11SINH_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11SINH_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11SINH_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11SINH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SINH_Value(((TA_SINH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SINH_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26437, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SINH_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11SINH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SINH_OutRange(((TA_SINH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11SINH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SINH_Advance(((TA_SINH_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11SINH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11SINH_Stream_10copy, "SINH_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11SINH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11SINH_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11SINH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_self) { - TA_SINH_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SINH_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SINH_Stream))))) __PYX_ERR(3, 26448, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_SINH_Clone(((TA_SINH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SINH_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.SINH_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10SMA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10SMA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10SMA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10SMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_SMA_Close(((TA_SMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10SMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10SMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26482, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26482, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26482, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 26482, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 26482, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26482, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26482, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 26482, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 26482, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SMA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10SMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_SMA_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26483, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26484, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 26484, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26485, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26486, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26487, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26492, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_SMA_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_SMA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_SMA_Close(((TA_SMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SMA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26509, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SMA_Stream_4open_and_fill, "SMA_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10SMA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SMA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26511, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26511, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26511, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 26511, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 26511, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26511, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26511, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 26512, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 26511, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SMA_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_SMA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26513, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26514, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 26514, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26515, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26516, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26517, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_SMA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26525, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26529, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SMA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SMA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 26541, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 26541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 26541, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 26541, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.SMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SMA_Stream_6update, "SMA_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26543, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26543, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 26543, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 26543, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26543, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26544, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26543, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SMA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SMA_Update(((TA_SMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SMA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26551, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26552, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SMA_Stream_8peek, "SMA_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26554, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26554, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 26554, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 26554, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26554, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26555, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26554, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SMA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SMA_Peek(((TA_SMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SMA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26562, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26563, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SMA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SMA_Value(((TA_SMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SMA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26573, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26574, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SMA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SMA_OutRange(((TA_SMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SMA_Advance(((TA_SMA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SMA_Stream_10copy, "SMA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SMA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_self) { - TA_SMA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26585, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMA_Stream))))) __PYX_ERR(3, 26585, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_SMA_Clone(((TA_SMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SMA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26595, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.SMA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10SMI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10SMI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10SMI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10SMI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_SMI_Close(((TA_SMI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10SMI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10SMI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_signalperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[7] = {0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_signalperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26623, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 7: - values[6] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 26623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 26623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 26623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 26623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 26623, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 7, i); __PYX_ERR(3, 26623, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 7: - values[6] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 26623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 26623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 26623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 26623, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26623, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26623, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26623, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 26623, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 26623, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 26623, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[6]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 26623, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 7, __pyx_nargs); __PYX_ERR(3, 26623, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SMI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SMI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10SMI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_SMI_Stream *__pyx_v_handle; - double __pyx_v_outsmi; - double __pyx_v_outsmisignal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26624, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26625, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26626, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26627, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 26627, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 26627, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 26627, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26628, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26629, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26630, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26636, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_SMI_Lookback(__pyx_v_timeperiod, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod) + 1); - - __pyx_v_retCode = TA_SMI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod, (&__pyx_v_outsmi), (&__pyx_v_outsmisignal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_SMI_Close(((TA_SMI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SMI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SMI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SMI_Stream_4open_and_fill, "SMI_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int signalperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10SMI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SMI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SMI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - int __pyx_v_fastperiod; - int __pyx_v_slowperiod; - int __pyx_v_signalperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[7] = {0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_fastperiod,&__pyx_mstate_global->__pyx_n_u_slowperiod,&__pyx_mstate_global->__pyx_n_u_signalperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26655, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 26655, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 26655, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 26655, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 26655, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26655, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26655, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26655, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 26655, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 7, i); __PYX_ERR(3, 26655, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 26655, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 26655, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 26655, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 26655, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26655, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26655, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26655, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 26656, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_fastperiod = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_fastperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 26656, __pyx_L3_error) - } else { - __pyx_v_fastperiod = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_slowperiod = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_slowperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 26656, __pyx_L3_error) - } else { - __pyx_v_slowperiod = ((int)-2147483648); - } - if (values[6]) { - __pyx_v_signalperiod = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_signalperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 26656, __pyx_L3_error) - } else { - __pyx_v_signalperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 7, __pyx_nargs); __PYX_ERR(3, 26655, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SMI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SMI_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMI_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod, int __pyx_v_fastperiod, int __pyx_v_slowperiod, int __pyx_v_signalperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outsmi = 0; - PyArrayObject *__pyx_v_outsmisignal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_SMI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26658, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26659, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26660, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 26660, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 26660, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 26660, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26661, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26662, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26663, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_SMI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26670, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26672, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SMI_Lookback(__pyx_v_timeperiod, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26676, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outsmi = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26677, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outsmisignal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SMI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_fastperiod, __pyx_v_slowperiod, __pyx_v_signalperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outsmi)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outsmisignal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SMI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26688, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26689, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 26689, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 26689, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 26689, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outsmi)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 26689, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26689, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 26689, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 26689, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 26689, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outsmisignal)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 26689, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26689, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 26689, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 26689, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 26689, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 26689, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 26689, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_14; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_14 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib.SMI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outsmi); - __Pyx_XDECREF((PyObject *)__pyx_v_outsmisignal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SMI_Stream_6update, "SMI_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26691, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26691, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26691, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26691, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 26691, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 26691, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26691, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26691, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26691, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26692, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26692, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26692, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 26691, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SMI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SMI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outsmi; - double __pyx_v_outsmisignal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SMI_Update(((TA_SMI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outsmi), (&__pyx_v_outsmisignal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SMI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26700, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outsmi); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outsmisignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 26701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 26701, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 26701, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.SMI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SMI_Stream_8peek, "SMI_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26703, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26703, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26703, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26703, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 26703, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 26703, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26703, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26703, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26703, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26704, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26704, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26704, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 26703, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SMI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SMI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outsmi; - double __pyx_v_outsmisignal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SMI_Peek(((TA_SMI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outsmi), (&__pyx_v_outsmisignal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SMI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26712, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outsmi); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26713, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outsmisignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26713, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 26713, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 26713, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 26713, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.SMI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SMI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self) { - double __pyx_v_outsmi; - double __pyx_v_outsmisignal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SMI_Value(((TA_SMI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outsmi), (&__pyx_v_outsmisignal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SMI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26724, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outsmi); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26725, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outsmisignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26725, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 26725, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 26725, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 26725, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.SMI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SMI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SMI_OutRange(((TA_SMI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SMI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SMI_Advance(((TA_SMI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SMI_Stream_10copy, "SMI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SMI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SMI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SMI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_self) { - TA_SMI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26736, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMI_Stream))))) __PYX_ERR(3, 26736, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_SMI_Clone(((TA_SMI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SMI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26746, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.SMI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11SQRT_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11SQRT_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11SQRT_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11SQRT_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_SQRT_Close(((TA_SQRT_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11SQRT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11SQRT_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26768, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26768, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 26768, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 26768, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26768, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26768, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SQRT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11SQRT_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11SQRT_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_SQRT_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26769, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26770, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 26770, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26771, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26772, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26773, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26778, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_SQRT_Lookback() + 1); - - __pyx_v_retCode = TA_SQRT_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_SQRT_Close(((TA_SQRT_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SQRT_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26795, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SQRT_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11SQRT_Stream_4open_and_fill, "SQRT_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11SQRT_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11SQRT_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26797, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26797, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 26797, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 26797, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26797, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26797, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SQRT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11SQRT_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11SQRT_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_SQRT_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26799, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26800, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 26800, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26801, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26802, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26803, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_SQRT_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26811, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SQRT_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26815, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SQRT_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SQRT_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26826, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 26827, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 26827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 26827, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 26827, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.SQRT_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11SQRT_Stream_6update, "SQRT_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26829, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26829, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 26829, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 26829, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26829, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26830, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26829, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SQRT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11SQRT_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11SQRT_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SQRT_Update(((TA_SQRT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SQRT_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26837, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SQRT_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11SQRT_Stream_8peek, "SQRT_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26840, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26840, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 26840, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 26840, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26840, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26841, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26840, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SQRT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11SQRT_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11SQRT_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SQRT_Peek(((TA_SQRT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SQRT_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26848, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26849, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SQRT_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11SQRT_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11SQRT_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SQRT_Value(((TA_SQRT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SQRT_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26860, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SQRT_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11SQRT_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SQRT_OutRange(((TA_SQRT_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11SQRT_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SQRT_Advance(((TA_SQRT_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11SQRT_Stream_10copy, "SQRT_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11SQRT_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11SQRT_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_self) { - TA_SQRT_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream))))) __PYX_ERR(3, 26871, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_SQRT_Clone(((TA_SQRT_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SQRT_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26881, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.SQRT_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_13STDDEV_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_13STDDEV_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_STDDEV_Close(((TA_STDDEV_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_nbdev; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_nbdev,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26906, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26906, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26906, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26906, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 26906, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, i); __PYX_ERR(3, 26906, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26906, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26906, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26906, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 26906, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_nbdev = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_nbdev == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26906, __pyx_L3_error) - } else { - __pyx_v_nbdev = ((double)-4e37); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 26906, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STDDEV_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod, __pyx_v_nbdev); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdev) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_STDDEV_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26907, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26908, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 26908, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26909, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26910, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26911, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26916, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_STDDEV_Lookback(__pyx_v_timeperiod, __pyx_v_nbdev) + 1); - - __pyx_v_retCode = TA_STDDEV_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_nbdev, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_STDDEV_Close(((TA_STDDEV_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_STDDEV_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.STDDEV_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13STDDEV_Stream_4open_and_fill, "STDDEV_Stream.open_and_fill(real, int timeperiod=-0x80000000, double nbdev=-4e37)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13STDDEV_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13STDDEV_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_nbdev; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_nbdev,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26935, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26935, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26935, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26935, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 26935, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, i); __PYX_ERR(3, 26935, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 26935, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 26935, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26935, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 26936, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_nbdev = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_nbdev == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26936, __pyx_L3_error) - } else { - __pyx_v_nbdev = ((double)-4e37); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 26935, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STDDEV_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod, __pyx_v_nbdev); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdev) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_STDDEV_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26937, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26938, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 26938, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 26939, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 26940, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 26941, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_STDDEV_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26947, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 26949, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_STDDEV_Lookback(__pyx_v_timeperiod, __pyx_v_nbdev)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26953, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_STDDEV_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_nbdev, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_STDDEV_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26964, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26965, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 26965, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 26965, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26965, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 26965, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 26965, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.STDDEV_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13STDDEV_Stream_6update, "STDDEV_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26967, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26967, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 26967, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 26967, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26967, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26968, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26967, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STDDEV_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_STDDEV_Update(((TA_STDDEV_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STDDEV_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26975, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26976, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.STDDEV_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13STDDEV_Stream_8peek, "STDDEV_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 26978, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26978, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 26978, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 26978, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 26978, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 26979, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 26978, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STDDEV_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_STDDEV_Peek(((TA_STDDEV_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STDDEV_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26986, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26987, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.STDDEV_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_STDDEV_Value(((TA_STDDEV_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STDDEV_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26997, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 26998, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.STDDEV_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13STDDEV_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_STDDEV_OutRange(((TA_STDDEV_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13STDDEV_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_STDDEV_Advance(((TA_STDDEV_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13STDDEV_Stream_10copy, "STDDEV_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13STDDEV_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_self) { - TA_STDDEV_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27009, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream))))) __PYX_ERR(3, 27009, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_STDDEV_Clone(((TA_STDDEV_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STDDEV_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27019, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.STDDEV_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_12STOCH_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_12STOCH_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_12STOCH_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_12STOCH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_STOCH_Close(((TA_STOCH_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_12STOCH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_12STOCH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_fastk_period; - int __pyx_v_slowk_period; - int __pyx_v_slowk_matype; - int __pyx_v_slowd_period; - int __pyx_v_slowd_matype; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[8] = {0,0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_fastk_period,&__pyx_mstate_global->__pyx_n_u_slowk_period,&__pyx_mstate_global->__pyx_n_u_slowk_matype,&__pyx_mstate_global->__pyx_n_u_slowd_period,&__pyx_mstate_global->__pyx_n_u_slowd_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27048, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 8: - values[7] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(3, 27048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 27048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 27048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 27048, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 8, i); __PYX_ERR(3, 27048, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 8: - values[7] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(3, 27048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 27048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 27048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27048, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27048, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27048, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27048, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_fastk_period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_fastk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27048, __pyx_L3_error) - } else { - __pyx_v_fastk_period = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_slowk_period = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_slowk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27048, __pyx_L3_error) - } else { - __pyx_v_slowk_period = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_slowk_matype = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_slowk_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27048, __pyx_L3_error) - } else { - __pyx_v_slowk_matype = ((int)0); - } - if (values[6]) { - __pyx_v_slowd_period = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_slowd_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27048, __pyx_L3_error) - } else { - __pyx_v_slowd_period = ((int)-2147483648); - } - if (values[7]) { - __pyx_v_slowd_matype = __Pyx_PyLong_As_int(values[7]); if (unlikely((__pyx_v_slowd_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27048, __pyx_L3_error) - } else { - __pyx_v_slowd_matype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 8, __pyx_nargs); __PYX_ERR(3, 27048, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12STOCH_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_12STOCH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_slowk_period, int __pyx_v_slowk_matype, int __pyx_v_slowd_period, int __pyx_v_slowd_matype) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_STOCH_Stream *__pyx_v_handle; - double __pyx_v_outslowk; - double __pyx_v_outslowd; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27049, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27050, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27051, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27052, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 27052, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 27052, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 27052, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27053, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27054, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27055, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27061, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_STOCH_Lookback(__pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype) + 1); - - __pyx_v_retCode = TA_STOCH_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype, (&__pyx_v_outslowk), (&__pyx_v_outslowd)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_STOCH_Close(((TA_STOCH_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_STOCH_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27078, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.STOCH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12STOCH_Stream_4open_and_fill, "STOCH_Stream.open_and_fill(high, low, close, int fastk_period=-0x80000000, int slowk_period=-0x80000000, int slowk_matype=0, int slowd_period=-0x80000000, int slowd_matype=0)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_12STOCH_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12STOCH_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_fastk_period; - int __pyx_v_slowk_period; - int __pyx_v_slowk_matype; - int __pyx_v_slowd_period; - int __pyx_v_slowd_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[8] = {0,0,0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_fastk_period,&__pyx_mstate_global->__pyx_n_u_slowk_period,&__pyx_mstate_global->__pyx_n_u_slowk_matype,&__pyx_mstate_global->__pyx_n_u_slowd_period,&__pyx_mstate_global->__pyx_n_u_slowd_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27080, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 8: - values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(3, 27080, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 27080, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 27080, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27080, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27080, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27080, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27080, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27080, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 27080, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 8, i); __PYX_ERR(3, 27080, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 8: - values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(3, 27080, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 7: - values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(3, 27080, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 27080, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27080, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27080, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27080, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27080, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27080, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_fastk_period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_fastk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27081, __pyx_L3_error) - } else { - __pyx_v_fastk_period = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_slowk_period = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_slowk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27081, __pyx_L3_error) - } else { - __pyx_v_slowk_period = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_slowk_matype = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_slowk_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27081, __pyx_L3_error) - } else { - __pyx_v_slowk_matype = ((int)0); - } - if (values[6]) { - __pyx_v_slowd_period = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_slowd_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27081, __pyx_L3_error) - } else { - __pyx_v_slowd_period = ((int)-2147483648); - } - if (values[7]) { - __pyx_v_slowd_matype = __Pyx_PyLong_As_int(values[7]); if (unlikely((__pyx_v_slowd_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27081, __pyx_L3_error) - } else { - __pyx_v_slowd_matype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 8, __pyx_nargs); __PYX_ERR(3, 27080, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12STOCH_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12STOCH_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_slowk_period, int __pyx_v_slowk_matype, int __pyx_v_slowd_period, int __pyx_v_slowd_matype) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outslowk = 0; - PyArrayObject *__pyx_v_outslowd = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_STOCH_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27082, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27084, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27085, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 27085, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 27085, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 27085, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27086, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27087, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27088, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_STOCH_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27095, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27097, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_STOCH_Lookback(__pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27101, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outslowk = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27102, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outslowd = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_STOCH_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastk_period, __pyx_v_slowk_period, __pyx_v_slowk_matype, __pyx_v_slowd_period, __pyx_v_slowd_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outslowk)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outslowd)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_STOCH_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27113, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 27114, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 27114, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 27114, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outslowk)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 27114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 27114, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 27114, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 27114, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outslowd)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 27114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 27114, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 27114, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 27114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 27114, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 27114, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_14; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_14 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib.STOCH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outslowk); - __Pyx_XDECREF((PyObject *)__pyx_v_outslowd); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12STOCH_Stream_6update, "STOCH_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27116, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27116, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27116, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27116, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 27116, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 27116, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27116, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27116, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27116, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27117, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27117, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27117, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 27116, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12STOCH_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12STOCH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outslowk; - double __pyx_v_outslowd; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_STOCH_Update(((TA_STOCH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outslowk), (&__pyx_v_outslowd)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCH_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27125, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outslowk); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outslowd); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 27126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 27126, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 27126, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.STOCH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12STOCH_Stream_8peek, "STOCH_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27128, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27128, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27128, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27128, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 27128, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 27128, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27128, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27128, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27128, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27129, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27129, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27129, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 27128, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12STOCH_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12STOCH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outslowk; - double __pyx_v_outslowd; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_STOCH_Peek(((TA_STOCH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outslowk), (&__pyx_v_outslowd)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCH_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27137, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outslowk); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outslowd); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 27138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 27138, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 27138, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.STOCH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_12STOCH_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12STOCH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self) { - double __pyx_v_outslowk; - double __pyx_v_outslowd; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_STOCH_Value(((TA_STOCH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outslowk), (&__pyx_v_outslowd)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCH_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outslowk); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outslowd); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 27150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 27150, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 27150, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.STOCH_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12STOCH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_STOCH_OutRange(((TA_STOCH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12STOCH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_STOCH_Advance(((TA_STOCH_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12STOCH_Stream_10copy, "STOCH_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_12STOCH_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12STOCH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_self) { - TA_STOCH_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27161, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream))))) __PYX_ERR(3, 27161, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_STOCH_Clone(((TA_STOCH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCH_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.STOCH_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_13STOCHF_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_13STOCHF_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_STOCHF_Close(((TA_STOCHF_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_fastk_period; - int __pyx_v_fastd_period; - int __pyx_v_fastd_matype; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[6] = {0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_fastk_period,&__pyx_mstate_global->__pyx_n_u_fastd_period,&__pyx_mstate_global->__pyx_n_u_fastd_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27198, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 27198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 27198, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 6, i); __PYX_ERR(3, 27198, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 27198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27198, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27198, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27198, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_fastk_period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_fastk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27198, __pyx_L3_error) - } else { - __pyx_v_fastk_period = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_fastd_period = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_fastd_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27198, __pyx_L3_error) - } else { - __pyx_v_fastd_period = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_fastd_matype = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_fastd_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27198, __pyx_L3_error) - } else { - __pyx_v_fastd_matype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 6, __pyx_nargs); __PYX_ERR(3, 27198, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCHF_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_fastd_period, int __pyx_v_fastd_matype) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_STOCHF_Stream *__pyx_v_handle; - double __pyx_v_outfastk; - double __pyx_v_outfastd; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 27202, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 27202, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 27202, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27203, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27204, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27205, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27211, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_STOCHF_Lookback(__pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype) + 1); - - __pyx_v_retCode = TA_STOCHF_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype, (&__pyx_v_outfastk), (&__pyx_v_outfastd)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_STOCHF_Close(((TA_STOCHF_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_STOCHF_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.STOCHF_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13STOCHF_Stream_4open_and_fill, "STOCHF_Stream.open_and_fill(high, low, close, int fastk_period=-0x80000000, int fastd_period=-0x80000000, int fastd_matype=0)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13STOCHF_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13STOCHF_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_fastk_period; - int __pyx_v_fastd_period; - int __pyx_v_fastd_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[6] = {0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_fastk_period,&__pyx_mstate_global->__pyx_n_u_fastd_period,&__pyx_mstate_global->__pyx_n_u_fastd_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27230, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 27230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 27230, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 6, i); __PYX_ERR(3, 27230, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 27230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27230, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27230, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27230, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27230, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_fastk_period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_fastk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27231, __pyx_L3_error) - } else { - __pyx_v_fastk_period = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_fastd_period = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_fastd_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27231, __pyx_L3_error) - } else { - __pyx_v_fastd_period = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_fastd_matype = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_fastd_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27231, __pyx_L3_error) - } else { - __pyx_v_fastd_matype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 6, __pyx_nargs); __PYX_ERR(3, 27230, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCHF_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_fastk_period, int __pyx_v_fastd_period, int __pyx_v_fastd_matype) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outfastk = 0; - PyArrayObject *__pyx_v_outfastd = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_STOCHF_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27233, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27234, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27235, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 27235, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 27235, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 27235, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27236, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27237, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27238, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_STOCHF_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27245, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27247, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_STOCHF_Lookback(__pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27251, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outfastk = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27252, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outfastd = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_STOCHF_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outfastk)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outfastd)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_STOCHF_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27263, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 27264, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 27264, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 27264, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outfastk)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 27264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 27264, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 27264, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 27264, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outfastd)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 27264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 27264, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 27264, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 27264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 27264, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 27264, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_14; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_14 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib.STOCHF_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outfastk); - __Pyx_XDECREF((PyObject *)__pyx_v_outfastd); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13STOCHF_Stream_6update, "STOCHF_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27266, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27266, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27266, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27266, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 27266, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 27266, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27266, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27266, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27266, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27267, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27267, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27267, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 27266, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCHF_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outfastk; - double __pyx_v_outfastd; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_STOCHF_Update(((TA_STOCHF_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outfastk), (&__pyx_v_outfastd)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCHF_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27275, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outfastk); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outfastd); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 27276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 27276, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 27276, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.STOCHF_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13STOCHF_Stream_8peek, "STOCHF_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27278, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27278, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27278, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27278, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 27278, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 27278, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27278, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27278, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27278, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27279, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27279, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27279, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 27278, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCHF_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outfastk; - double __pyx_v_outfastd; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_STOCHF_Peek(((TA_STOCHF_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outfastk), (&__pyx_v_outfastd)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCHF_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27287, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outfastk); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outfastd); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 27288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 27288, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 27288, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.STOCHF_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self) { - double __pyx_v_outfastk; - double __pyx_v_outfastd; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_STOCHF_Value(((TA_STOCHF_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outfastk), (&__pyx_v_outfastd)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCHF_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27299, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outfastk); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27300, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outfastd); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27300, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 27300, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 27300, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 27300, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.STOCHF_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13STOCHF_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_STOCHF_OutRange(((TA_STOCHF_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13STOCHF_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_STOCHF_Advance(((TA_STOCHF_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13STOCHF_Stream_10copy, "STOCHF_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13STOCHF_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_self) { - TA_STOCHF_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27311, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream))))) __PYX_ERR(3, 27311, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_STOCHF_Clone(((TA_STOCHF_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCHF_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27321, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.STOCHF_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_STOCHRSI_Close(((TA_STOCHRSI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - int __pyx_v_fastk_period; - int __pyx_v_fastd_period; - int __pyx_v_fastd_matype; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_fastk_period,&__pyx_mstate_global->__pyx_n_u_fastd_period,&__pyx_mstate_global->__pyx_n_u_fastd_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27349, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 27349, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 5, i); __PYX_ERR(3, 27349, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27349, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27349, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27349, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_fastk_period = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27349, __pyx_L3_error) - } else { - __pyx_v_fastk_period = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_fastd_period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_fastd_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27349, __pyx_L3_error) - } else { - __pyx_v_fastd_period = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_fastd_matype = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_fastd_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27349, __pyx_L3_error) - } else { - __pyx_v_fastd_matype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 5, __pyx_nargs); __PYX_ERR(3, 27349, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCHRSI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_fastk_period, int __pyx_v_fastd_period, int __pyx_v_fastd_matype) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_STOCHRSI_Stream *__pyx_v_handle; - double __pyx_v_outfastk; - double __pyx_v_outfastd; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27350, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 27351, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27352, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27353, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27354, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27360, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_STOCHRSI_Lookback(__pyx_v_timeperiod, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype) + 1); - - __pyx_v_retCode = TA_STOCHRSI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype, (&__pyx_v_outfastk), (&__pyx_v_outfastd)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_STOCHRSI_Close(((TA_STOCHRSI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_STOCHRSI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.STOCHRSI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15STOCHRSI_Stream_4open_and_fill, "STOCHRSI_Stream.open_and_fill(real, int timeperiod=-0x80000000, int fastk_period=-0x80000000, int fastd_period=-0x80000000, int fastd_matype=0)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15STOCHRSI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15STOCHRSI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - int __pyx_v_fastk_period; - int __pyx_v_fastd_period; - int __pyx_v_fastd_matype; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_fastk_period,&__pyx_mstate_global->__pyx_n_u_fastd_period,&__pyx_mstate_global->__pyx_n_u_fastd_matype,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27379, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27379, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27379, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27379, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27379, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27379, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 27379, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 5, i); __PYX_ERR(3, 27379, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27379, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27379, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27379, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27379, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27379, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27380, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_fastk_period = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_fastk_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27380, __pyx_L3_error) - } else { - __pyx_v_fastk_period = ((int)-2147483648); - } - if (values[3]) { - __pyx_v_fastd_period = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_fastd_period == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27380, __pyx_L3_error) - } else { - __pyx_v_fastd_period = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_fastd_matype = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_fastd_matype == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27380, __pyx_L3_error) - } else { - __pyx_v_fastd_matype = ((int)0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 5, __pyx_nargs); __PYX_ERR(3, 27379, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCHRSI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, int __pyx_v_fastk_period, int __pyx_v_fastd_period, int __pyx_v_fastd_matype) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outfastk = 0; - PyArrayObject *__pyx_v_outfastd = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_STOCHRSI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27381, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 27382, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27383, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27384, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27385, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_STOCHRSI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27392, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27394, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_STOCHRSI_Lookback(__pyx_v_timeperiod, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27398, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outfastk = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27399, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outfastd = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_STOCHRSI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_fastk_period, __pyx_v_fastd_period, __pyx_v_fastd_matype, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outfastk)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outfastd)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_STOCHRSI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27410, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 27411, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outfastk)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 27411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 27411, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outfastd)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 27411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 27411, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 27411, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 27411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 27411, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 27411, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_14; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_14 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib.STOCHRSI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outfastk); - __Pyx_XDECREF((PyObject *)__pyx_v_outfastd); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15STOCHRSI_Stream_6update, "STOCHRSI_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27413, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27413, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 27413, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 27413, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27413, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27414, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 27413, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCHRSI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outfastk; - double __pyx_v_outfastd; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_STOCHRSI_Update(((TA_STOCHRSI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outfastk), (&__pyx_v_outfastd)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCHRSI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27422, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outfastk); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outfastd); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 27423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 27423, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 27423, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.STOCHRSI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15STOCHRSI_Stream_8peek, "STOCHRSI_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27425, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27425, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 27425, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 27425, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27425, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27426, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 27425, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.STOCHRSI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outfastk; - double __pyx_v_outfastd; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_STOCHRSI_Peek(((TA_STOCHRSI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outfastk), (&__pyx_v_outfastd)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCHRSI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27434, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outfastk); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27435, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outfastd); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27435, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 27435, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 27435, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 27435, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.STOCHRSI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self) { - double __pyx_v_outfastk; - double __pyx_v_outfastd; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_STOCHRSI_Value(((TA_STOCHRSI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outfastk), (&__pyx_v_outfastd)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCHRSI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outfastk); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outfastd); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 27447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 27447, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 27447, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.STOCHRSI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15STOCHRSI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_STOCHRSI_OutRange(((TA_STOCHRSI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15STOCHRSI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_STOCHRSI_Advance(((TA_STOCHRSI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15STOCHRSI_Stream_10copy, "STOCHRSI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15STOCHRSI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_self) { - TA_STOCHRSI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream))))) __PYX_ERR(3, 27458, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_STOCHRSI_Clone(((TA_STOCHRSI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_STOCHRSI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27468, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.STOCHRSI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10SUB_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10SUB_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10SUB_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10SUB_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_SUB_Close(((TA_SUB_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10SUB_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10SUB_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real0 = 0; - PyObject *__pyx_v_real1 = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27491, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27491, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27491, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 27491, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(3, 27491, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27491, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27491, __pyx_L3_error) - } - __pyx_v_real0 = values[0]; - __pyx_v_real1 = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 27491, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUB_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SUB_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10SUB_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self, PyObject *__pyx_v_real0, PyObject *__pyx_v_real1) { - PyArrayObject *__pyx_v_a_real0 = 0; - PyArrayObject *__pyx_v_a_real1 = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_SUB_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real0 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27493, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real1 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27494, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real0); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real0)) != (0)) __PYX_ERR(3, 27494, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_real1); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_real1)) != (0)) __PYX_ERR(3, 27494, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27495, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27496, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27497, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27502, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_SUB_Lookback() + 1); - - __pyx_v_retCode = TA_SUB_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real1)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_SUB_Close(((TA_SUB_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SUB_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27519, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SUB_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_a_real1); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUB_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SUB_Stream_4open_and_fill, "SUB_Stream.open_and_fill(real0, real1)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10SUB_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SUB_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SUB_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUB_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real0 = 0; - PyObject *__pyx_v_real1 = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27521, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27521, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27521, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 27521, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, i); __PYX_ERR(3, 27521, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27521, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27521, __pyx_L3_error) - } - __pyx_v_real0 = values[0]; - __pyx_v_real1 = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 27521, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUB_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SUB_Stream_4open_and_fill(__pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUB_Stream_4open_and_fill(PyObject *__pyx_v_real0, PyObject *__pyx_v_real1) { - PyArrayObject *__pyx_v_a_real0 = 0; - PyArrayObject *__pyx_v_a_real1 = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_SUB_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real0 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27524, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real1 = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real0); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real0)) != (0)) __PYX_ERR(3, 27525, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_real1); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_real1)) != (0)) __PYX_ERR(3, 27525, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27526, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27527, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27528, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_SUB_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUB_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27536, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SUB_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27540, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SUB_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real0)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real1)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SUB_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27551, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27552, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real0); - __Pyx_GIVEREF(__pyx_v_real0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real0) != (0)) __PYX_ERR(3, 27552, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_real1); - __Pyx_GIVEREF(__pyx_v_real1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_real1) != (0)) __PYX_ERR(3, 27552, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 27552, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27552, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 27552, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 27552, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.SUB_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real0); - __Pyx_XDECREF((PyObject *)__pyx_v_a_real1); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUB_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SUB_Stream_6update, "SUB_Stream.update(self, double real0, double real1)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUB_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real0; - double __pyx_v_real1; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27554, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27554, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27554, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 27554, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 27554, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27554, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27554, __pyx_L3_error) - } - __pyx_v_real0 = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27555, __pyx_L3_error) - __pyx_v_real1 = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_real1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27555, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 27554, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUB_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SUB_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUB_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SUB_Update(((TA_SUB_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real0, __pyx_v_real1, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUB_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27562, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27563, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SUB_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUB_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SUB_Stream_8peek, "SUB_Stream.peek(self, double real0, double real1)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUB_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real0; - double __pyx_v_real1; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real0,&__pyx_mstate_global->__pyx_n_u_real1,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27565, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27565, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27565, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 27565, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 27565, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27565, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27565, __pyx_L3_error) - } - __pyx_v_real0 = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27566, __pyx_L3_error) - __pyx_v_real1 = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_real1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27566, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 27565, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUB_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SUB_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *)__pyx_v_self), __pyx_v_real0, __pyx_v_real1); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUB_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self, double __pyx_v_real0, double __pyx_v_real1) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SUB_Peek(((TA_SUB_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real0, __pyx_v_real1, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUB_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27573, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27574, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SUB_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUB_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUB_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SUB_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUB_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SUB_Value(((TA_SUB_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUB_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27584, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27585, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SUB_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SUB_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SUB_OutRange(((TA_SUB_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SUB_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SUB_Advance(((TA_SUB_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUB_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SUB_Stream_10copy, "SUB_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUB_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SUB_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUB_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_self) { - TA_SUB_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUB_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27596, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUB_Stream))))) __PYX_ERR(3, 27596, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_SUB_Clone(((TA_SUB_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUB_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27606, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.SUB_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10SUM_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10SUM_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10SUM_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10SUM_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_SUM_Close(((TA_SUM_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10SUM_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10SUM_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27630, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27630, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27630, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 27630, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 27630, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27630, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27630, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27630, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 27630, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUM_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SUM_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10SUM_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_SUM_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27631, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27632, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 27632, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27633, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27634, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27635, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27640, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_SUM_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_SUM_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_SUM_Close(((TA_SUM_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SUM_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SUM_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUM_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SUM_Stream_4open_and_fill, "SUM_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10SUM_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SUM_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SUM_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUM_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27659, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27659, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27659, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 27659, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 27659, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27659, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27659, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27660, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 27659, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUM_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SUM_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUM_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_SUM_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27661, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27662, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 27662, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27663, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27664, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27665, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_SUM_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUM_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27671, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27673, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SUM_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27677, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SUM_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SUM_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27688, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27689, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 27689, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 27689, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27689, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 27689, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 27689, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.SUM_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUM_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SUM_Stream_6update, "SUM_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUM_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27691, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27691, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 27691, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 27691, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27691, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27692, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 27691, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUM_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SUM_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUM_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SUM_Update(((TA_SUM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUM_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27699, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27700, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SUM_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUM_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SUM_Stream_8peek, "SUM_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUM_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27702, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27702, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 27702, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 27702, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27702, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27703, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 27702, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUM_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SUM_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUM_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SUM_Peek(((TA_SUM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUM_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27711, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SUM_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUM_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUM_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SUM_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUM_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SUM_Value(((TA_SUM_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUM_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27721, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27722, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.SUM_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SUM_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SUM_OutRange(((TA_SUM_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10SUM_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SUM_Advance(((TA_SUM_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUM_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10SUM_Stream_10copy, "SUM_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10SUM_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10SUM_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10SUM_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_self) { - TA_SUM_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUM_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27733, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUM_Stream))))) __PYX_ERR(3, 27733, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_SUM_Clone(((TA_SUM_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUM_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27743, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.SUM_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_SUPERTREND_Close(((TA_SUPERTREND_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - double __pyx_v_multiplier; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_multiplier,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27769, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27769, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27769, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27769, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27769, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27769, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 27769, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 5, i); __PYX_ERR(3, 27769, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27769, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27769, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27769, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27769, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27769, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27769, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_multiplier = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_multiplier == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27769, __pyx_L3_error) - } else { - __pyx_v_multiplier = ((double)3.0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 5, __pyx_nargs); __PYX_ERR(3, 27769, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUPERTREND_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod, __pyx_v_multiplier); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod, double __pyx_v_multiplier) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_SUPERTREND_Stream *__pyx_v_handle; - double __pyx_v_outsupertrend; - int __pyx_v_outtrend; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27770, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27771, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27773, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 27773, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 27773, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 27773, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27774, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27775, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27776, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27782, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_SUPERTREND_Lookback(__pyx_v_timeperiod, __pyx_v_multiplier) + 1); - - __pyx_v_retCode = TA_SUPERTREND_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_multiplier, (&__pyx_v_outsupertrend), (&__pyx_v_outtrend)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_SUPERTREND_Close(((TA_SUPERTREND_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SUPERTREND_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27799, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.SUPERTREND_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17SUPERTREND_Stream_4open_and_fill, "SUPERTREND_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000, double multiplier=3.0)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_17SUPERTREND_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17SUPERTREND_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - double __pyx_v_multiplier; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[5] = {0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_multiplier,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27801, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27801, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27801, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27801, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27801, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27801, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 27801, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 5, i); __PYX_ERR(3, 27801, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 27801, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 27801, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27801, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27801, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27801, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27802, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_multiplier = __Pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_multiplier == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27802, __pyx_L3_error) - } else { - __pyx_v_multiplier = ((double)3.0); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 5, __pyx_nargs); __PYX_ERR(3, 27801, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUPERTREND_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod, __pyx_v_multiplier); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod, double __pyx_v_multiplier) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outsupertrend = 0; - PyArrayObject *__pyx_v_outtrend = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_SUPERTREND_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27803, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27804, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27805, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27806, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 27806, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 27806, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 27806, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27807, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27808, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27809, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_SUPERTREND_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27816, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27818, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_SUPERTREND_Lookback(__pyx_v_timeperiod, __pyx_v_multiplier)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27822, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outsupertrend = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_int_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27823, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outtrend = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_SUPERTREND_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_multiplier, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outsupertrend)) + __pyx_v_lookback), (((int *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outtrend)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_SUPERTREND_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27834, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27835, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 27835, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 27835, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 27835, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outsupertrend)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 27835, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27835, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 27835, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 27835, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 27835, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outtrend)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 27835, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27835, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 27835, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 27835, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 27835, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 27835, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 27835, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_14; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_14 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib.SUPERTREND_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outsupertrend); - __Pyx_XDECREF((PyObject *)__pyx_v_outtrend); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17SUPERTREND_Stream_6update, "SUPERTREND_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27837, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27837, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27837, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27837, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 27837, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 27837, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27837, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27837, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27837, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27838, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27838, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27838, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 27837, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUPERTREND_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outsupertrend; - int __pyx_v_outtrend; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SUPERTREND_Update(((TA_SUPERTREND_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outsupertrend), (&__pyx_v_outtrend)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUPERTREND_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27846, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outsupertrend); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27847, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_outtrend); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27847, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 27847, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 27847, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 27847, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.SUPERTREND_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17SUPERTREND_Stream_8peek, "SUPERTREND_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27849, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27849, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27849, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27849, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 27849, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 27849, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27849, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27849, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27849, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27850, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27850, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27850, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 27849, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.SUPERTREND_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outsupertrend; - int __pyx_v_outtrend; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SUPERTREND_Peek(((TA_SUPERTREND_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outsupertrend), (&__pyx_v_outtrend)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUPERTREND_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27858, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outsupertrend); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_outtrend); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 27859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 27859, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 27859, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.SUPERTREND_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self) { - double __pyx_v_outsupertrend; - int __pyx_v_outtrend; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_SUPERTREND_Value(((TA_SUPERTREND_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outsupertrend), (&__pyx_v_outtrend)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUPERTREND_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27870, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outsupertrend); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_outtrend); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 27871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 27871, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 27871, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.SUPERTREND_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17SUPERTREND_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SUPERTREND_OutRange(((TA_SUPERTREND_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_17SUPERTREND_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_SUPERTREND_Advance(((TA_SUPERTREND_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_17SUPERTREND_Stream_10copy, "SUPERTREND_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_17SUPERTREND_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_self) { - TA_SUPERTREND_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream))))) __PYX_ERR(3, 27882, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_SUPERTREND_Clone(((TA_SUPERTREND_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_SUPERTREND_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27892, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.SUPERTREND_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_9T3_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_9T3_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_9T3_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_T3_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_9T3_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_T3_Close(((TA_T3_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_9T3_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_9T3_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_vfactor; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_vfactor,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27917, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27917, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27917, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27917, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 27917, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, i); __PYX_ERR(3, 27917, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27917, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27917, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27917, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27917, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_vfactor = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_vfactor == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27917, __pyx_L3_error) - } else { - __pyx_v_vfactor = ((double)-4e37); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 27917, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.T3_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9T3_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_T3_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod, __pyx_v_vfactor); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_9T3_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_vfactor) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_T3_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27918, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27919, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 27919, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27920, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27921, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27922, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27927, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_T3_Lookback(__pyx_v_timeperiod, __pyx_v_vfactor) + 1); - - __pyx_v_retCode = TA_T3_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_vfactor, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_T3_Close(((TA_T3_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_T3_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27944, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.T3_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9T3_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9T3_Stream_4open_and_fill, "T3_Stream.open_and_fill(real, int timeperiod=-0x80000000, double vfactor=-4e37)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_9T3_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9T3_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9T3_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_9T3_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_vfactor; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_vfactor,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27946, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 27946, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, i); __PYX_ERR(3, 27946, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 27946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 27946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27946, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 27947, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_vfactor = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_vfactor == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27947, __pyx_L3_error) - } else { - __pyx_v_vfactor = ((double)-4e37); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 27946, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.T3_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9T3_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod, __pyx_v_vfactor); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9T3_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_vfactor) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_T3_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27948, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 27949, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 27950, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 27951, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 27952, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_T3_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_T3_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27958, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_T3_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 27960, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_T3_Lookback(__pyx_v_timeperiod, __pyx_v_vfactor)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27964, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_T3_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_vfactor, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_T3_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27975, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27976, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 27976, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 27976, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27976, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 27976, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 27976, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.T3_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9T3_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9T3_Stream_6update, "T3_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9T3_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27978, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27978, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 27978, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 27978, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27978, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27979, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 27978, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.T3_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9T3_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_T3_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9T3_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_T3_Update(((TA_T3_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_T3_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27986, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27987, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.T3_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9T3_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9T3_Stream_8peek, "T3_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9T3_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 27989, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27989, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 27989, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 27989, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 27989, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 27990, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 27989, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.T3_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_9T3_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_T3_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9T3_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_T3_Peek(((TA_T3_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_T3_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27997, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 27998, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.T3_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9T3_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_9T3_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_9T3_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_T3_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9T3_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_T3_Value(((TA_T3_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_T3_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28008, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28009, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.T3_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9T3_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_T3_OutRange(((TA_T3_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_9T3_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_T3_Advance(((TA_T3_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_9T3_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_9T3_Stream_10copy, "T3_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_9T3_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_9T3_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_T3_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_9T3_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_self) { - TA_T3_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_T3_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_T3_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28020, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_T3_Stream))))) __PYX_ERR(3, 28020, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_T3_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_T3_Clone(((TA_T3_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_T3_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28030, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.T3_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10TAN_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10TAN_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10TAN_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10TAN_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_TAN_Close(((TA_TAN_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10TAN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10TAN_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28052, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28052, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 28052, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 28052, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28052, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28052, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TAN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TAN_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10TAN_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_TAN_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28053, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28054, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 28054, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28055, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28056, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28057, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28062, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_TAN_Lookback() + 1); - - __pyx_v_retCode = TA_TAN_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_TAN_Close(((TA_TAN_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TAN_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28079, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TAN_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TAN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10TAN_Stream_4open_and_fill, "TAN_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10TAN_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TAN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TAN_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10TAN_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28081, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28081, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 28081, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 28081, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28081, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28081, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TAN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TAN_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TAN_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_TAN_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28084, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 28084, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28085, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28086, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28087, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_TAN_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TAN_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28093, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28095, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TAN_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28099, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TAN_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TAN_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 28111, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 28111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 28111, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 28111, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.TAN_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TAN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10TAN_Stream_6update, "TAN_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10TAN_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28113, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28113, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 28113, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 28113, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28113, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28114, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28113, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TAN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TAN_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TAN_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TAN_Update(((TA_TAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TAN_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28122, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TAN_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TAN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10TAN_Stream_8peek, "TAN_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10TAN_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28124, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28124, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 28124, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 28124, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28124, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28125, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28124, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TAN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TAN_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TAN_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TAN_Peek(((TA_TAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TAN_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TAN_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TAN_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TAN_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TAN_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TAN_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TAN_Value(((TA_TAN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TAN_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TAN_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10TAN_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TAN_OutRange(((TA_TAN_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10TAN_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TAN_Advance(((TA_TAN_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TAN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10TAN_Stream_10copy, "TAN_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10TAN_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TAN_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TAN_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_self) { - TA_TAN_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TAN_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TAN_Stream))))) __PYX_ERR(3, 28155, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_TAN_Clone(((TA_TAN_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TAN_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.TAN_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11TANH_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11TANH_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11TANH_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11TANH_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_TANH_Close(((TA_TANH_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11TANH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11TANH_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28187, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28187, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 28187, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 28187, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28187, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28187, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TANH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TANH_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11TANH_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self, PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_TANH_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28189, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 28189, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28190, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28191, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28192, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28197, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_TANH_Lookback() + 1); - - __pyx_v_retCode = TA_TANH_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_TANH_Close(((TA_TANH_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TANH_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TANH_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TANH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11TANH_Stream_4open_and_fill, "TANH_Stream.open_and_fill(real)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11TANH_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TANH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TANH_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11TANH_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28216, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28216, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 28216, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, i); __PYX_ERR(3, 28216, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28216, __pyx_L3_error) - } - __pyx_v_real = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28216, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TANH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TANH_Stream_4open_and_fill(__pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TANH_Stream_4open_and_fill(PyObject *__pyx_v_real) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_TANH_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28218, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 28219, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28220, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28221, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28222, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_TANH_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TANH_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28230, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TANH_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28234, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TANH_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TANH_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28245, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 28246, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 28246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 28246, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 28246, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.TANH_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TANH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11TANH_Stream_6update, "TANH_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11TANH_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28248, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28248, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 28248, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 28248, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28248, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28249, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28248, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TANH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TANH_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TANH_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TANH_Update(((TA_TANH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TANH_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28257, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TANH_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TANH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11TANH_Stream_8peek, "TANH_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11TANH_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28259, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28259, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 28259, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 28259, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28259, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28260, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28259, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TANH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TANH_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TANH_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TANH_Peek(((TA_TANH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TANH_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TANH_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TANH_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TANH_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TANH_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TANH_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TANH_Value(((TA_TANH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TANH_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28278, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28279, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TANH_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11TANH_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TANH_OutRange(((TA_TANH_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11TANH_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TANH_Advance(((TA_TANH_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TANH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11TANH_Stream_10copy, "TANH_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11TANH_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TANH_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TANH_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_self) { - TA_TANH_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TANH_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28290, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TANH_Stream))))) __PYX_ERR(3, 28290, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_TANH_Clone(((TA_TANH_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TANH_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28300, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.TANH_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11TEMA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11TEMA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11TEMA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11TEMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_TEMA_Close(((TA_TEMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11TEMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11TEMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28324, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28324, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28324, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 28324, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 28324, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28324, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28324, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 28324, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 28324, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TEMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TEMA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11TEMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_TEMA_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28325, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28326, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 28326, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28327, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28328, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28329, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28334, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_TEMA_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_TEMA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_TEMA_Close(((TA_TEMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TEMA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TEMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11TEMA_Stream_4open_and_fill, "TEMA_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11TEMA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TEMA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28353, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28353, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28353, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 28353, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 28353, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28353, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28353, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 28354, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 28353, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TEMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TEMA_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TEMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_TEMA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28355, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28356, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 28356, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28357, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28358, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28359, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_TEMA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28365, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28367, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TEMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28371, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TEMA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TEMA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28383, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 28383, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 28383, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28383, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 28383, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 28383, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.TEMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11TEMA_Stream_6update, "TEMA_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28385, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28385, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 28385, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 28385, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28385, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28386, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28385, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TEMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TEMA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TEMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TEMA_Update(((TA_TEMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TEMA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28393, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28394, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TEMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11TEMA_Stream_8peek, "TEMA_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28396, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28396, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 28396, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 28396, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28396, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28397, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28396, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TEMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TEMA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TEMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TEMA_Peek(((TA_TEMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TEMA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28404, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28405, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TEMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TEMA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TEMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TEMA_Value(((TA_TEMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TEMA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28415, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28416, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TEMA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11TEMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TEMA_OutRange(((TA_TEMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11TEMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TEMA_Advance(((TA_TEMA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11TEMA_Stream_10copy, "TEMA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TEMA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TEMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_self) { - TA_TEMA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28427, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream))))) __PYX_ERR(3, 28427, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_TEMA_Clone(((TA_TEMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TEMA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28437, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.TEMA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_13TRANGE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_13TRANGE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_TRANGE_Close(((TA_TRANGE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28459, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 28459, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28459, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28459, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 28459, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, i); __PYX_ERR(3, 28459, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28459, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28459, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 28459, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 28459, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRANGE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_TRANGE_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28460, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28461, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28463, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 28463, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 28463, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 28463, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28464, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28465, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28466, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28471, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_TRANGE_Lookback() + 1); - - __pyx_v_retCode = TA_TRANGE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_TRANGE_Close(((TA_TRANGE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TRANGE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28488, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TRANGE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13TRANGE_Stream_4open_and_fill, "TRANGE_Stream.open_and_fill(high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13TRANGE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13TRANGE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28490, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 28490, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28490, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28490, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 28490, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 3, 3, i); __PYX_ERR(3, 28490, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28490, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28490, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 28490, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 28490, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRANGE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_TRANGE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28493, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28494, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28495, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 28495, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 28495, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 28495, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28496, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28497, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28498, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_TRANGE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28504, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28506, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TRANGE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28510, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TRANGE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TRANGE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28521, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 28522, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 28522, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 28522, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 28522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 28522, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 28522, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.TRANGE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13TRANGE_Stream_6update, "TRANGE_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28524, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 28524, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28524, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28524, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 28524, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 28524, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28524, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28524, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 28524, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28525, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28525, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28525, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 28524, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRANGE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TRANGE_Update(((TA_TRANGE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRANGE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28532, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28533, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TRANGE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13TRANGE_Stream_8peek, "TRANGE_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28535, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 28535, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28535, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28535, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 28535, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 28535, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28535, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28535, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 28535, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28536, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28536, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28536, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 28535, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRANGE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TRANGE_Peek(((TA_TRANGE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRANGE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28544, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TRANGE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TRANGE_Value(((TA_TRANGE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRANGE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28554, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28555, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TRANGE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13TRANGE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TRANGE_OutRange(((TA_TRANGE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13TRANGE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TRANGE_Advance(((TA_TRANGE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13TRANGE_Stream_10copy, "TRANGE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13TRANGE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_self) { - TA_TRANGE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28566, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream))))) __PYX_ERR(3, 28566, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_TRANGE_Clone(((TA_TRANGE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRANGE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.TRANGE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_12TRIMA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_12TRIMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_TRIMA_Close(((TA_TRIMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28600, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 28600, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 28600, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28600, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28600, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 28600, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 28600, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRIMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_TRIMA_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28602, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 28602, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28603, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28604, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28605, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28610, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_TRIMA_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_TRIMA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_TRIMA_Close(((TA_TRIMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TRIMA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28627, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TRIMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12TRIMA_Stream_4open_and_fill, "TRIMA_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_12TRIMA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12TRIMA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28629, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28629, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28629, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 28629, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 28629, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28629, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28629, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 28630, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 28629, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRIMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_TRIMA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28631, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28632, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 28632, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28633, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28634, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28635, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_TRIMA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28643, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TRIMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28647, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TRIMA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TRIMA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28658, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28659, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 28659, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 28659, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28659, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 28659, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 28659, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.TRIMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12TRIMA_Stream_6update, "TRIMA_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28661, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28661, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 28661, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 28661, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28661, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28662, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28661, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRIMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TRIMA_Update(((TA_TRIMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRIMA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28669, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28670, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TRIMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12TRIMA_Stream_8peek, "TRIMA_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28672, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28672, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 28672, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 28672, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28672, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28673, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28672, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRIMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TRIMA_Peek(((TA_TRIMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRIMA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28680, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28681, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TRIMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TRIMA_Value(((TA_TRIMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRIMA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28691, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28692, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TRIMA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12TRIMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TRIMA_OutRange(((TA_TRIMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12TRIMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TRIMA_Advance(((TA_TRIMA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12TRIMA_Stream_10copy, "TRIMA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12TRIMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_self) { - TA_TRIMA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28703, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream))))) __PYX_ERR(3, 28703, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_TRIMA_Clone(((TA_TRIMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRIMA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28713, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.TRIMA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11TRIX_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11TRIX_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11TRIX_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11TRIX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_TRIX_Close(((TA_TRIX_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11TRIX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11TRIX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28737, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28737, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28737, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 28737, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 28737, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28737, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28737, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 28737, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 28737, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRIX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TRIX_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11TRIX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_TRIX_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28738, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28739, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 28739, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28740, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28741, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28742, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28747, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_TRIX_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_TRIX_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_TRIX_Close(((TA_TRIX_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TRIX_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28764, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TRIX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11TRIX_Stream_4open_and_fill, "TRIX_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11TRIX_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TRIX_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28766, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28766, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28766, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 28766, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 28766, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28766, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28766, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 28767, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 28766, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRIX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TRIX_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TRIX_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_TRIX_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28768, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28769, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 28769, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28770, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28771, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28772, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_TRIX_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28778, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28780, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TRIX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28784, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TRIX_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TRIX_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28795, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28796, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 28796, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 28796, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28796, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 28796, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 28796, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.TRIX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11TRIX_Stream_6update, "TRIX_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28798, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28798, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 28798, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 28798, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28798, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28799, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28798, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRIX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TRIX_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TRIX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TRIX_Update(((TA_TRIX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRIX_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28806, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28807, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TRIX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11TRIX_Stream_8peek, "TRIX_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28809, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28809, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 28809, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 28809, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28809, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28810, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28809, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TRIX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TRIX_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TRIX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TRIX_Peek(((TA_TRIX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRIX_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28817, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28818, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TRIX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TRIX_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TRIX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TRIX_Value(((TA_TRIX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRIX_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28828, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28829, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TRIX_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11TRIX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TRIX_OutRange(((TA_TRIX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11TRIX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TRIX_Advance(((TA_TRIX_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11TRIX_Stream_10copy, "TRIX_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11TRIX_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11TRIX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_self) { - TA_TRIX_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28840, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream))))) __PYX_ERR(3, 28840, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_TRIX_Clone(((TA_TRIX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TRIX_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28850, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.TRIX_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10TSF_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10TSF_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10TSF_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10TSF_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_TSF_Close(((TA_TSF_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10TSF_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10TSF_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28874, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28874, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28874, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 28874, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 28874, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28874, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28874, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 28874, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 28874, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TSF_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TSF_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10TSF_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_TSF_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28875, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28876, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 28876, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28877, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28878, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28879, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28884, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_TSF_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_TSF_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_TSF_Close(((TA_TSF_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TSF_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28901, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TSF_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSF_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10TSF_Stream_4open_and_fill, "TSF_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10TSF_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TSF_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TSF_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSF_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28903, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28903, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28903, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 28903, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 28903, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 28903, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28903, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 28904, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 28903, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TSF_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TSF_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSF_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_TSF_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28905, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28906, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 28906, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 28907, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 28908, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 28909, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_TSF_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSF_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28915, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 28917, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TSF_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28921, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TSF_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TSF_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28932, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 28933, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 28933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 28933, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 28933, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.TSF_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSF_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10TSF_Stream_6update, "TSF_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSF_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28935, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28935, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 28935, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 28935, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28935, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28936, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28935, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TSF_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TSF_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSF_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TSF_Update(((TA_TSF_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TSF_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28943, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28944, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TSF_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSF_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10TSF_Stream_8peek, "TSF_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSF_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 28946, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28946, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 28946, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 28946, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 28946, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 28947, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 28946, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TSF_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TSF_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSF_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TSF_Peek(((TA_TSF_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TSF_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28954, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28955, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TSF_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSF_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSF_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TSF_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSF_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TSF_Value(((TA_TSF_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TSF_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28965, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 28966, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TSF_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10TSF_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TSF_OutRange(((TA_TSF_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10TSF_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TSF_Advance(((TA_TSF_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSF_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10TSF_Stream_10copy, "TSF_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSF_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TSF_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSF_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_self) { - TA_TSF_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSF_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28977, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSF_Stream))))) __PYX_ERR(3, 28977, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_TSF_Clone(((TA_TSF_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TSF_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28987, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.TSF_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10TSI_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10TSI_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10TSI_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10TSI_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_TSI_Close(((TA_TSI_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10TSI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10TSI_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_firstperiod; - int __pyx_v_secondperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_firstperiod,&__pyx_mstate_global->__pyx_n_u_secondperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29012, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29012, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29012, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29012, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 29012, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, i); __PYX_ERR(3, 29012, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29012, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29012, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29012, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_firstperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_firstperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29012, __pyx_L3_error) - } else { - __pyx_v_firstperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_secondperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_secondperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29012, __pyx_L3_error) - } else { - __pyx_v_secondperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 29012, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TSI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TSI_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_firstperiod, __pyx_v_secondperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10TSI_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_firstperiod, int __pyx_v_secondperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_TSI_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29013, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29014, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 29014, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29015, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29016, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29017, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29022, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_TSI_Lookback(__pyx_v_firstperiod, __pyx_v_secondperiod) + 1); - - __pyx_v_retCode = TA_TSI_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_firstperiod, __pyx_v_secondperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_TSI_Close(((TA_TSI_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TSI_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29039, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TSI_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10TSI_Stream_4open_and_fill, "TSI_Stream.open_and_fill(real, int firstperiod=-0x80000000, int secondperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10TSI_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TSI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TSI_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSI_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_firstperiod; - int __pyx_v_secondperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_firstperiod,&__pyx_mstate_global->__pyx_n_u_secondperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29041, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29041, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29041, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29041, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 29041, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, i); __PYX_ERR(3, 29041, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29041, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29041, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29041, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_firstperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_firstperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29042, __pyx_L3_error) - } else { - __pyx_v_firstperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_secondperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_secondperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29042, __pyx_L3_error) - } else { - __pyx_v_secondperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 29041, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TSI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TSI_Stream_4open_and_fill(__pyx_v_real, __pyx_v_firstperiod, __pyx_v_secondperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSI_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_firstperiod, int __pyx_v_secondperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_TSI_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29043, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29044, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 29044, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29045, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29046, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29047, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_TSI_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSI_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29053, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29055, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TSI_Lookback(__pyx_v_firstperiod, __pyx_v_secondperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29059, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TSI_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_firstperiod, __pyx_v_secondperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TSI_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29070, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29071, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 29071, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 29071, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29071, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 29071, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 29071, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.TSI_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10TSI_Stream_6update, "TSI_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSI_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29073, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29073, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 29073, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 29073, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29073, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29074, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 29073, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TSI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TSI_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSI_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TSI_Update(((TA_TSI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TSI_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29081, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29082, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TSI_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10TSI_Stream_8peek, "TSI_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSI_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29084, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29084, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 29084, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 29084, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29084, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29085, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 29084, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TSI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TSI_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSI_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TSI_Peek(((TA_TSI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TSI_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29092, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29093, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TSI_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSI_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSI_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TSI_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSI_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TSI_Value(((TA_TSI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TSI_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29103, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TSI_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10TSI_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TSI_OutRange(((TA_TSI_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10TSI_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TSI_Advance(((TA_TSI_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10TSI_Stream_10copy, "TSI_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10TSI_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10TSI_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10TSI_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_self) { - TA_TSI_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSI_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29115, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSI_Stream))))) __PYX_ERR(3, 29115, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_TSI_Clone(((TA_TSI_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TSI_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29125, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.TSI_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_TYPPRICE_Close(((TA_TYPPRICE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29147, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29147, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29147, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29147, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 29147, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, i); __PYX_ERR(3, 29147, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29147, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29147, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29147, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 29147, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TYPPRICE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_TYPPRICE_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29148, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 29151, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 29151, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 29151, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29152, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29153, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29154, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29159, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_TYPPRICE_Lookback() + 1); - - __pyx_v_retCode = TA_TYPPRICE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_TYPPRICE_Close(((TA_TYPPRICE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TYPPRICE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.TYPPRICE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15TYPPRICE_Stream_4open_and_fill, "TYPPRICE_Stream.open_and_fill(high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15TYPPRICE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15TYPPRICE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29178, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29178, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29178, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29178, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 29178, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 3, 3, i); __PYX_ERR(3, 29178, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29178, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29178, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29178, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 29178, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TYPPRICE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_TYPPRICE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29182, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 29183, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 29183, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 29183, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29184, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29185, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29186, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_TYPPRICE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29192, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29194, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_TYPPRICE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29198, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_TYPPRICE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_TYPPRICE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29209, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 29210, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 29210, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 29210, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 29210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 29210, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 29210, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.TYPPRICE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15TYPPRICE_Stream_6update, "TYPPRICE_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29212, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29212, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29212, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29212, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 29212, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 29212, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29212, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29212, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29212, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29213, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29213, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29213, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 29212, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TYPPRICE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TYPPRICE_Update(((TA_TYPPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TYPPRICE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TYPPRICE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15TYPPRICE_Stream_8peek, "TYPPRICE_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29223, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29223, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29223, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29223, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 29223, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 29223, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29223, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29223, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29223, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29224, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29224, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29224, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 29223, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.TYPPRICE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TYPPRICE_Peek(((TA_TYPPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TYPPRICE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29231, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TYPPRICE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_TYPPRICE_Value(((TA_TYPPRICE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TYPPRICE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29243, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.TYPPRICE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15TYPPRICE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TYPPRICE_OutRange(((TA_TYPPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15TYPPRICE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_TYPPRICE_Advance(((TA_TYPPRICE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15TYPPRICE_Stream_10copy, "TYPPRICE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15TYPPRICE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_self) { - TA_TYPPRICE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29254, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream))))) __PYX_ERR(3, 29254, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_TYPPRICE_Clone(((TA_TYPPRICE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_TYPPRICE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.TYPPRICE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ULTOSC_Close(((TA_ULTOSC_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod1; - int __pyx_v_timeperiod2; - int __pyx_v_timeperiod3; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[6] = {0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod1,&__pyx_mstate_global->__pyx_n_u_timeperiod2,&__pyx_mstate_global->__pyx_n_u_timeperiod3,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29290, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 29290, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 29290, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29290, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29290, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29290, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29290, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 29290, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 6, i); __PYX_ERR(3, 29290, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 29290, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 29290, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29290, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29290, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29290, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29290, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod1 = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29290, __pyx_L3_error) - } else { - __pyx_v_timeperiod1 = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_timeperiod2 = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_timeperiod2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29290, __pyx_L3_error) - } else { - __pyx_v_timeperiod2 = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_timeperiod3 = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_timeperiod3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29290, __pyx_L3_error) - } else { - __pyx_v_timeperiod3 = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 6, __pyx_nargs); __PYX_ERR(3, 29290, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ULTOSC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod1, __pyx_v_timeperiod2, __pyx_v_timeperiod3); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod1, int __pyx_v_timeperiod2, int __pyx_v_timeperiod3) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ULTOSC_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29291, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29292, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29293, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29294, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 29294, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 29294, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 29294, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29295, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29296, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29297, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29302, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ULTOSC_Lookback(__pyx_v_timeperiod1, __pyx_v_timeperiod2, __pyx_v_timeperiod3) + 1); - - __pyx_v_retCode = TA_ULTOSC_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod1, __pyx_v_timeperiod2, __pyx_v_timeperiod3, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ULTOSC_Close(((TA_ULTOSC_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ULTOSC_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29319, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ULTOSC_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13ULTOSC_Stream_4open_and_fill, "ULTOSC_Stream.open_and_fill(high, low, close, int timeperiod1=-0x80000000, int timeperiod2=-0x80000000, int timeperiod3=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13ULTOSC_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13ULTOSC_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod1; - int __pyx_v_timeperiod2; - int __pyx_v_timeperiod3; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[6] = {0,0,0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod1,&__pyx_mstate_global->__pyx_n_u_timeperiod2,&__pyx_mstate_global->__pyx_n_u_timeperiod3,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29321, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 29321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 29321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 29321, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 6, i); __PYX_ERR(3, 29321, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 6: - values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(3, 29321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 5: - values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(3, 29321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29321, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29321, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29321, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29321, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod1 = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29322, __pyx_L3_error) - } else { - __pyx_v_timeperiod1 = ((int)-2147483648); - } - if (values[4]) { - __pyx_v_timeperiod2 = __Pyx_PyLong_As_int(values[4]); if (unlikely((__pyx_v_timeperiod2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29322, __pyx_L3_error) - } else { - __pyx_v_timeperiod2 = ((int)-2147483648); - } - if (values[5]) { - __pyx_v_timeperiod3 = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_timeperiod3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29322, __pyx_L3_error) - } else { - __pyx_v_timeperiod3 = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 6, __pyx_nargs); __PYX_ERR(3, 29321, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ULTOSC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod1, __pyx_v_timeperiod2, __pyx_v_timeperiod3); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod1, int __pyx_v_timeperiod2, int __pyx_v_timeperiod3) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ULTOSC_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29323, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29324, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29325, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29326, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 29326, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 29326, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 29326, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29327, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29328, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29329, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ULTOSC_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29337, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ULTOSC_Lookback(__pyx_v_timeperiod1, __pyx_v_timeperiod2, __pyx_v_timeperiod3)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29341, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ULTOSC_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod1, __pyx_v_timeperiod2, __pyx_v_timeperiod3, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ULTOSC_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29352, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 29353, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 29353, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 29353, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 29353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 29353, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 29353, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ULTOSC_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13ULTOSC_Stream_6update, "ULTOSC_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29355, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29355, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29355, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29355, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 29355, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 29355, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29355, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29355, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29355, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29356, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29356, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29356, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 29355, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ULTOSC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ULTOSC_Update(((TA_ULTOSC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ULTOSC_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29363, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29364, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ULTOSC_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13ULTOSC_Stream_8peek, "ULTOSC_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29366, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29366, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29366, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29366, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 29366, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 29366, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29366, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29366, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29366, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29367, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29367, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29367, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 29366, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ULTOSC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ULTOSC_Peek(((TA_ULTOSC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ULTOSC_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29375, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ULTOSC_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ULTOSC_Value(((TA_ULTOSC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ULTOSC_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ULTOSC_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13ULTOSC_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ULTOSC_OutRange(((TA_ULTOSC_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13ULTOSC_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ULTOSC_Advance(((TA_ULTOSC_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13ULTOSC_Stream_10copy, "ULTOSC_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13ULTOSC_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_self) { - TA_ULTOSC_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29397, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream))))) __PYX_ERR(3, 29397, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ULTOSC_Clone(((TA_ULTOSC_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ULTOSC_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29407, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ULTOSC_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10VAR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10VAR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10VAR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10VAR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_VAR_Close(((TA_VAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10VAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10VAR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_nbdev; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_nbdev,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29432, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29432, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29432, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29432, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 29432, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, i); __PYX_ERR(3, 29432, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29432, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29432, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29432, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29432, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_nbdev = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_nbdev == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29432, __pyx_L3_error) - } else { - __pyx_v_nbdev = ((double)-4e37); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 29432, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10VAR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod, __pyx_v_nbdev); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10VAR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdev) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_VAR_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29434, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 29434, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29435, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29436, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29437, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29442, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_VAR_Lookback(__pyx_v_timeperiod, __pyx_v_nbdev) + 1); - - __pyx_v_retCode = TA_VAR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_nbdev, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_VAR_Close(((TA_VAR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_VAR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.VAR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10VAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10VAR_Stream_4open_and_fill, "VAR_Stream.open_and_fill(real, int timeperiod=-0x80000000, double nbdev=-4e37)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10VAR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10VAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10VAR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10VAR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - double __pyx_v_nbdev; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,&__pyx_mstate_global->__pyx_n_u_nbdev,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29461, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29461, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29461, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29461, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 29461, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, i); __PYX_ERR(3, 29461, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29461, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29461, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29461, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29462, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - if (values[2]) { - __pyx_v_nbdev = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_nbdev == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29462, __pyx_L3_error) - } else { - __pyx_v_nbdev = ((double)-4e37); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 29461, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10VAR_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod, __pyx_v_nbdev); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10VAR_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod, double __pyx_v_nbdev) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_VAR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29463, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29464, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 29464, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29465, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29466, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29467, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_VAR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VAR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29473, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29475, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_VAR_Lookback(__pyx_v_timeperiod, __pyx_v_nbdev)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29479, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_VAR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, __pyx_v_nbdev, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_VAR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29491, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 29491, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 29491, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29491, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 29491, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 29491, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.VAR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10VAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10VAR_Stream_6update, "VAR_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10VAR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29493, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29493, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 29493, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 29493, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29493, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29494, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 29493, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10VAR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10VAR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VAR_Update(((TA_VAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VAR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29501, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29502, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.VAR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10VAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10VAR_Stream_8peek, "VAR_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10VAR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29504, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29504, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 29504, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 29504, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29504, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29505, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 29504, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10VAR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10VAR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VAR_Peek(((TA_VAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VAR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29512, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29513, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.VAR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10VAR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10VAR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10VAR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10VAR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VAR_Value(((TA_VAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VAR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29524, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.VAR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10VAR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_VAR_OutRange(((TA_VAR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10VAR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_VAR_Advance(((TA_VAR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10VAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10VAR_Stream_10copy, "VAR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10VAR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10VAR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10VAR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_self) { - TA_VAR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VAR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29535, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VAR_Stream))))) __PYX_ERR(3, 29535, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_VAR_Clone(((TA_VAR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VAR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.VAR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10VHF_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10VHF_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10VHF_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10VHF_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_VHF_Close(((TA_VHF_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10VHF_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10VHF_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29569, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29569, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29569, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 29569, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 29569, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29569, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29569, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29569, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 29569, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VHF_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10VHF_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10VHF_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_VHF_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29570, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29571, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 29571, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29572, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29573, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29574, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29579, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_VHF_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_VHF_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_VHF_Close(((TA_VHF_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_VHF_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29596, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.VHF_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10VHF_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10VHF_Stream_4open_and_fill, "VHF_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10VHF_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10VHF_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10VHF_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10VHF_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29598, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29598, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29598, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 29598, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 29598, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29598, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29598, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29599, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 29598, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VHF_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10VHF_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10VHF_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_VHF_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 29601, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29602, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29603, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29604, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_VHF_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VHF_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29610, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29612, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_VHF_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29616, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_VHF_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_VHF_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29627, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29628, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 29628, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 29628, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29628, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 29628, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 29628, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.VHF_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10VHF_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10VHF_Stream_6update, "VHF_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10VHF_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29630, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29630, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 29630, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 29630, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29630, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29631, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 29630, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VHF_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10VHF_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10VHF_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VHF_Update(((TA_VHF_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VHF_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29638, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29639, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.VHF_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10VHF_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10VHF_Stream_8peek, "VHF_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10VHF_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29641, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29641, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 29641, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 29641, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29641, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29642, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 29641, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VHF_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10VHF_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10VHF_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VHF_Peek(((TA_VHF_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VHF_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29649, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29650, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.VHF_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10VHF_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10VHF_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10VHF_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10VHF_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VHF_Value(((TA_VHF_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VHF_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29660, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29661, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.VHF_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10VHF_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_VHF_OutRange(((TA_VHF_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10VHF_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_VHF_Advance(((TA_VHF_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10VHF_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10VHF_Stream_10copy, "VHF_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10VHF_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10VHF_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10VHF_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_self) { - TA_VHF_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VHF_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29672, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VHF_Stream))))) __PYX_ERR(3, 29672, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_VHF_Clone(((TA_VHF_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VHF_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29682, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.VHF_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_13VORTEX_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_13VORTEX_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_VORTEX_Close(((TA_VORTEX_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29707, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29707, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29707, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29707, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29707, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 29707, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, i); __PYX_ERR(3, 29707, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29707, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29707, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29707, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29707, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29707, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 29707, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VORTEX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_VORTEX_Stream *__pyx_v_handle; - double __pyx_v_outplusvi; - double __pyx_v_outminusvi; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29708, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29709, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29710, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29711, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 29711, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 29711, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 29711, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29712, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29713, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29714, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29720, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_VORTEX_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_VORTEX_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outplusvi), (&__pyx_v_outminusvi)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_VORTEX_Close(((TA_VORTEX_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_VORTEX_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29737, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.VORTEX_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13VORTEX_Stream_4open_and_fill, "VORTEX_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_13VORTEX_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13VORTEX_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29739, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29739, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29739, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29739, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29739, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 29739, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, i); __PYX_ERR(3, 29739, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29739, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29739, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29739, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29739, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29740, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 29739, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VORTEX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outplusvi = 0; - PyArrayObject *__pyx_v_outminusvi = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_VORTEX_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29741, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29742, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29743, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 29744, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 29744, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 29744, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29745, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29746, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29747, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_VORTEX_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29754, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29756, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_VORTEX_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29760, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outplusvi = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29761, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outminusvi = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_VORTEX_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outplusvi)) + __pyx_v_lookback), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outminusvi)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_VORTEX_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29773, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 29773, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 29773, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 29773, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outplusvi)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 29773, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29773, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 29773, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 29773, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 29773, __pyx_L1_error); - __pyx_t_14 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outminusvi)); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 29773, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29773, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13) != (0)) __PYX_ERR(3, 29773, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14) != (0)) __PYX_ERR(3, 29773, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(3, 29773, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 29773, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 29773, __pyx_L1_error); - __pyx_t_1 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_14; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_14 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("talib._ta_lib.VORTEX_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outplusvi); - __Pyx_XDECREF((PyObject *)__pyx_v_outminusvi); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13VORTEX_Stream_6update, "VORTEX_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29775, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29775, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29775, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29775, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 29775, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 29775, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29775, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29775, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29775, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29776, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29776, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29776, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 29775, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VORTEX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outplusvi; - double __pyx_v_outminusvi; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VORTEX_Update(((TA_VORTEX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outplusvi), (&__pyx_v_outminusvi)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VORTEX_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29784, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outplusvi); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outminusvi); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 29785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 29785, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 29785, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.VORTEX_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13VORTEX_Stream_8peek, "VORTEX_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29787, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29787, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29787, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29787, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 29787, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 29787, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29787, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29787, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29787, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29788, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29788, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29788, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 29787, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VORTEX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outplusvi; - double __pyx_v_outminusvi; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VORTEX_Peek(((TA_VORTEX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outplusvi), (&__pyx_v_outminusvi)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VORTEX_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29796, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outplusvi); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29797, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outminusvi); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29797, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 29797, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 29797, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 29797, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.VORTEX_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self) { - double __pyx_v_outplusvi; - double __pyx_v_outminusvi; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VORTEX_Value(((TA_VORTEX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outplusvi), (&__pyx_v_outminusvi)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VORTEX_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29808, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outplusvi); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_outminusvi); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 29809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(3, 29809, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4) != (0)) __PYX_ERR(3, 29809, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_5; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_5 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("talib._ta_lib.VORTEX_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13VORTEX_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_VORTEX_OutRange(((TA_VORTEX_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_13VORTEX_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_VORTEX_Advance(((TA_VORTEX_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_13VORTEX_Stream_10copy, "VORTEX_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_13VORTEX_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_self) { - TA_VORTEX_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29820, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream))))) __PYX_ERR(3, 29820, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_VORTEX_Clone(((TA_VORTEX_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VORTEX_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29830, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.VORTEX_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11VWAP_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11VWAP_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11VWAP_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11VWAP_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_VWAP_Close(((TA_VWAP_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11VWAP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11VWAP_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29852, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29852, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29852, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29852, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29852, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 29852, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, i); __PYX_ERR(3, 29852, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29852, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29852, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29852, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29852, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - __pyx_v_volume = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 29852, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VWAP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11VWAP_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11VWAP_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_VWAP_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29853, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29856, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29857, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 29857, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 29857, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 29857, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 29857, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29858, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29859, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29860, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29865, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_VWAP_Lookback() + 1); - - __pyx_v_retCode = TA_VWAP_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_VWAP_Close(((TA_VWAP_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_VWAP_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.VWAP_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11VWAP_Stream_4open_and_fill, "VWAP_Stream.open_and_fill(high, low, close, volume)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11VWAP_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11VWAP_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - PyObject *__pyx_v_volume = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29884, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29884, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29884, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29884, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29884, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 29884, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, i); __PYX_ERR(3, 29884, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29884, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29884, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29884, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29884, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - __pyx_v_volume = values[3]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 29884, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VWAP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11VWAP_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWAP_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, PyObject *__pyx_v_volume) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_VWAP_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29886, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29887, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29888, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29890, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 29890, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 29890, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 29890, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 29890, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 29891, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 29892, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 29893, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_VWAP_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29899, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 29901, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_VWAP_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29905, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_VWAP_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_VWAP_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29917, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 29917, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 29917, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 29917, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_volume) != (0)) __PYX_ERR(3, 29917, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 29917, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29917, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 29917, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 29917, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.VWAP_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11VWAP_Stream_6update, "VWAP_Stream.update(self, double high, double low, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29919, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29919, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29919, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29919, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29919, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 29919, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, i); __PYX_ERR(3, 29919, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29919, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29919, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29919, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29919, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29920, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29920, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29920, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29920, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 29919, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VWAP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11VWAP_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWAP_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VWAP_Update(((TA_VWAP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VWAP_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29927, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29928, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.VWAP_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11VWAP_Stream_8peek, "VWAP_Stream.peek(self, double high, double low, double close, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29930, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29930, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29930, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29930, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29930, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 29930, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 4; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, i); __PYX_ERR(3, 29930, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 4)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29930, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29930, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29930, __pyx_L3_error) - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 29930, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29931, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29931, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29931, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 29931, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 4, 4, __pyx_nargs); __PYX_ERR(3, 29930, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VWAP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11VWAP_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWAP_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VWAP_Peek(((TA_VWAP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VWAP_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29938, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29939, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.VWAP_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11VWAP_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWAP_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VWAP_Value(((TA_VWAP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VWAP_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 29950, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.VWAP_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11VWAP_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_VWAP_OutRange(((TA_VWAP_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11VWAP_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_VWAP_Advance(((TA_VWAP_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11VWAP_Stream_10copy, "VWAP_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11VWAP_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWAP_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_self) { - TA_VWAP_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29961, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream))))) __PYX_ERR(3, 29961, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_VWAP_Clone(((TA_VWAP_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VWAP_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29971, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.VWAP_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_11VWMA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_11VWMA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_11VWMA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_11VWMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_VWMA_Close(((TA_VWMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_11VWMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_11VWMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - PyObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 29996, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29996, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29996, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29996, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 29996, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, i); __PYX_ERR(3, 29996, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 29996, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 29996, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 29996, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - __pyx_v_volume = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 29996, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 29996, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VWMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11VWMA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_11VWMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, PyObject *__pyx_v_volume, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_VWMA_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29997, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29998, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29999, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 29999, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 29999, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 30000, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 30001, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 30002, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 30007, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_VWMA_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_VWMA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_VWMA_Close(((TA_VWMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_VWMA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30024, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.VWMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11VWMA_Stream_4open_and_fill, "VWMA_Stream.open_and_fill(real, volume, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_11VWMA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11VWMA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - PyObject *__pyx_v_volume = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_volume,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30026, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30026, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30026, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30026, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 30026, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, i); __PYX_ERR(3, 30026, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30026, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30026, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30026, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - __pyx_v_volume = values[1]; - if (values[2]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 30027, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 2, 3, __pyx_nargs); __PYX_ERR(3, 30026, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VWMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11VWMA_Stream_4open_and_fill(__pyx_v_real, __pyx_v_volume, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWMA_Stream_4open_and_fill(PyObject *__pyx_v_real, PyObject *__pyx_v_volume, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyArrayObject *__pyx_v_a_volume = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_VWMA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30028, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_volume)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30029, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_volume = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30030, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 30030, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_volume); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_volume)) != (0)) __PYX_ERR(3, 30030, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 30031, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 30032, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 30033, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_VWMA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30039, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 30041, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_VWMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30045, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_VWMA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_volume)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_VWMA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30057, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 30057, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_volume); - __Pyx_GIVEREF(__pyx_v_volume); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_volume) != (0)) __PYX_ERR(3, 30057, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 30057, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30057, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 30057, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 30057, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.VWMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF((PyObject *)__pyx_v_a_volume); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11VWMA_Stream_6update, "VWMA_Stream.update(self, double real, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30059, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30059, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30059, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 30059, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, i); __PYX_ERR(3, 30059, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30059, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30059, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30060, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30060, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 30059, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VWMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11VWMA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self, double __pyx_v_real, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VWMA_Update(((TA_VWMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VWMA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30067, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30068, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.VWMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11VWMA_Stream_8peek, "VWMA_Stream.peek(self, double real, double volume)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - double __pyx_v_volume; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_volume,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30070, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30070, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30070, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 30070, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 2; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, i); __PYX_ERR(3, 30070, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30070, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30070, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30071, __pyx_L3_error) - __pyx_v_volume = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_volume == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30071, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 30070, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.VWMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_11VWMA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_volume); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self, double __pyx_v_real, double __pyx_v_volume) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VWMA_Peek(((TA_VWMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, __pyx_v_volume, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VWMA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30078, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30079, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.VWMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_11VWMA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_VWMA_Value(((TA_VWMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VWMA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30089, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30090, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.VWMA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11VWMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_VWMA_OutRange(((TA_VWMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_11VWMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_VWMA_Advance(((TA_VWMA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_11VWMA_Stream_10copy, "VWMA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_11VWMA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_11VWMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_self) { - TA_VWMA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream))))) __PYX_ERR(3, 30101, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_VWMA_Clone(((TA_VWMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_VWMA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.VWMA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10WAD_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10WAD_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10WAD_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10WAD_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_WAD_Close(((TA_WAD_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10WAD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10WAD_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30133, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30133, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30133, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30133, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 30133, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, i); __PYX_ERR(3, 30133, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30133, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30133, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30133, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 30133, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WAD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10WAD_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10WAD_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_WAD_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30137, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 30137, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 30137, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 30137, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 30138, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 30139, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 30140, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 30145, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_WAD_Lookback() + 1); - - __pyx_v_retCode = TA_WAD_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_WAD_Close(((TA_WAD_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_WAD_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.WAD_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10WAD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10WAD_Stream_4open_and_fill, "WAD_Stream.open_and_fill(high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10WAD_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10WAD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10WAD_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10WAD_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30164, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30164, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30164, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30164, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 30164, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 3, 3, i); __PYX_ERR(3, 30164, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30164, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30164, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30164, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 30164, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WAD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10WAD_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10WAD_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_WAD_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30168, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 30169, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 30169, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 30169, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 30170, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 30171, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 30172, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_WAD_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WAD_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 30180, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_WAD_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30184, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_WAD_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_WAD_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 30196, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 30196, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 30196, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 30196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 30196, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 30196, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.WAD_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10WAD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10WAD_Stream_6update, "WAD_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10WAD_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30198, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30198, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 30198, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 30198, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30198, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30198, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30198, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30199, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30199, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30199, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 30198, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WAD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10WAD_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10WAD_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_WAD_Update(((TA_WAD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WAD_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.WAD_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10WAD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10WAD_Stream_8peek, "WAD_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10WAD_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30209, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30209, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30209, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30209, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 30209, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 30209, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30209, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30209, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30209, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30210, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30210, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30210, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 30209, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WAD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10WAD_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10WAD_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_WAD_Peek(((TA_WAD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WAD_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30217, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30218, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.WAD_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10WAD_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10WAD_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10WAD_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10WAD_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_WAD_Value(((TA_WAD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WAD_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.WAD_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10WAD_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_WAD_OutRange(((TA_WAD_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10WAD_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_WAD_Advance(((TA_WAD_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10WAD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10WAD_Stream_10copy, "WAD_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10WAD_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10WAD_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10WAD_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_self) { - TA_WAD_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WAD_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WAD_Stream))))) __PYX_ERR(3, 30240, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_WAD_Clone(((TA_WAD_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WAD_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.WAD_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_WCLPRICE_Close(((TA_WCLPRICE_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30272, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30272, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30272, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30272, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 30272, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, i); __PYX_ERR(3, 30272, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30272, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30272, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30272, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 30272, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WCLPRICE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_WCLPRICE_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30273, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30275, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 30276, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 30276, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 30276, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 30277, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 30278, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 30279, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 30284, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_WCLPRICE_Lookback() + 1); - - __pyx_v_retCode = TA_WCLPRICE_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_WCLPRICE_Close(((TA_WCLPRICE_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_WCLPRICE_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30301, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.WCLPRICE_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15WCLPRICE_Stream_4open_and_fill, "WCLPRICE_Stream.open_and_fill(high, low, close)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_15WCLPRICE_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15WCLPRICE_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30303, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30303, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30303, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30303, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 30303, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 3, 3, i); __PYX_ERR(3, 30303, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30303, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30303, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30303, __pyx_L3_error) - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 30303, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WCLPRICE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_WCLPRICE_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30306, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30308, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 30308, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 30308, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 30308, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 30309, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 30310, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 30311, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_WCLPRICE_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30317, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 30319, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_WCLPRICE_Lookback()); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30323, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_WCLPRICE_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_WCLPRICE_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30334, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 30335, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 30335, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 30335, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 30335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 30335, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 30335, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.WCLPRICE_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15WCLPRICE_Stream_6update, "WCLPRICE_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30337, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30337, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30337, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30337, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 30337, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 30337, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30337, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30337, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30337, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30338, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30338, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30338, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 30337, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WCLPRICE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_WCLPRICE_Update(((TA_WCLPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WCLPRICE_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30345, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.WCLPRICE_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15WCLPRICE_Stream_8peek, "WCLPRICE_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30348, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30348, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30348, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30348, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 30348, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 30348, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30348, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30348, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30348, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30349, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30349, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30349, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 30348, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WCLPRICE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_WCLPRICE_Peek(((TA_WCLPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WCLPRICE_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30356, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30357, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.WCLPRICE_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_WCLPRICE_Value(((TA_WCLPRICE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WCLPRICE_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30368, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.WCLPRICE_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15WCLPRICE_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_WCLPRICE_OutRange(((TA_WCLPRICE_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_15WCLPRICE_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_WCLPRICE_Advance(((TA_WCLPRICE_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_15WCLPRICE_Stream_10copy, "WCLPRICE_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_15WCLPRICE_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_self) { - TA_WCLPRICE_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30379, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream))))) __PYX_ERR(3, 30379, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_WCLPRICE_Clone(((TA_WCLPRICE_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WCLPRICE_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30389, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.WCLPRICE_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_12WILLR_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_12WILLR_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_12WILLR_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_12WILLR_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_WILLR_Close(((TA_WILLR_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_12WILLR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_12WILLR_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30413, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 30413, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30413, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30413, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30413, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 30413, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, i); __PYX_ERR(3, 30413, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 30413, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30413, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30413, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30413, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 30413, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 30413, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WILLR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12WILLR_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_12WILLR_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self, PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_WILLR_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30414, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30415, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30416, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 30417, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 30417, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 30417, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 30418, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 30419, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 30420, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 30425, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_WILLR_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_WILLR_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_WILLR_Close(((TA_WILLR_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_WILLR_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30442, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.WILLR_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12WILLR_Stream_4open_and_fill, "WILLR_Stream.open_and_fill(high, low, close, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_12WILLR_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12WILLR_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_high = 0; - PyObject *__pyx_v_low = 0; - PyObject *__pyx_v_close = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[4] = {0,0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30444, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 30444, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30444, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30444, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30444, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 30444, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, i); __PYX_ERR(3, 30444, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 4: - values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(3, 30444, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30444, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30444, __pyx_L3_error) - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30444, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_high = values[0]; - __pyx_v_low = values[1]; - __pyx_v_close = values[2]; - if (values[3]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 30445, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 3, 4, __pyx_nargs); __PYX_ERR(3, 30444, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WILLR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12WILLR_Stream_4open_and_fill(__pyx_v_high, __pyx_v_low, __pyx_v_close, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12WILLR_Stream_4open_and_fill(PyObject *__pyx_v_high, PyObject *__pyx_v_low, PyObject *__pyx_v_close, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_high = 0; - PyArrayObject *__pyx_v_a_low = 0; - PyArrayObject *__pyx_v_a_close = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_WILLR_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_high)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_high = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_low)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_low = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_close)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_close = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30449, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_high); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_high)) != (0)) __PYX_ERR(3, 30449, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_low); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_a_low)) != (0)) __PYX_ERR(3, 30449, __pyx_L1_error); - __Pyx_INCREF((PyObject *)__pyx_v_a_close); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_a_close)) != (0)) __PYX_ERR(3, 30449, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 30450, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 30451, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 30452, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_WILLR_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 30460, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_WILLR_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30464, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_WILLR_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_high)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_low)) + __pyx_v_begidx), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_close)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_WILLR_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30476, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_high); - __Pyx_GIVEREF(__pyx_v_high); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_high) != (0)) __PYX_ERR(3, 30476, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_low); - __Pyx_GIVEREF(__pyx_v_low); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_low) != (0)) __PYX_ERR(3, 30476, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_close); - __Pyx_GIVEREF(__pyx_v_close); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_close) != (0)) __PYX_ERR(3, 30476, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 30476, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30476, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 30476, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 30476, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.WILLR_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_high); - __Pyx_XDECREF((PyObject *)__pyx_v_a_low); - __Pyx_XDECREF((PyObject *)__pyx_v_a_close); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12WILLR_Stream_6update, "WILLR_Stream.update(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30478, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30478, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30478, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30478, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 30478, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, i); __PYX_ERR(3, 30478, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30478, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30478, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30478, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30479, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30479, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30479, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 30478, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WILLR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12WILLR_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12WILLR_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_WILLR_Update(((TA_WILLR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WILLR_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30486, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30487, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.WILLR_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12WILLR_Stream_8peek, "WILLR_Stream.peek(self, double high, double low, double close)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_high; - double __pyx_v_low; - double __pyx_v_close; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_high,&__pyx_mstate_global->__pyx_n_u_low,&__pyx_mstate_global->__pyx_n_u_close,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30489, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30489, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30489, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30489, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 30489, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, i); __PYX_ERR(3, 30489, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30489, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30489, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 30489, __pyx_L3_error) - } - __pyx_v_high = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_high == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30490, __pyx_L3_error) - __pyx_v_low = __Pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_low == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30490, __pyx_L3_error) - __pyx_v_close = __Pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_close == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30490, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 30489, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WILLR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12WILLR_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *)__pyx_v_self), __pyx_v_high, __pyx_v_low, __pyx_v_close); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12WILLR_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self, double __pyx_v_high, double __pyx_v_low, double __pyx_v_close) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_WILLR_Peek(((TA_WILLR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_high, __pyx_v_low, __pyx_v_close, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WILLR_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30497, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30498, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.WILLR_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_12WILLR_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12WILLR_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_WILLR_Value(((TA_WILLR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WILLR_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30508, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30509, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.WILLR_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12WILLR_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_WILLR_OutRange(((TA_WILLR_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12WILLR_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_WILLR_Advance(((TA_WILLR_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12WILLR_Stream_10copy, "WILLR_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_12WILLR_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12WILLR_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_self) { - TA_WILLR_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30520, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream))))) __PYX_ERR(3, 30520, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_WILLR_Clone(((TA_WILLR_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WILLR_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30530, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.WILLR_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_10WMA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_10WMA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_10WMA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_10WMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_WMA_Close(((TA_WMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_10WMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_10WMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30554, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30554, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30554, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 30554, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 30554, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30554, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30554, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 30554, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 30554, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10WMA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_10WMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_WMA_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30555, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30556, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 30556, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 30557, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 30558, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 30559, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 30564, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_WMA_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_WMA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_WMA_Close(((TA_WMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_WMA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30581, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.WMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10WMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10WMA_Stream_4open_and_fill, "WMA_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_10WMA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10WMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10WMA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_10WMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30583, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30583, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30583, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 30583, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 30583, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30583, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30583, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 30584, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 30583, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10WMA_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10WMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_WMA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30585, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30586, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 30586, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 30587, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 30588, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 30589, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_WMA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WMA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30595, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 30597, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_WMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30601, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_WMA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_WMA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30612, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 30613, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 30613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 30613, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 30613, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.WMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10WMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10WMA_Stream_6update, "WMA_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10WMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30615, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30615, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 30615, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 30615, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30615, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30616, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 30615, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10WMA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10WMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_WMA_Update(((TA_WMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WMA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30623, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30624, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.WMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10WMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10WMA_Stream_8peek, "WMA_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10WMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30626, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30626, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 30626, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 30626, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30626, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30627, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 30626, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.WMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_10WMA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10WMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_WMA_Peek(((TA_WMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WMA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30634, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30635, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.WMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10WMA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_10WMA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_10WMA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10WMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_WMA_Value(((TA_WMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WMA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30646, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.WMA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10WMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_WMA_OutRange(((TA_WMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_10WMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_WMA_Advance(((TA_WMA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_10WMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_10WMA_Stream_10copy, "WMA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_10WMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_10WMA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_10WMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_self) { - TA_WMA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WMA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WMA_Stream))))) __PYX_ERR(3, 30657, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_WMA_Clone(((TA_WMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_WMA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30667, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.WMA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static void __pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_1__dealloc__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream___dealloc__(((struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream___dealloc__(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self) { - int __pyx_t_1; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_t_1 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_1) { - - - (void)(TA_ZLEMA_Close(((TA_ZLEMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - __pyx_v_self->__pyx_base._handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_stream_closed(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - - /* function exit code */ - -} - - -/* Python wrapper */ -static int __pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static int __pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_3__init__(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL_TPNEW -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - #if !CYTHON_VECTORCALL_TPNEW - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30691, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30691, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30691, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 30691, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, i); __PYX_ERR(3, 30691, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30691, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30691, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 30691, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 30691, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ZLEMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_2__init__(((struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *)__pyx_v_self), __pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_2__init__(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self, PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - TA_ZLEMA_Stream *__pyx_v_handle; - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - int __pyx_v_need; - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - __Pyx_Locks_PyMutex *__pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30692, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30693, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 30693, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 30694, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 30695, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 30696, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 30701, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_need = (TA_ZLEMA_Lookback(__pyx_v_timeperiod) + 1); - - __pyx_v_retCode = TA_ZLEMA_Open((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outreal)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - { - __pyx_t_5 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_5); - /*try:*/ { - - __pyx_t_4 = (__pyx_v_self->__pyx_base._handle != NULL); - - if (__pyx_t_4) { - - - (void)(TA_ZLEMA_Close(((TA_ZLEMA_Stream *)__pyx_v_self->__pyx_base._handle))); - - goto __pyx_L13; - } - - /*else*/ { - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - } - __pyx_L13:; - - __pyx_v_self->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_self->__pyx_base._begidx = __pyx_v_begidx; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_5); - goto __pyx_L12; - } - __pyx_L12:; - } - } - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L16; - } - __pyx_L16:; - } - } - goto __pyx_L5; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ZLEMA_Open, __pyx_v_retCode, __pyx_v_historylen, __pyx_v_need); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30718, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("talib._ta_lib.ZLEMA_Stream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - - - - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12ZLEMA_Stream_4open_and_fill, "ZLEMA_Stream.open_and_fill(real, int timeperiod=-0x80000000)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_12ZLEMA_Stream_5open_and_fill = {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12ZLEMA_Stream_4open_and_fill}; -static PyObject *__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_5open_and_fill(CYTHON_UNUSED PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_real = 0; - int __pyx_v_timeperiod; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open_and_fill (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,&__pyx_mstate_global->__pyx_n_u_timeperiod,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30720, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30720, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30720, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "open_and_fill", 0) < (0)) __PYX_ERR(3, 30720, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, i); __PYX_ERR(3, 30720, __pyx_L3_error) } - } - } else { - switch (__pyx_nargs) { - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 30720, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30720, __pyx_L3_error) - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_real = values[0]; - if (values[1]) { - __pyx_v_timeperiod = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_timeperiod == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 30721, __pyx_L3_error) - } else { - __pyx_v_timeperiod = ((int)-2147483648); - } - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open_and_fill", 0, 1, 2, __pyx_nargs); __PYX_ERR(3, 30720, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ZLEMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_4open_and_fill(__pyx_v_real, __pyx_v_timeperiod); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_4open_and_fill(PyObject *__pyx_v_real, int __pyx_v_timeperiod) { - PyArrayObject *__pyx_v_a_real = 0; - PyObject *__pyx_v_arrays = 0; - npy_intp __pyx_v_length; - int __pyx_v_begidx; - int __pyx_v_historylen; - int __pyx_v_lookback; - PyArrayObject *__pyx_v_outreal = 0; - int __pyx_v_outbegidx; - int __pyx_v_outnbelement; - TA_ZLEMA_Stream *__pyx_v_handle; - struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - npy_intp __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - char const *__pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("open_and_fill", 0); - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib__stream_input(__pyx_v_real)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30722, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_a_real = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30723, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_a_real); - __Pyx_GIVEREF((PyObject *)__pyx_v_a_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a_real)) != (0)) __PYX_ERR(3, 30723, __pyx_L1_error); - __pyx_v_arrays = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_2 = __pyx_f_5talib_7_ta_lib_check_length(__pyx_v_arrays); if (unlikely(__pyx_t_2 == ((npy_intp)-1L))) __PYX_ERR(3, 30724, __pyx_L1_error) - __pyx_v_length = __pyx_t_2; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib_check_begidx(__pyx_v_length, __pyx_v_arrays); if (unlikely(__pyx_t_3 == ((int)-2))) __PYX_ERR(3, 30725, __pyx_L1_error) - __pyx_v_begidx = __pyx_t_3; - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__stream_history(__pyx_v_length, __pyx_v_begidx); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 30726, __pyx_L1_error) - __pyx_v_historylen = __pyx_t_3; - - __pyx_v_handle = NULL; - - __pyx_t_1 = ((PyObject *)__pyx_tp_new_5talib_7_ta_lib_ZLEMA_Stream(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30732, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_f_5talib_7_ta_lib__ta_acquire_read(); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 30734, __pyx_L1_error) - - /*try:*/ { - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_lookback = (__pyx_v_begidx + TA_ZLEMA_Lookback(__pyx_v_timeperiod)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L8; - } - __pyx_L8:; - } - } - - __pyx_t_1 = ((PyObject *)__pyx_f_5talib_7_ta_lib_make_double_array(__pyx_v_length, __pyx_v_lookback)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30738, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_outreal = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_v_retCode = TA_ZLEMA_OpenAndFill((&__pyx_v_handle), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_a_real)) + __pyx_v_begidx), __pyx_v_historylen, __pyx_v_timeperiod, (&__pyx_v_outbegidx), (&__pyx_v_outnbelement), (((double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_outreal)) + __pyx_v_lookback)); - - __pyx_t_4 = (__pyx_v_retCode == 0); - - if (__pyx_t_4) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_handle); - - __pyx_v_stream->__pyx_base._begidx = __pyx_v_begidx; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L11; - } - __pyx_L11:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L15; - } - __pyx_L15:; - } - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_3 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; - { - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - __pyx_f_5talib_7_ta_lib__ta_end_read(); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L20; - } - __pyx_L20:; - } - } - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - __pyx_t_4 = (__pyx_v_retCode != 0); - - if (__pyx_t_4) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__stream_open_failed(__pyx_mstate_global->__pyx_n_u_TA_ZLEMA_OpenAndFill, __pyx_v_retCode, __pyx_v_historylen, ((__pyx_v_lookback - __pyx_v_begidx) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30749, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_real); - __Pyx_GIVEREF(__pyx_v_real); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_real) != (0)) __PYX_ERR(3, 30750, __pyx_L1_error); - __pyx_t_13 = __pyx_f_5talib_7_ta_lib__stream_like(((PyObject*)__pyx_t_1), ((PyObject *)__pyx_v_outreal)); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 30750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __Pyx_GIVEREF((PyObject *)__pyx_v_stream); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_stream)) != (0)) __PYX_ERR(3, 30750, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13) != (0)) __PYX_ERR(3, 30750, __pyx_L1_error); - __pyx_t_13 = 0; - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_1; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_1 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("talib._ta_lib.ZLEMA_Stream.open_and_fill", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_a_real); - __Pyx_XDECREF(__pyx_v_arrays); - - - - - __Pyx_XDECREF((PyObject *)__pyx_v_outreal); - - - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12ZLEMA_Stream_6update, "ZLEMA_Stream.update(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_7update(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("update (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30752, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30752, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update", 0) < (0)) __PYX_ERR(3, 30752, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, i); __PYX_ERR(3, 30752, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30752, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30753, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 30752, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ZLEMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_6update(((struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_6update(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("update", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ZLEMA_Update(((TA_ZLEMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ZLEMA_Update, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30760, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30761, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ZLEMA_Stream.update", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12ZLEMA_Stream_8peek, "ZLEMA_Stream.peek(self, double real)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_9peek(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - double __pyx_v_real; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_real,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(3, 30763, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30763, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "peek", 0) < (0)) __PYX_ERR(3, 30763, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, i); __PYX_ERR(3, 30763, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 30763, __pyx_L3_error) - } - __pyx_v_real = __Pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_real == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 30764, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 30763, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.ZLEMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_8peek(((struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *)__pyx_v_self), __pyx_v_real); - - /* function exit code */ - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_8peek(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self, double __pyx_v_real) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("peek", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ZLEMA_Peek(((TA_ZLEMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_real, (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ZLEMA_Peek, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30771, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ZLEMA_Stream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_5value_1__get__(PyObject *__pyx_v_self) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_5value___get__(((struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_5value___get__(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self) { - double __pyx_v_outreal; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_Locks_PyMutex *__pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_1 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_1); - /*try:*/ { - - __pyx_v_retCode = TA_ZLEMA_Value(((TA_ZLEMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_outreal)); - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_1); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_2 = (__pyx_v_retCode != 0); - - if (__pyx_t_2) { - - - __pyx_t_3 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ZLEMA_Value, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30782, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - } - - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_outreal); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 30783, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __pyx_r = __pyx_t_3; - } - __Pyx_XDECREF(__pyx_temp); - } - __pyx_t_3 = 0; - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.ZLEMA_Stream.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12ZLEMA_Stream__out_range(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self, int *__pyx_v_outbegidx, int *__pyx_v_outnbelement) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ZLEMA_OutRange(((TA_ZLEMA_Stream *)__pyx_v_self->__pyx_base._handle), __pyx_v_outbegidx, __pyx_v_outnbelement); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -static TA_RetCode __pyx_f_5talib_7_ta_lib_12ZLEMA_Stream__advance(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self) { - TA_RetCode __pyx_r; - - { - - __pyx_r = TA_ZLEMA_Advance(((TA_ZLEMA_Stream *)__pyx_v_self->__pyx_base._handle)); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L0:; - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_12ZLEMA_Stream_10copy, "ZLEMA_Stream.copy(self)"); -static PyObject *__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_11copy(PyObject *__pyx_v_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("copy (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; } - const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) return NULL; - if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;} - __pyx_r = __pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_10copy(((struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_12ZLEMA_Stream_10copy(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_self) { - TA_ZLEMA_Stream *__pyx_v_clone; - struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *__pyx_v_stream = 0; - TA_RetCode __pyx_v_retCode; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - __Pyx_Locks_PyMutex *__pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("copy", 0); - - __pyx_v_clone = NULL; - - __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream); - __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))}; - __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30794, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream))))) __PYX_ERR(3, 30794, __pyx_L1_error) - __pyx_v_stream = ((struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *)__pyx_t_1); - __pyx_t_1 = 0; - - { - PyThreadState * _save; - _save = PyEval_SaveThread(); - __Pyx_FastGIL_Remember(); - /*try:*/ { - - { - __pyx_t_4 = &__pyx_v_self->__pyx_base._mutex; - __Pyx_Locks_PyMutex_LockNogil(*__pyx_t_4); - /*try:*/ { - - __pyx_v_retCode = TA_ZLEMA_Clone(((TA_ZLEMA_Stream *)__pyx_v_self->__pyx_base._handle), (&__pyx_v_clone)); - - __pyx_t_5 = (__pyx_v_retCode == 0); - - if (__pyx_t_5) { - - - __pyx_v_stream->__pyx_base._handle = ((void *)__pyx_v_clone); - - __pyx_t_6 = __pyx_v_self->__pyx_base._begidx; - - __pyx_v_stream->__pyx_base._begidx = __pyx_t_6; - - __pyx_f_5talib_7_ta_lib__ta_stream_registered(); - - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_Locks_PyMutex_Unlock(*__pyx_t_4); - goto __pyx_L8; - } - __pyx_L8:; - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_FastGIL_Forget(); - PyEval_RestoreThread(_save); - goto __pyx_L5; - } - __pyx_L5:; - } - } - - __pyx_t_5 = (__pyx_v_retCode != 0); - - if (__pyx_t_5) { - - - __pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_mstate_global->__pyx_n_u_TA_ZLEMA_Clone, __pyx_v_retCode, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30804, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF((PyObject *)__pyx_v_stream); - __pyx_r = ((PyObject *)__pyx_v_stream); - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("talib._ta_lib.ZLEMA_Stream.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - - __Pyx_XDECREF((PyObject *)__pyx_v_stream); - - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_447__pyx_unpickle__TA_ReadLease(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_446__pyx_unpickle__TA_ReadLease, "__pyx_unpickle__TA_ReadLease(__pyx_type, long __pyx_checksum, tuple __pyx_state)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_447__pyx_unpickle__TA_ReadLease = {"__pyx_unpickle__TA_ReadLease", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_447__pyx_unpickle__TA_ReadLease, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_446__pyx_unpickle__TA_ReadLease}; -static PyObject *__pyx_pw_5talib_7_ta_lib_447__pyx_unpickle__TA_ReadLease(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v___pyx_type = 0; - long __pyx_v___pyx_checksum; - PyObject *__pyx_v___pyx_state = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__pyx_unpickle__TA_ReadLease (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(5, 4, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle__TA_ReadLease", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__TA_ReadLease", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error) - } - __pyx_v___pyx_type = values[0]; - __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error) - __pyx_v___pyx_state = ((PyObject*)values[2]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__TA_ReadLease", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.__pyx_unpickle__TA_ReadLease", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_446__pyx_unpickle__TA_ReadLease(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_446__pyx_unpickle__TA_ReadLease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { - PyObject *__pyx_v___pyx_result = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - int __pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__pyx_unpickle__TA_ReadLease", 0); - - __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__3); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error) - - - __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease); - __Pyx_INCREF(__pyx_t_3); - __pyx_t_4 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type}; - __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __pyx_v___pyx_result = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None)); - if (__pyx_t_5) { - - - if (unlikely(__pyx_v___pyx_state == Py_None)) { - PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared \047not None\047"); - __PYX_ERR(5, 9, __pyx_L1_error) - } - __pyx_t_2 = __pyx_f_5talib_7_ta_lib___pyx_unpickle__TA_ReadLease__set_state(((struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_v___pyx_result); - __pyx_r = __pyx_v___pyx_result; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.__pyx_unpickle__TA_ReadLease", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v___pyx_result); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static PyObject *__pyx_f_5talib_7_ta_lib___pyx_unpickle__TA_ReadLease__set_state(struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__pyx_unpickle__TA_ReadLease__set_state", 0); - - __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error) - - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_AddTraceback("talib._ta_lib.__pyx_unpickle__TA_ReadLease__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_5talib_7_ta_lib_449__pyx_unpickle__TA_WriteLease(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_5talib_7_ta_lib_448__pyx_unpickle__TA_WriteLease, "__pyx_unpickle__TA_WriteLease(__pyx_type, long __pyx_checksum, tuple __pyx_state)"); -static PyMethodDef __pyx_mdef_5talib_7_ta_lib_449__pyx_unpickle__TA_WriteLease = {"__pyx_unpickle__TA_WriteLease", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_449__pyx_unpickle__TA_WriteLease, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_448__pyx_unpickle__TA_WriteLease}; -static PyObject *__pyx_pw_5talib_7_ta_lib_449__pyx_unpickle__TA_WriteLease(PyObject *__pyx_self, -#if CYTHON_VECTORCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v___pyx_type = 0; - long __pyx_v___pyx_checksum; - PyObject *__pyx_v___pyx_state = 0; - #if !CYTHON_VECTORCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__pyx_unpickle__TA_WriteLease (wrapper)", 0); - #if !CYTHON_VECTORCALL - #if CYTHON_ASSUME_SAFE_SIZE - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0}; - const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(5, 4, __pyx_L3_error) - if (__pyx_kwds_len > 0) { - switch (__pyx_nargs) { - case 3: - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 2: - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 1: - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error) - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle__TA_WriteLease", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error) - for (Py_ssize_t i = __pyx_nargs; i < 3; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__TA_WriteLease", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) } - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error) - values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error) - values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error) - } - __pyx_v___pyx_type = values[0]; - __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error) - __pyx_v___pyx_state = ((PyObject*)values[2]); - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__TA_WriteLease", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __Pyx_AddTraceback("talib._ta_lib.__pyx_unpickle__TA_WriteLease", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error) - __pyx_r = __pyx_pf_5talib_7_ta_lib_448__pyx_unpickle__TA_WriteLease(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - goto __pyx_L7_cleaned_up; - __pyx_L0:; - for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - Py_XDECREF(values[__pyx_temp]); - } - __pyx_L7_cleaned_up:; - - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_5talib_7_ta_lib_448__pyx_unpickle__TA_WriteLease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { - PyObject *__pyx_v___pyx_result = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - int __pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__pyx_unpickle__TA_WriteLease", 0); - - __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__3); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error) - - - __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease); - __Pyx_INCREF(__pyx_t_3); - __pyx_t_4 = 0; - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type}; - __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __pyx_v___pyx_result = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None)); - if (__pyx_t_5) { - - - if (unlikely(__pyx_v___pyx_state == Py_None)) { - PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared \047not None\047"); - __PYX_ERR(5, 9, __pyx_L1_error) - } - __pyx_t_2 = __pyx_f_5talib_7_ta_lib___pyx_unpickle__TA_WriteLease__set_state(((struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - } - - { - PyObject *__pyx_temp; - { - __pyx_temp = __pyx_r; - __Pyx_INCREF(__pyx_v___pyx_result); - __pyx_r = __pyx_v___pyx_result; - } - __Pyx_XDECREF(__pyx_temp); - } - goto __pyx_L0; - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("talib._ta_lib.__pyx_unpickle__TA_WriteLease", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v___pyx_result); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -static PyObject *__pyx_f_5talib_7_ta_lib___pyx_unpickle__TA_WriteLease__set_state(struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__pyx_unpickle__TA_WriteLease__set_state", 0); - - __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error) - - - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_AddTraceback("talib._ta_lib.__pyx_unpickle__TA_WriteLease__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -/* #### Code section: module_exttypes ### */ - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib__TA_ReadLease(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib__TA_ReadLease(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __Pyx_AllocateExtensionType(t, 0); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib__TA_ReadLease(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib__TA_ReadLease(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib__TA_ReadLease, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib__TA_ReadLease(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib__TA_ReadLease((PyTypeObject*)t, args, nargs, kwnames); - return o; -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib__TA_ReadLease(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib__TA_ReadLease) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyTypeObject *tp = Py_TYPE(o); - #if CYTHON_USE_TYPE_SLOTS - (*tp->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - #if CYTHON_USE_TYPE_SPECS - Py_DECREF(tp); - #endif -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib__TA_ReadLease[] = { - {"__enter__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_1__enter__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13_TA_ReadLease___enter__}, - {"__exit__", (PyCFunction)(void(*)(void))(PyCFunctionWithKeywords)__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_3__exit__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13_TA_ReadLease_2__exit__}, - {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13_TA_ReadLease_4__reduce_cython__}, - {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13_TA_ReadLease_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13_TA_ReadLease_6__setstate_cython__}, - {0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib__TA_ReadLease_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib__TA_ReadLease}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib__TA_ReadLease}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib__TA_ReadLease}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib__TA_ReadLease}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib__TA_ReadLease_spec = { - "talib._ta_lib._TA_ReadLease", - sizeof(struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib__TA_ReadLease_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib__TA_ReadLease = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""_TA_ReadLease", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib__TA_ReadLease), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib__TA_ReadLease, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - 0, /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib__TA_ReadLease, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib__TA_ReadLease, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib__TA_ReadLease, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib__TA_WriteLease(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib__TA_WriteLease(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __Pyx_AllocateExtensionType(t, 0); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib__TA_WriteLease(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib__TA_WriteLease(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib__TA_WriteLease, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib__TA_WriteLease(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib__TA_WriteLease((PyTypeObject*)t, args, nargs, kwnames); - return o; -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib__TA_WriteLease(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib__TA_WriteLease) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyTypeObject *tp = Py_TYPE(o); - #if CYTHON_USE_TYPE_SLOTS - (*tp->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - #if CYTHON_USE_TYPE_SPECS - Py_DECREF(tp); - #endif -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib__TA_WriteLease[] = { - {"__enter__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_1__enter__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14_TA_WriteLease___enter__}, - {"__exit__", (PyCFunction)(void(*)(void))(PyCFunctionWithKeywords)__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_3__exit__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14_TA_WriteLease_2__exit__}, - {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14_TA_WriteLease_4__reduce_cython__}, - {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14_TA_WriteLease_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14_TA_WriteLease_6__setstate_cython__}, - {0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib__TA_WriteLease_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib__TA_WriteLease}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib__TA_WriteLease}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib__TA_WriteLease}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib__TA_WriteLease}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib__TA_WriteLease_spec = { - "talib._ta_lib._TA_WriteLease", - sizeof(struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib__TA_WriteLease_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib__TA_WriteLease = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""_TA_WriteLease", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib__TA_WriteLease), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib__TA_WriteLease, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - 0, /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib__TA_WriteLease, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib__TA_WriteLease, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib__TA_WriteLease, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_Stream __pyx_vtable_5talib_7_ta_lib_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_Stream *)o); - p->__pyx_vtab = __pyx_vtabptr_5talib_7_ta_lib_Stream; - __Pyx_Locks_PyMutex_Init(p->_mutex); - { - int cinit_result = __pyx_pw_5talib_7_ta_lib_6Stream_1__cinit__( - #if CYTHON_VECTORCALL_TPNEW - o, NULL, 0, NULL); - #else - o, __pyx_mstate_global->__pyx_empty_tuple, NULL); - #endif - if (unlikely(cinit_result)) goto bad; - } - return o; - bad: - Py_DECREF(o); o = 0; - return NULL; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __Pyx_AllocateExtensionType(t, 0); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream((PyTypeObject*)t, args, nargs, kwnames); - return o; -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_Stream(PyObject *o) { - struct __pyx_obj_5talib_7_ta_lib_Stream *p = (struct __pyx_obj_5talib_7_ta_lib_Stream *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - if (p->__weakref__) PyObject_ClearWeakRefs(o); - __Pyx_Locks_PyMutex_Delete(p->_mutex); - PyTypeObject *tp = Py_TYPE(o); - #if CYTHON_USE_TYPE_SLOTS - (*tp->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - #if CYTHON_USE_TYPE_SPECS - Py_DECREF(tp); - #endif -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_6Stream_out_range(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_6Stream_9out_range_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_Stream[] = { - {"advance", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_6Stream_3advance, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_6Stream_2advance}, - {"__copy__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_6Stream_5__copy__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_6Stream_4__copy__}, - {"__deepcopy__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_6Stream_7__deepcopy__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_6Stream_6__deepcopy__}, - {"__reduce__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_6Stream_9__reduce__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_6Stream_8__reduce__}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_Stream[] = { - {"out_range", __pyx_getprop_5talib_7_ta_lib_6Stream_out_range, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyMemberDef __pyx_type_5talib_7_ta_lib_Stream_members[] = { - #if !CYTHON_USE_TYPE_SLOTS - {"__weaklistoffset__", T_PYSSIZET, offsetof(struct __pyx_obj_5talib_7_ta_lib_Stream, __weakref__), READONLY, 0}, - #endif - {0, 0, 0, 0, 0} -}; -static PyType_Slot __pyx_type_5talib_7_ta_lib_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("Base class of every talib.stream handle.\n\n Carries what does not depend on the function: the opaque C handle, and the\n offset of the first history bar the batch tier would have used.")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_Stream}, - #endif - #endif - {Py_tp_members, (void*)__pyx_type_5talib_7_ta_lib_Stream_members}, - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_Stream_spec = { - "talib._ta_lib.Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("Base class of every talib.stream handle.\n\n Carries what does not depend on the function: the opaque C handle, and the\n offset of the first history bar the batch tier would have used."), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_AC_Stream __pyx_vtable_5talib_7_ta_lib_AC_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_AC_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_AC_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_AC_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_AC_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AC_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_AC_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AC_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_AC_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_9AC_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AC_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_9AC_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_AC_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_AC_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_9AC_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_9AC_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_9AC_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_AC_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AC_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AC_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AC_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AC_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AC_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AC_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AC_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_AC_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_9AC_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_AC_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_AC_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("AC_Stream(high, low, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int signalperiod=-0x80000000)\n\nAC(high, low[, fastperiod=?, slowperiod=?, signalperiod=?])\n\nAccelerator/Decelerator Oscillator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n fastperiod: 5\n slowperiod: 34\n signalperiod: 5\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_AC_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_AC_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_AC_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_AC_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_AC_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_AC_Stream_spec = { - "talib._ta_lib.AC_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_AC_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_AC_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_AC_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""AC_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_AC_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_AC_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("AC_Stream(high, low, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int signalperiod=-0x80000000)\n\nAC(high, low[, fastperiod=?, slowperiod=?, signalperiod=?])\n\nAccelerator/Decelerator Oscillator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n fastperiod: 5\n slowperiod: 34\n signalperiod: 5\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_AC_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_AC_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_AC_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_AC_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_AC_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ACCBANDS_Stream __pyx_vtable_5talib_7_ta_lib_ACCBANDS_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ACCBANDS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ACCBANDS_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ACCBANDS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ACCBANDS_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ACCBANDS_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ACCBANDS_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ACCBANDS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ACCBANDS_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ACCBANDS_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ACCBANDS_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ACCBANDS_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15ACCBANDS_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ACCBANDS_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15ACCBANDS_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15ACCBANDS_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15ACCBANDS_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15ACCBANDS_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15ACCBANDS_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ACCBANDS_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15ACCBANDS_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ACCBANDS_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ACCBANDS_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ACCBANDS_Stream(high, low, close, int timeperiod=-0x80000000)\n\nACCBANDS(high, low, close[, timeperiod=?])\n\nAcceleration Bands (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 20\nOutputs:\n upperband\n middleband\n lowerband")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ACCBANDS_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ACCBANDS_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ACCBANDS_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ACCBANDS_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ACCBANDS_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ACCBANDS_Stream_spec = { - "talib._ta_lib.ACCBANDS_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ACCBANDS_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ACCBANDS_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ACCBANDS_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ACCBANDS_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ACCBANDS_Stream(high, low, close, int timeperiod=-0x80000000)\n\nACCBANDS(high, low, close[, timeperiod=?])\n\nAcceleration Bands (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 20\nOutputs:\n upperband\n middleband\n lowerband"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ACCBANDS_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ACCBANDS_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ACCBANDS_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ACCBANDS_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ACCBANDS_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ACOS_Stream __pyx_vtable_5talib_7_ta_lib_ACOS_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ACOS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ACOS_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ACOS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ACOS_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ACOS_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ACOS_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ACOS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ACOS_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ACOS_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ACOS_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ACOS_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11ACOS_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11ACOS_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11ACOS_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ACOS_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ACOS_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ACOS_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ACOS_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ACOS_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ACOS_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ACOS_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11ACOS_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ACOS_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ACOS_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ACOS_Stream(real)\n\nACOS(real)\n\nVector Trigonometric ACos (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ACOS_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ACOS_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ACOS_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ACOS_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ACOS_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ACOS_Stream_spec = { - "talib._ta_lib.ACOS_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ACOS_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ACOS_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ACOS_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ACOS_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ACOS_Stream(real)\n\nACOS(real)\n\nVector Trigonometric ACos (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ACOS_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ACOS_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ACOS_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ACOS_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ACOS_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_AD_Stream __pyx_vtable_5talib_7_ta_lib_AD_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_AD_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_AD_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_AD_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_AD_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AD_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_AD_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AD_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_AD_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_9AD_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AD_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_9AD_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_AD_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_AD_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_9AD_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_9AD_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_9AD_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_AD_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AD_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AD_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AD_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AD_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AD_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AD_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AD_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_AD_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_9AD_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_AD_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_AD_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("AD_Stream(high, low, close, volume)\n\nAD(high, low, close, volume)\n\nChaikin A/D Line (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_AD_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_AD_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_AD_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_AD_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_AD_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_AD_Stream_spec = { - "talib._ta_lib.AD_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_AD_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_AD_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_AD_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""AD_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_AD_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_AD_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("AD_Stream(high, low, close, volume)\n\nAD(high, low, close, volume)\n\nChaikin A/D Line (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_AD_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_AD_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_AD_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_AD_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_AD_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ADD_Stream __pyx_vtable_5talib_7_ta_lib_ADD_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ADD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ADD_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ADD_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ADD_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ADD_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADD_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ADD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADD_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ADD_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10ADD_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ADD_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10ADD_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ADD_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ADD_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10ADD_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10ADD_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10ADD_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ADD_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADD_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADD_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADD_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADD_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADD_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADD_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADD_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ADD_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10ADD_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ADD_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ADD_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ADD_Stream(real0, real1)\n\nADD(real0, real1)\n\nVector Arithmetic Add (Math Operators)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ADD_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ADD_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ADD_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ADD_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ADD_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ADD_Stream_spec = { - "talib._ta_lib.ADD_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ADD_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ADD_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ADD_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ADD_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ADD_Stream(real0, real1)\n\nADD(real0, real1)\n\nVector Arithmetic Add (Math Operators)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ADD_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ADD_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ADD_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ADD_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ADD_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ADOSC_Stream __pyx_vtable_5talib_7_ta_lib_ADOSC_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ADOSC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ADOSC_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADOSC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ADOSC_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ADOSC_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADOSC_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ADOSC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ADOSC_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ADOSC_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ADOSC_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ADOSC_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_12ADOSC_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ADOSC_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12ADOSC_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12ADOSC_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12ADOSC_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12ADOSC_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12ADOSC_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ADOSC_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_12ADOSC_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ADOSC_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ADOSC_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ADOSC_Stream(high, low, close, volume, int fastperiod=-0x80000000, int slowperiod=-0x80000000)\n\nADOSC(high, low, close, volume[, fastperiod=?, slowperiod=?])\n\nChaikin A/D Oscillator (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nParameters:\n fastperiod: 3\n slowperiod: 10\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ADOSC_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ADOSC_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ADOSC_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ADOSC_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ADOSC_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ADOSC_Stream_spec = { - "talib._ta_lib.ADOSC_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ADOSC_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ADOSC_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ADOSC_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ADOSC_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ADOSC_Stream(high, low, close, volume, int fastperiod=-0x80000000, int slowperiod=-0x80000000)\n\nADOSC(high, low, close, volume[, fastperiod=?, slowperiod=?])\n\nChaikin A/D Oscillator (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nParameters:\n fastperiod: 3\n slowperiod: 10\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ADOSC_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ADOSC_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ADOSC_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ADOSC_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ADOSC_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ADR_Stream __pyx_vtable_5talib_7_ta_lib_ADR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ADR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ADR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ADR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ADR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ADR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ADR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ADR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10ADR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ADR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10ADR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ADR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ADR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10ADR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10ADR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10ADR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ADR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ADR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10ADR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ADR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ADR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ADR_Stream(high, low, int timeperiod=-0x80000000)\n\nADR(high, low[, timeperiod=?])\n\nAverage Day Range (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ADR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ADR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ADR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ADR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ADR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ADR_Stream_spec = { - "talib._ta_lib.ADR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ADR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ADR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ADR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ADR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ADR_Stream(high, low, int timeperiod=-0x80000000)\n\nADR(high, low[, timeperiod=?])\n\nAverage Day Range (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ADR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ADR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ADR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ADR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ADR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ADX_Stream __pyx_vtable_5talib_7_ta_lib_ADX_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ADX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ADX_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ADX_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ADX_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ADX_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADX_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ADX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADX_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ADX_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10ADX_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ADX_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10ADX_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ADX_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ADX_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10ADX_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10ADX_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10ADX_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ADX_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADX_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADX_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADX_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADX_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADX_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ADX_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ADX_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ADX_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10ADX_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ADX_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ADX_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ADX_Stream(high, low, close, int timeperiod=-0x80000000)\n\nADX(high, low, close[, timeperiod=?])\n\nAverage Directional Movement Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ADX_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ADX_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ADX_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ADX_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ADX_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ADX_Stream_spec = { - "talib._ta_lib.ADX_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ADX_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ADX_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ADX_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ADX_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ADX_Stream(high, low, close, int timeperiod=-0x80000000)\n\nADX(high, low, close[, timeperiod=?])\n\nAverage Directional Movement Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ADX_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ADX_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ADX_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ADX_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ADX_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ADXR_Stream __pyx_vtable_5talib_7_ta_lib_ADXR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ADXR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ADXR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADXR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ADXR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ADXR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ADXR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ADXR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ADXR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ADXR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ADXR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ADXR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11ADXR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11ADXR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11ADXR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ADXR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ADXR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ADXR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ADXR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ADXR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ADXR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ADXR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11ADXR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ADXR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ADXR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ADXR_Stream(high, low, close, int timeperiod=-0x80000000)\n\nADXR(high, low, close[, timeperiod=?])\n\nAverage Directional Movement Index Rating (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ADXR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ADXR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ADXR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ADXR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ADXR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ADXR_Stream_spec = { - "talib._ta_lib.ADXR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ADXR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ADXR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ADXR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ADXR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ADXR_Stream(high, low, close, int timeperiod=-0x80000000)\n\nADXR(high, low, close[, timeperiod=?])\n\nAverage Directional Movement Index Rating (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ADXR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ADXR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ADXR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ADXR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ADXR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_AO_Stream __pyx_vtable_5talib_7_ta_lib_AO_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AO_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_AO_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_AO_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_AO_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AO_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_AO_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AO_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_AO_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AO_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AO_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_AO_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_9AO_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AO_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_9AO_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_AO_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_AO_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_9AO_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_9AO_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_9AO_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_AO_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AO_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AO_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AO_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AO_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AO_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AO_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9AO_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9AO_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_AO_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_9AO_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_AO_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_AO_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("AO_Stream(high, low, int fastperiod=-0x80000000, int slowperiod=-0x80000000)\n\nAO(high, low[, fastperiod=?, slowperiod=?])\n\nAwesome Oscillator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n fastperiod: 5\n slowperiod: 34\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_AO_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_AO_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_AO_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_AO_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_AO_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_AO_Stream_spec = { - "talib._ta_lib.AO_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_AO_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_AO_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_AO_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""AO_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_AO_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_AO_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("AO_Stream(high, low, int fastperiod=-0x80000000, int slowperiod=-0x80000000)\n\nAO(high, low[, fastperiod=?, slowperiod=?])\n\nAwesome Oscillator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n fastperiod: 5\n slowperiod: 34\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_AO_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_AO_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_AO_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_AO_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_AO_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_APO_Stream __pyx_vtable_5talib_7_ta_lib_APO_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_APO_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_APO_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_APO_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_APO_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_APO_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_APO_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_APO_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_APO_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_APO_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_APO_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_APO_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10APO_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_APO_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10APO_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_APO_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_APO_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10APO_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10APO_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10APO_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_APO_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10APO_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10APO_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10APO_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10APO_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10APO_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10APO_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10APO_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10APO_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_APO_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10APO_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_APO_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_APO_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("APO_Stream(real, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int matype=1)\n\nAPO(real[, fastperiod=?, slowperiod=?, matype=?])\n\nAbsolute Price Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastperiod: 12\n slowperiod: 26\n matype: 1 (Exponential Moving Average)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_APO_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_APO_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_APO_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_APO_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_APO_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_APO_Stream_spec = { - "talib._ta_lib.APO_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_APO_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_APO_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_APO_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""APO_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_APO_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_APO_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("APO_Stream(real, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int matype=1)\n\nAPO(real[, fastperiod=?, slowperiod=?, matype=?])\n\nAbsolute Price Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastperiod: 12\n slowperiod: 26\n matype: 1 (Exponential Moving Average)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_APO_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_APO_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_APO_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_APO_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_APO_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_AROON_Stream __pyx_vtable_5talib_7_ta_lib_AROON_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AROON_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_AROON_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_AROON_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AROON_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_AROON_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AROON_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_AROON_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AROON_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROON_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_AROON_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_12AROON_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AROON_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_12AROON_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_AROON_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_AROON_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_12AROON_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_12AROON_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_12AROON_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_AROON_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12AROON_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12AROON_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12AROON_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12AROON_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12AROON_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12AROON_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12AROON_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12AROON_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_AROON_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_12AROON_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_AROON_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_AROON_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("AROON_Stream(high, low, int timeperiod=-0x80000000)\n\nAROON(high, low[, timeperiod=?])\n\nAroon (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n aroondown\n aroonup")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_AROON_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_AROON_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_AROON_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_AROON_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_AROON_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_AROON_Stream_spec = { - "talib._ta_lib.AROON_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_AROON_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_AROON_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""AROON_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_AROON_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("AROON_Stream(high, low, int timeperiod=-0x80000000)\n\nAROON(high, low[, timeperiod=?])\n\nAroon (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n aroondown\n aroonup"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_AROON_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_AROON_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_AROON_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_AROON_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_AROON_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_AROONOSC_Stream __pyx_vtable_5talib_7_ta_lib_AROONOSC_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AROONOSC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_AROONOSC_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AROONOSC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_AROONOSC_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AROONOSC_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_AROONOSC_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AROONOSC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_AROONOSC_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AROONOSC_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_AROONOSC_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_AROONOSC_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15AROONOSC_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_AROONOSC_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15AROONOSC_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15AROONOSC_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15AROONOSC_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15AROONOSC_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15AROONOSC_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_AROONOSC_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15AROONOSC_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_AROONOSC_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_AROONOSC_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("AROONOSC_Stream(high, low, int timeperiod=-0x80000000)\n\nAROONOSC(high, low[, timeperiod=?])\n\nAroon Oscillator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_AROONOSC_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_AROONOSC_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_AROONOSC_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_AROONOSC_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_AROONOSC_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_AROONOSC_Stream_spec = { - "talib._ta_lib.AROONOSC_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_AROONOSC_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_AROONOSC_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""AROONOSC_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_AROONOSC_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("AROONOSC_Stream(high, low, int timeperiod=-0x80000000)\n\nAROONOSC(high, low[, timeperiod=?])\n\nAroon Oscillator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_AROONOSC_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_AROONOSC_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_AROONOSC_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_AROONOSC_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_AROONOSC_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ASIN_Stream __pyx_vtable_5talib_7_ta_lib_ASIN_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ASIN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ASIN_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ASIN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ASIN_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ASIN_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ASIN_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ASIN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ASIN_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ASIN_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ASIN_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ASIN_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11ASIN_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11ASIN_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11ASIN_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ASIN_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ASIN_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ASIN_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ASIN_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ASIN_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ASIN_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ASIN_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11ASIN_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ASIN_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ASIN_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ASIN_Stream(real)\n\nASIN(real)\n\nVector Trigonometric ASin (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ASIN_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ASIN_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ASIN_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ASIN_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ASIN_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ASIN_Stream_spec = { - "talib._ta_lib.ASIN_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ASIN_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ASIN_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ASIN_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ASIN_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ASIN_Stream(real)\n\nASIN(real)\n\nVector Trigonometric ASin (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ASIN_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ASIN_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ASIN_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ASIN_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ASIN_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ATAN_Stream __pyx_vtable_5talib_7_ta_lib_ATAN_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ATAN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ATAN_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ATAN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ATAN_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ATAN_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ATAN_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ATAN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ATAN_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ATAN_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ATAN_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ATAN_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11ATAN_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11ATAN_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11ATAN_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ATAN_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ATAN_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ATAN_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ATAN_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ATAN_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ATAN_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ATAN_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11ATAN_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ATAN_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ATAN_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ATAN_Stream(real)\n\nATAN(real)\n\nVector Trigonometric ATan (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ATAN_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ATAN_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ATAN_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ATAN_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ATAN_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ATAN_Stream_spec = { - "talib._ta_lib.ATAN_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ATAN_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ATAN_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ATAN_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ATAN_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ATAN_Stream(real)\n\nATAN(real)\n\nVector Trigonometric ATan (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ATAN_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ATAN_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ATAN_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ATAN_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ATAN_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ATR_Stream __pyx_vtable_5talib_7_ta_lib_ATR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ATR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ATR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ATR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ATR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ATR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ATR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ATR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ATR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ATR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10ATR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ATR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10ATR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ATR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ATR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10ATR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10ATR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10ATR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ATR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ATR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ATR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ATR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ATR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ATR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ATR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ATR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ATR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ATR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10ATR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ATR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ATR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ATR_Stream(high, low, close, int timeperiod=-0x80000000)\n\nATR(high, low, close[, timeperiod=?])\n\nAverage True Range (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ATR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ATR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ATR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ATR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ATR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ATR_Stream_spec = { - "talib._ta_lib.ATR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ATR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ATR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ATR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ATR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ATR_Stream(high, low, close, int timeperiod=-0x80000000)\n\nATR(high, low, close[, timeperiod=?])\n\nAverage True Range (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ATR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ATR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ATR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ATR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ATR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_AVGDEV_Stream __pyx_vtable_5talib_7_ta_lib_AVGDEV_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AVGDEV_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_AVGDEV_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AVGDEV_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_AVGDEV_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AVGDEV_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_AVGDEV_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AVGDEV_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_AVGDEV_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AVGDEV_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_AVGDEV_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_AVGDEV_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_13AVGDEV_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_AVGDEV_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13AVGDEV_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13AVGDEV_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13AVGDEV_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13AVGDEV_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13AVGDEV_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_AVGDEV_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_13AVGDEV_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_AVGDEV_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_AVGDEV_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("AVGDEV_Stream(real, int timeperiod=-0x80000000)\n\nAVGDEV(real[, timeperiod=?])\n\nAverage Deviation (Price Transform)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_AVGDEV_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_AVGDEV_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_AVGDEV_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_AVGDEV_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_AVGDEV_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_AVGDEV_Stream_spec = { - "talib._ta_lib.AVGDEV_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_AVGDEV_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_AVGDEV_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""AVGDEV_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_AVGDEV_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("AVGDEV_Stream(real, int timeperiod=-0x80000000)\n\nAVGDEV(real[, timeperiod=?])\n\nAverage Deviation (Price Transform)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_AVGDEV_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_AVGDEV_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_AVGDEV_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_AVGDEV_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_AVGDEV_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_AVGPRICE_Stream __pyx_vtable_5talib_7_ta_lib_AVGPRICE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_AVGPRICE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_AVGPRICE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_AVGPRICE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_AVGPRICE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_AVGPRICE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_AVGPRICE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_AVGPRICE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_AVGPRICE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_AVGPRICE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_AVGPRICE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_AVGPRICE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15AVGPRICE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_AVGPRICE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15AVGPRICE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15AVGPRICE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15AVGPRICE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15AVGPRICE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15AVGPRICE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_AVGPRICE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15AVGPRICE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_AVGPRICE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_AVGPRICE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("AVGPRICE_Stream(open, high, low, close)\n\nAVGPRICE(open, high, low, close)\n\nAverage Price (Price Transform)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_AVGPRICE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_AVGPRICE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_AVGPRICE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_AVGPRICE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_AVGPRICE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_AVGPRICE_Stream_spec = { - "talib._ta_lib.AVGPRICE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_AVGPRICE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_AVGPRICE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""AVGPRICE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_AVGPRICE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("AVGPRICE_Stream(open, high, low, close)\n\nAVGPRICE(open, high, low, close)\n\nAverage Price (Price Transform)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_AVGPRICE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_AVGPRICE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_AVGPRICE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_AVGPRICE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_AVGPRICE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_BBANDS_Stream __pyx_vtable_5talib_7_ta_lib_BBANDS_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_BBANDS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_BBANDS_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_BBANDS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_BBANDS_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_BBANDS_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_BBANDS_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_BBANDS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_BBANDS_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_BBANDS_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_BBANDS_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_BBANDS_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_13BBANDS_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_BBANDS_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13BBANDS_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13BBANDS_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13BBANDS_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13BBANDS_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13BBANDS_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_BBANDS_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_13BBANDS_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_BBANDS_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_BBANDS_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("BBANDS_Stream(real, int timeperiod=-0x80000000, double nbdevup=-4e37, double nbdevdn=-4e37, int matype=0)\n\nBBANDS(real[, timeperiod=?, nbdevup=?, nbdevdn=?, matype=?])\n\nBollinger Bands (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 20\n nbdevup: 2.0\n nbdevdn: 2.0\n matype: 0 (Simple Moving Average)\nOutputs:\n upperband\n middleband\n lowerband")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_BBANDS_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_BBANDS_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_BBANDS_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_BBANDS_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_BBANDS_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_BBANDS_Stream_spec = { - "talib._ta_lib.BBANDS_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_BBANDS_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_BBANDS_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""BBANDS_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_BBANDS_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("BBANDS_Stream(real, int timeperiod=-0x80000000, double nbdevup=-4e37, double nbdevdn=-4e37, int matype=0)\n\nBBANDS(real[, timeperiod=?, nbdevup=?, nbdevdn=?, matype=?])\n\nBollinger Bands (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 20\n nbdevup: 2.0\n nbdevdn: 2.0\n matype: 0 (Simple Moving Average)\nOutputs:\n upperband\n middleband\n lowerband"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_BBANDS_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_BBANDS_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_BBANDS_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_BBANDS_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_BBANDS_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_BETA_Stream __pyx_vtable_5talib_7_ta_lib_BETA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_BETA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_BETA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_BETA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_BETA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_BETA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_BETA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_BETA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_BETA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BETA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_BETA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11BETA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_BETA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11BETA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_BETA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_BETA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11BETA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11BETA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11BETA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_BETA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11BETA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11BETA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11BETA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11BETA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11BETA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11BETA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11BETA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11BETA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_BETA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11BETA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_BETA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_BETA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("BETA_Stream(real0, real1, int timeperiod=-0x80000000)\n\nBETA(real0, real1[, timeperiod=?])\n\nBeta (Statistic Functions)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nParameters:\n timeperiod: 5\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_BETA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_BETA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_BETA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_BETA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_BETA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_BETA_Stream_spec = { - "talib._ta_lib.BETA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_BETA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_BETA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""BETA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_BETA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("BETA_Stream(real0, real1, int timeperiod=-0x80000000)\n\nBETA(real0, real1[, timeperiod=?])\n\nBeta (Statistic Functions)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nParameters:\n timeperiod: 5\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_BETA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_BETA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_BETA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_BETA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_BETA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_BOP_Stream __pyx_vtable_5talib_7_ta_lib_BOP_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_BOP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_BOP_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_BOP_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_BOP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_BOP_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_BOP_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_BOP_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_BOP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BOP_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_BOP_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10BOP_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_BOP_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10BOP_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_BOP_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_BOP_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10BOP_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10BOP_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10BOP_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_BOP_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10BOP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10BOP_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10BOP_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10BOP_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10BOP_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10BOP_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10BOP_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10BOP_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_BOP_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10BOP_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_BOP_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_BOP_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("BOP_Stream(open, high, low, close)\n\nBOP(open, high, low, close)\n\nBalance Of Power (Momentum Indicators)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_BOP_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_BOP_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_BOP_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_BOP_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_BOP_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_BOP_Stream_spec = { - "talib._ta_lib.BOP_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_BOP_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_BOP_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""BOP_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_BOP_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("BOP_Stream(open, high, low, close)\n\nBOP(open, high, low, close)\n\nBalance Of Power (Momentum Indicators)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_BOP_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_BOP_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_BOP_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_BOP_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_BOP_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CCI_Stream __pyx_vtable_5talib_7_ta_lib_CCI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CCI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CCI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CCI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CCI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CCI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CCI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CCI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CCI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CCI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CCI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10CCI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CCI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10CCI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CCI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CCI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10CCI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10CCI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10CCI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CCI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CCI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CCI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CCI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CCI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CCI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CCI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CCI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CCI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CCI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10CCI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CCI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CCI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CCI_Stream(high, low, close, int timeperiod=-0x80000000)\n\nCCI(high, low, close[, timeperiod=?])\n\nCommodity Channel Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CCI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CCI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CCI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CCI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CCI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CCI_Stream_spec = { - "talib._ta_lib.CCI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CCI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CCI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CCI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CCI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CCI_Stream(high, low, close, int timeperiod=-0x80000000)\n\nCCI(high, low, close[, timeperiod=?])\n\nCommodity Channel Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CCI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CCI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CCI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CCI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CCI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL2CROWS_Stream __pyx_vtable_5talib_7_ta_lib_CDL2CROWS_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL2CROWS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDL2CROWS_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL2CROWS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDL2CROWS_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL2CROWS_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL2CROWS_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL2CROWS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL2CROWS_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL2CROWS_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDL2CROWS_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDL2CROWS_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_16CDL2CROWS_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDL2CROWS_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDL2CROWS_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDL2CROWS_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDL2CROWS_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDL2CROWS_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDL2CROWS_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDL2CROWS_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_16CDL2CROWS_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDL2CROWS_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDL2CROWS_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDL2CROWS_Stream(open, high, low, close)\n\nCDL2CROWS(open, high, low, close)\n\nTwo Crows (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDL2CROWS_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDL2CROWS_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDL2CROWS_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDL2CROWS_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDL2CROWS_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDL2CROWS_Stream_spec = { - "talib._ta_lib.CDL2CROWS_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDL2CROWS_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDL2CROWS_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDL2CROWS_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDL2CROWS_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDL2CROWS_Stream(open, high, low, close)\n\nCDL2CROWS(open, high, low, close)\n\nTwo Crows (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDL2CROWS_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDL2CROWS_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDL2CROWS_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDL2CROWS_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDL2CROWS_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3BLACKCROWS_Stream __pyx_vtable_5talib_7_ta_lib_CDL3BLACKCROWS_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDL3BLACKCROWS_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3BLACKCROWS_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3BLACKCROWS_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDL3BLACKCROWS_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDL3BLACKCROWS_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDL3BLACKCROWS_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDL3BLACKCROWS_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDL3BLACKCROWS_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDL3BLACKCROWS_Stream(open, high, low, close)\n\nCDL3BLACKCROWS(open, high, low, close)\n\nThree Black Crows (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDL3BLACKCROWS_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDL3BLACKCROWS_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDL3BLACKCROWS_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDL3BLACKCROWS_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3BLACKCROWS_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDL3BLACKCROWS_Stream_spec = { - "talib._ta_lib.CDL3BLACKCROWS_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDL3BLACKCROWS_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDL3BLACKCROWS_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDL3BLACKCROWS_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDL3BLACKCROWS_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDL3BLACKCROWS_Stream(open, high, low, close)\n\nCDL3BLACKCROWS(open, high, low, close)\n\nThree Black Crows (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDL3BLACKCROWS_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDL3BLACKCROWS_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDL3BLACKCROWS_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDL3BLACKCROWS_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDL3BLACKCROWS_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3INSIDE_Stream __pyx_vtable_5talib_7_ta_lib_CDL3INSIDE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3INSIDE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDL3INSIDE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3INSIDE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3INSIDE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL3INSIDE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3INSIDE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3INSIDE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3INSIDE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL3INSIDE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDL3INSIDE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDL3INSIDE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_17CDL3INSIDE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDL3INSIDE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDL3INSIDE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDL3INSIDE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDL3INSIDE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDL3INSIDE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDL3INSIDE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDL3INSIDE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_17CDL3INSIDE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDL3INSIDE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDL3INSIDE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDL3INSIDE_Stream(open, high, low, close)\n\nCDL3INSIDE(open, high, low, close)\n\nThree Inside Up/Down (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDL3INSIDE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDL3INSIDE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDL3INSIDE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDL3INSIDE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3INSIDE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDL3INSIDE_Stream_spec = { - "talib._ta_lib.CDL3INSIDE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDL3INSIDE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDL3INSIDE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDL3INSIDE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDL3INSIDE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDL3INSIDE_Stream(open, high, low, close)\n\nCDL3INSIDE(open, high, low, close)\n\nThree Inside Up/Down (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDL3INSIDE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDL3INSIDE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDL3INSIDE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDL3INSIDE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDL3INSIDE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3LINESTRIKE_Stream __pyx_vtable_5talib_7_ta_lib_CDL3LINESTRIKE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDL3LINESTRIKE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3LINESTRIKE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3LINESTRIKE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDL3LINESTRIKE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDL3LINESTRIKE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDL3LINESTRIKE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDL3LINESTRIKE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDL3LINESTRIKE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDL3LINESTRIKE_Stream(open, high, low, close)\n\nCDL3LINESTRIKE(open, high, low, close)\n\nThree-Line Strike (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDL3LINESTRIKE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDL3LINESTRIKE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDL3LINESTRIKE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDL3LINESTRIKE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3LINESTRIKE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDL3LINESTRIKE_Stream_spec = { - "talib._ta_lib.CDL3LINESTRIKE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDL3LINESTRIKE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDL3LINESTRIKE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDL3LINESTRIKE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDL3LINESTRIKE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDL3LINESTRIKE_Stream(open, high, low, close)\n\nCDL3LINESTRIKE(open, high, low, close)\n\nThree-Line Strike (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDL3LINESTRIKE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDL3LINESTRIKE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDL3LINESTRIKE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDL3LINESTRIKE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDL3LINESTRIKE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3OUTSIDE_Stream __pyx_vtable_5talib_7_ta_lib_CDL3OUTSIDE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3OUTSIDE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDL3OUTSIDE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3OUTSIDE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3OUTSIDE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL3OUTSIDE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3OUTSIDE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3OUTSIDE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3OUTSIDE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL3OUTSIDE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDL3OUTSIDE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDL3OUTSIDE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDL3OUTSIDE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDL3OUTSIDE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDL3OUTSIDE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDL3OUTSIDE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDL3OUTSIDE_Stream(open, high, low, close)\n\nCDL3OUTSIDE(open, high, low, close)\n\nThree Outside Up/Down (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDL3OUTSIDE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDL3OUTSIDE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDL3OUTSIDE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDL3OUTSIDE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3OUTSIDE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDL3OUTSIDE_Stream_spec = { - "talib._ta_lib.CDL3OUTSIDE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDL3OUTSIDE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDL3OUTSIDE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDL3OUTSIDE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDL3OUTSIDE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDL3OUTSIDE_Stream(open, high, low, close)\n\nCDL3OUTSIDE(open, high, low, close)\n\nThree Outside Up/Down (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDL3OUTSIDE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDL3OUTSIDE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDL3OUTSIDE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDL3OUTSIDE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDL3OUTSIDE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream __pyx_vtable_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDL3STARSINSOUTH_Stream(open, high, low, close)\n\nCDL3STARSINSOUTH(open, high, low, close)\n\nThree Stars In The South (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream_spec = { - "talib._ta_lib.CDL3STARSINSOUTH_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDL3STARSINSOUTH_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDL3STARSINSOUTH_Stream(open, high, low, close)\n\nCDL3STARSINSOUTH(open, high, low, close)\n\nThree Stars In The South (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream __pyx_vtable_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDL3WHITESOLDIERS_Stream(open, high, low, close)\n\nCDL3WHITESOLDIERS(open, high, low, close)\n\nThree Advancing White Soldiers (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream_spec = { - "talib._ta_lib.CDL3WHITESOLDIERS_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDL3WHITESOLDIERS_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDL3WHITESOLDIERS_Stream(open, high, low, close)\n\nCDL3WHITESOLDIERS(open, high, low, close)\n\nThree Advancing White Soldiers (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLABANDONEDBABY_Stream __pyx_vtable_5talib_7_ta_lib_CDLABANDONEDBABY_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLABANDONEDBABY_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLABANDONEDBABY_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLABANDONEDBABY_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLABANDONEDBABY_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLABANDONEDBABY_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLABANDONEDBABY_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLABANDONEDBABY_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLABANDONEDBABY_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLABANDONEDBABY_Stream(open, high, low, close, double penetration=0.3)\n\nCDLABANDONEDBABY(open, high, low, close[, penetration=?])\n\nAbandoned Baby (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLABANDONEDBABY_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLABANDONEDBABY_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLABANDONEDBABY_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLABANDONEDBABY_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLABANDONEDBABY_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLABANDONEDBABY_Stream_spec = { - "talib._ta_lib.CDLABANDONEDBABY_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLABANDONEDBABY_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLABANDONEDBABY_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLABANDONEDBABY_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLABANDONEDBABY_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLABANDONEDBABY_Stream(open, high, low, close, double penetration=0.3)\n\nCDLABANDONEDBABY(open, high, low, close[, penetration=?])\n\nAbandoned Baby (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLABANDONEDBABY_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLABANDONEDBABY_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLABANDONEDBABY_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLABANDONEDBABY_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLABANDONEDBABY_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream __pyx_vtable_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLADVANCEBLOCK_Stream(open, high, low, close)\n\nCDLADVANCEBLOCK(open, high, low, close)\n\nAdvance Block (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream_spec = { - "talib._ta_lib.CDLADVANCEBLOCK_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLADVANCEBLOCK_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLADVANCEBLOCK_Stream(open, high, low, close)\n\nCDLADVANCEBLOCK(open, high, low, close)\n\nAdvance Block (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLBELTHOLD_Stream __pyx_vtable_5talib_7_ta_lib_CDLBELTHOLD_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLBELTHOLD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLBELTHOLD_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLBELTHOLD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLBELTHOLD_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLBELTHOLD_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLBELTHOLD_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLBELTHOLD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLBELTHOLD_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLBELTHOLD_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLBELTHOLD_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLBELTHOLD_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_18CDLBELTHOLD_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLBELTHOLD_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLBELTHOLD_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLBELTHOLD_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLBELTHOLD_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLBELTHOLD_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLBELTHOLD_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLBELTHOLD_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_18CDLBELTHOLD_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLBELTHOLD_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLBELTHOLD_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLBELTHOLD_Stream(open, high, low, close)\n\nCDLBELTHOLD(open, high, low, close)\n\nBelt-hold (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLBELTHOLD_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLBELTHOLD_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLBELTHOLD_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLBELTHOLD_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLBELTHOLD_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLBELTHOLD_Stream_spec = { - "talib._ta_lib.CDLBELTHOLD_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLBELTHOLD_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLBELTHOLD_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLBELTHOLD_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLBELTHOLD_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLBELTHOLD_Stream(open, high, low, close)\n\nCDLBELTHOLD(open, high, low, close)\n\nBelt-hold (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLBELTHOLD_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLBELTHOLD_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLBELTHOLD_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLBELTHOLD_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLBELTHOLD_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLBREAKAWAY_Stream __pyx_vtable_5talib_7_ta_lib_CDLBREAKAWAY_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLBREAKAWAY_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLBREAKAWAY_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLBREAKAWAY_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLBREAKAWAY_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLBREAKAWAY_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLBREAKAWAY_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLBREAKAWAY_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLBREAKAWAY_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLBREAKAWAY_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLBREAKAWAY_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLBREAKAWAY_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLBREAKAWAY_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLBREAKAWAY_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLBREAKAWAY_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLBREAKAWAY_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLBREAKAWAY_Stream(open, high, low, close)\n\nCDLBREAKAWAY(open, high, low, close)\n\nBreakaway (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLBREAKAWAY_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLBREAKAWAY_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLBREAKAWAY_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLBREAKAWAY_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLBREAKAWAY_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLBREAKAWAY_Stream_spec = { - "talib._ta_lib.CDLBREAKAWAY_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLBREAKAWAY_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLBREAKAWAY_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLBREAKAWAY_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLBREAKAWAY_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLBREAKAWAY_Stream(open, high, low, close)\n\nCDLBREAKAWAY(open, high, low, close)\n\nBreakaway (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLBREAKAWAY_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLBREAKAWAY_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLBREAKAWAY_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLBREAKAWAY_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLBREAKAWAY_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream __pyx_vtable_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLCLOSINGMARUBOZU_Stream(open, high, low, close)\n\nCDLCLOSINGMARUBOZU(open, high, low, close)\n\nClosing Marubozu (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream_spec = { - "talib._ta_lib.CDLCLOSINGMARUBOZU_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLCLOSINGMARUBOZU_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLCLOSINGMARUBOZU_Stream(open, high, low, close)\n\nCDLCLOSINGMARUBOZU(open, high, low, close)\n\nClosing Marubozu (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream __pyx_vtable_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLCONCEALBABYSWALL_Stream(open, high, low, close)\n\nCDLCONCEALBABYSWALL(open, high, low, close)\n\nConcealing Baby Swallow (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream_spec = { - "talib._ta_lib.CDLCONCEALBABYSWALL_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLCONCEALBABYSWALL_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLCONCEALBABYSWALL_Stream(open, high, low, close)\n\nCDLCONCEALBABYSWALL(open, high, low, close)\n\nConcealing Baby Swallow (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream __pyx_vtable_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLCOUNTERATTACK_Stream(open, high, low, close)\n\nCDLCOUNTERATTACK(open, high, low, close)\n\nCounterattack (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream_spec = { - "talib._ta_lib.CDLCOUNTERATTACK_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLCOUNTERATTACK_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLCOUNTERATTACK_Stream(open, high, low, close)\n\nCDLCOUNTERATTACK(open, high, low, close)\n\nCounterattack (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream __pyx_vtable_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLDARKCLOUDCOVER_Stream(open, high, low, close, double penetration=0.5)\n\nCDLDARKCLOUDCOVER(open, high, low, close[, penetration=?])\n\nDark Cloud Cover (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.5\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream_spec = { - "talib._ta_lib.CDLDARKCLOUDCOVER_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLDARKCLOUDCOVER_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLDARKCLOUDCOVER_Stream(open, high, low, close, double penetration=0.5)\n\nCDLDARKCLOUDCOVER(open, high, low, close[, penetration=?])\n\nDark Cloud Cover (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.5\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLDOJI_Stream __pyx_vtable_5talib_7_ta_lib_CDLDOJI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLDOJI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLDOJI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDOJI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLDOJI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLDOJI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDOJI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLDOJI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDOJI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLDOJI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLDOJI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLDOJI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_14CDLDOJI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLDOJI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14CDLDOJI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14CDLDOJI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14CDLDOJI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14CDLDOJI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14CDLDOJI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLDOJI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_14CDLDOJI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLDOJI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLDOJI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLDOJI_Stream(open, high, low, close)\n\nCDLDOJI(open, high, low, close)\n\nDoji (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLDOJI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLDOJI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLDOJI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLDOJI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLDOJI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLDOJI_Stream_spec = { - "talib._ta_lib.CDLDOJI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLDOJI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLDOJI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLDOJI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLDOJI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLDOJI_Stream(open, high, low, close)\n\nCDLDOJI(open, high, low, close)\n\nDoji (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLDOJI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLDOJI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLDOJI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLDOJI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLDOJI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLDOJISTAR_Stream __pyx_vtable_5talib_7_ta_lib_CDLDOJISTAR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLDOJISTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLDOJISTAR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDOJISTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLDOJISTAR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLDOJISTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDOJISTAR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLDOJISTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDOJISTAR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLDOJISTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLDOJISTAR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLDOJISTAR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_18CDLDOJISTAR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLDOJISTAR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLDOJISTAR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLDOJISTAR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLDOJISTAR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLDOJISTAR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLDOJISTAR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLDOJISTAR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_18CDLDOJISTAR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLDOJISTAR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLDOJISTAR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLDOJISTAR_Stream(open, high, low, close)\n\nCDLDOJISTAR(open, high, low, close)\n\nDoji Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLDOJISTAR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLDOJISTAR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLDOJISTAR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLDOJISTAR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLDOJISTAR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLDOJISTAR_Stream_spec = { - "talib._ta_lib.CDLDOJISTAR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLDOJISTAR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLDOJISTAR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLDOJISTAR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLDOJISTAR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLDOJISTAR_Stream(open, high, low, close)\n\nCDLDOJISTAR(open, high, low, close)\n\nDoji Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLDOJISTAR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLDOJISTAR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLDOJISTAR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLDOJISTAR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLDOJISTAR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream __pyx_vtable_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLDRAGONFLYDOJI_Stream(open, high, low, close)\n\nCDLDRAGONFLYDOJI(open, high, low, close)\n\nDragonfly Doji (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream_spec = { - "talib._ta_lib.CDLDRAGONFLYDOJI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLDRAGONFLYDOJI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLDRAGONFLYDOJI_Stream(open, high, low, close)\n\nCDLDRAGONFLYDOJI(open, high, low, close)\n\nDragonfly Doji (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLENGULFING_Stream __pyx_vtable_5talib_7_ta_lib_CDLENGULFING_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLENGULFING_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLENGULFING_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLENGULFING_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLENGULFING_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLENGULFING_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLENGULFING_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLENGULFING_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLENGULFING_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLENGULFING_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLENGULFING_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLENGULFING_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_19CDLENGULFING_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLENGULFING_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLENGULFING_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLENGULFING_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLENGULFING_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLENGULFING_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLENGULFING_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLENGULFING_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_19CDLENGULFING_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLENGULFING_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLENGULFING_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLENGULFING_Stream(open, high, low, close)\n\nCDLENGULFING(open, high, low, close)\n\nEngulfing Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLENGULFING_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLENGULFING_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLENGULFING_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLENGULFING_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLENGULFING_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLENGULFING_Stream_spec = { - "talib._ta_lib.CDLENGULFING_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLENGULFING_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLENGULFING_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLENGULFING_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLENGULFING_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLENGULFING_Stream(open, high, low, close)\n\nCDLENGULFING(open, high, low, close)\n\nEngulfing Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLENGULFING_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLENGULFING_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLENGULFING_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLENGULFING_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLENGULFING_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream __pyx_vtable_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLEVENINGDOJISTAR_Stream(open, high, low, close, double penetration=0.3)\n\nCDLEVENINGDOJISTAR(open, high, low, close[, penetration=?])\n\nEvening Doji Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream_spec = { - "talib._ta_lib.CDLEVENINGDOJISTAR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLEVENINGDOJISTAR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLEVENINGDOJISTAR_Stream(open, high, low, close, double penetration=0.3)\n\nCDLEVENINGDOJISTAR(open, high, low, close[, penetration=?])\n\nEvening Doji Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLEVENINGSTAR_Stream __pyx_vtable_5talib_7_ta_lib_CDLEVENINGSTAR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLEVENINGSTAR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLEVENINGSTAR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLEVENINGSTAR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLEVENINGSTAR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLEVENINGSTAR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLEVENINGSTAR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLEVENINGSTAR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLEVENINGSTAR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLEVENINGSTAR_Stream(open, high, low, close, double penetration=0.3)\n\nCDLEVENINGSTAR(open, high, low, close[, penetration=?])\n\nEvening Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLEVENINGSTAR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLEVENINGSTAR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLEVENINGSTAR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLEVENINGSTAR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLEVENINGSTAR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLEVENINGSTAR_Stream_spec = { - "talib._ta_lib.CDLEVENINGSTAR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLEVENINGSTAR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLEVENINGSTAR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLEVENINGSTAR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLEVENINGSTAR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLEVENINGSTAR_Stream(open, high, low, close, double penetration=0.3)\n\nCDLEVENINGSTAR(open, high, low, close[, penetration=?])\n\nEvening Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLEVENINGSTAR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLEVENINGSTAR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLEVENINGSTAR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLEVENINGSTAR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLEVENINGSTAR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream __pyx_vtable_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLGAPSIDESIDEWHITE_Stream(open, high, low, close)\n\nCDLGAPSIDESIDEWHITE(open, high, low, close)\n\nUp/Down-gap side-by-side white lines (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream_spec = { - "talib._ta_lib.CDLGAPSIDESIDEWHITE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLGAPSIDESIDEWHITE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLGAPSIDESIDEWHITE_Stream(open, high, low, close)\n\nCDLGAPSIDESIDEWHITE(open, high, low, close)\n\nUp/Down-gap side-by-side white lines (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream __pyx_vtable_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLGRAVESTONEDOJI_Stream(open, high, low, close)\n\nCDLGRAVESTONEDOJI(open, high, low, close)\n\nGravestone Doji (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream_spec = { - "talib._ta_lib.CDLGRAVESTONEDOJI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLGRAVESTONEDOJI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLGRAVESTONEDOJI_Stream(open, high, low, close)\n\nCDLGRAVESTONEDOJI(open, high, low, close)\n\nGravestone Doji (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHAMMER_Stream __pyx_vtable_5talib_7_ta_lib_CDLHAMMER_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHAMMER_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLHAMMER_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHAMMER_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHAMMER_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHAMMER_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHAMMER_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHAMMER_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHAMMER_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHAMMER_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLHAMMER_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLHAMMER_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_16CDLHAMMER_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLHAMMER_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLHAMMER_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLHAMMER_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLHAMMER_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLHAMMER_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLHAMMER_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLHAMMER_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_16CDLHAMMER_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLHAMMER_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLHAMMER_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLHAMMER_Stream(open, high, low, close)\n\nCDLHAMMER(open, high, low, close)\n\nHammer (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLHAMMER_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLHAMMER_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLHAMMER_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLHAMMER_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHAMMER_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLHAMMER_Stream_spec = { - "talib._ta_lib.CDLHAMMER_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLHAMMER_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLHAMMER_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLHAMMER_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLHAMMER_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLHAMMER_Stream(open, high, low, close)\n\nCDLHAMMER(open, high, low, close)\n\nHammer (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLHAMMER_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLHAMMER_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLHAMMER_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLHAMMER_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLHAMMER_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHANGINGMAN_Stream __pyx_vtable_5talib_7_ta_lib_CDLHANGINGMAN_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHANGINGMAN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLHANGINGMAN_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHANGINGMAN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHANGINGMAN_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHANGINGMAN_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHANGINGMAN_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHANGINGMAN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHANGINGMAN_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHANGINGMAN_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLHANGINGMAN_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLHANGINGMAN_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLHANGINGMAN_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLHANGINGMAN_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLHANGINGMAN_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLHANGINGMAN_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLHANGINGMAN_Stream(open, high, low, close)\n\nCDLHANGINGMAN(open, high, low, close)\n\nHanging Man (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLHANGINGMAN_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLHANGINGMAN_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLHANGINGMAN_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLHANGINGMAN_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHANGINGMAN_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLHANGINGMAN_Stream_spec = { - "talib._ta_lib.CDLHANGINGMAN_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLHANGINGMAN_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLHANGINGMAN_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLHANGINGMAN_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLHANGINGMAN_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLHANGINGMAN_Stream(open, high, low, close)\n\nCDLHANGINGMAN(open, high, low, close)\n\nHanging Man (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLHANGINGMAN_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLHANGINGMAN_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLHANGINGMAN_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLHANGINGMAN_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLHANGINGMAN_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHARAMI_Stream __pyx_vtable_5talib_7_ta_lib_CDLHARAMI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHARAMI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLHARAMI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHARAMI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHARAMI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHARAMI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHARAMI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHARAMI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHARAMI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHARAMI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLHARAMI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLHARAMI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_16CDLHARAMI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLHARAMI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLHARAMI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLHARAMI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLHARAMI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLHARAMI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLHARAMI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLHARAMI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_16CDLHARAMI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLHARAMI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLHARAMI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLHARAMI_Stream(open, high, low, close)\n\nCDLHARAMI(open, high, low, close)\n\nHarami Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLHARAMI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLHARAMI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLHARAMI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLHARAMI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHARAMI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLHARAMI_Stream_spec = { - "talib._ta_lib.CDLHARAMI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLHARAMI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLHARAMI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLHARAMI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLHARAMI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLHARAMI_Stream(open, high, low, close)\n\nCDLHARAMI(open, high, low, close)\n\nHarami Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLHARAMI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLHARAMI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLHARAMI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLHARAMI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLHARAMI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHARAMICROSS_Stream __pyx_vtable_5talib_7_ta_lib_CDLHARAMICROSS_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHARAMICROSS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLHARAMICROSS_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHARAMICROSS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHARAMICROSS_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHARAMICROSS_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHARAMICROSS_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHARAMICROSS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHARAMICROSS_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHARAMICROSS_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLHARAMICROSS_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLHARAMICROSS_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLHARAMICROSS_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLHARAMICROSS_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLHARAMICROSS_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLHARAMICROSS_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLHARAMICROSS_Stream(open, high, low, close)\n\nCDLHARAMICROSS(open, high, low, close)\n\nHarami Cross Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLHARAMICROSS_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLHARAMICROSS_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLHARAMICROSS_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLHARAMICROSS_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHARAMICROSS_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLHARAMICROSS_Stream_spec = { - "talib._ta_lib.CDLHARAMICROSS_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLHARAMICROSS_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLHARAMICROSS_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLHARAMICROSS_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLHARAMICROSS_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLHARAMICROSS_Stream(open, high, low, close)\n\nCDLHARAMICROSS(open, high, low, close)\n\nHarami Cross Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLHARAMICROSS_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLHARAMICROSS_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLHARAMICROSS_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLHARAMICROSS_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLHARAMICROSS_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHIGHWAVE_Stream __pyx_vtable_5talib_7_ta_lib_CDLHIGHWAVE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHIGHWAVE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLHIGHWAVE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIGHWAVE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHIGHWAVE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHIGHWAVE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIGHWAVE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHIGHWAVE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIGHWAVE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHIGHWAVE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLHIGHWAVE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLHIGHWAVE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLHIGHWAVE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLHIGHWAVE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLHIGHWAVE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLHIGHWAVE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLHIGHWAVE_Stream(open, high, low, close)\n\nCDLHIGHWAVE(open, high, low, close)\n\nHigh-Wave Candle (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLHIGHWAVE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLHIGHWAVE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLHIGHWAVE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLHIGHWAVE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHIGHWAVE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLHIGHWAVE_Stream_spec = { - "talib._ta_lib.CDLHIGHWAVE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLHIGHWAVE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLHIGHWAVE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLHIGHWAVE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLHIGHWAVE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLHIGHWAVE_Stream(open, high, low, close)\n\nCDLHIGHWAVE(open, high, low, close)\n\nHigh-Wave Candle (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLHIGHWAVE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLHIGHWAVE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLHIGHWAVE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLHIGHWAVE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLHIGHWAVE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHIKKAKE_Stream __pyx_vtable_5talib_7_ta_lib_CDLHIKKAKE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHIKKAKE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLHIKKAKE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIKKAKE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHIKKAKE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHIKKAKE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIKKAKE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHIKKAKE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIKKAKE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHIKKAKE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLHIKKAKE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLHIKKAKE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_17CDLHIKKAKE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLHIKKAKE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLHIKKAKE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLHIKKAKE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLHIKKAKE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLHIKKAKE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLHIKKAKE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLHIKKAKE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_17CDLHIKKAKE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLHIKKAKE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLHIKKAKE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLHIKKAKE_Stream(open, high, low, close)\n\nCDLHIKKAKE(open, high, low, close)\n\nHikkake Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLHIKKAKE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLHIKKAKE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLHIKKAKE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLHIKKAKE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHIKKAKE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLHIKKAKE_Stream_spec = { - "talib._ta_lib.CDLHIKKAKE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLHIKKAKE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLHIKKAKE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLHIKKAKE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLHIKKAKE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLHIKKAKE_Stream(open, high, low, close)\n\nCDLHIKKAKE(open, high, low, close)\n\nHikkake Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLHIKKAKE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLHIKKAKE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLHIKKAKE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLHIKKAKE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLHIKKAKE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream __pyx_vtable_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLHIKKAKEMOD_Stream(open, high, low, close)\n\nCDLHIKKAKEMOD(open, high, low, close)\n\nModified Hikkake Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream_spec = { - "talib._ta_lib.CDLHIKKAKEMOD_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLHIKKAKEMOD_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLHIKKAKEMOD_Stream(open, high, low, close)\n\nCDLHIKKAKEMOD(open, high, low, close)\n\nModified Hikkake Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream __pyx_vtable_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLHOMINGPIGEON_Stream(open, high, low, close)\n\nCDLHOMINGPIGEON(open, high, low, close)\n\nHoming Pigeon (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream_spec = { - "talib._ta_lib.CDLHOMINGPIGEON_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLHOMINGPIGEON_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLHOMINGPIGEON_Stream(open, high, low, close)\n\nCDLHOMINGPIGEON(open, high, low, close)\n\nHoming Pigeon (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream __pyx_vtable_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLIDENTICAL3CROWS_Stream(open, high, low, close)\n\nCDLIDENTICAL3CROWS(open, high, low, close)\n\nIdentical Three Crows (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream_spec = { - "talib._ta_lib.CDLIDENTICAL3CROWS_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLIDENTICAL3CROWS_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLIDENTICAL3CROWS_Stream(open, high, low, close)\n\nCDLIDENTICAL3CROWS(open, high, low, close)\n\nIdentical Three Crows (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLINNECK_Stream __pyx_vtable_5talib_7_ta_lib_CDLINNECK_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLINNECK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLINNECK_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLINNECK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLINNECK_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLINNECK_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLINNECK_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLINNECK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLINNECK_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLINNECK_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLINNECK_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLINNECK_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_16CDLINNECK_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLINNECK_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLINNECK_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLINNECK_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLINNECK_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLINNECK_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLINNECK_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLINNECK_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_16CDLINNECK_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLINNECK_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLINNECK_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLINNECK_Stream(open, high, low, close)\n\nCDLINNECK(open, high, low, close)\n\nIn-Neck Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLINNECK_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLINNECK_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLINNECK_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLINNECK_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLINNECK_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLINNECK_Stream_spec = { - "talib._ta_lib.CDLINNECK_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLINNECK_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLINNECK_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLINNECK_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLINNECK_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLINNECK_Stream(open, high, low, close)\n\nCDLINNECK(open, high, low, close)\n\nIn-Neck Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLINNECK_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLINNECK_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLINNECK_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLINNECK_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLINNECK_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream __pyx_vtable_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLINVERTEDHAMMER_Stream(open, high, low, close)\n\nCDLINVERTEDHAMMER(open, high, low, close)\n\nInverted Hammer (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream_spec = { - "talib._ta_lib.CDLINVERTEDHAMMER_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLINVERTEDHAMMER_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLINVERTEDHAMMER_Stream(open, high, low, close)\n\nCDLINVERTEDHAMMER(open, high, low, close)\n\nInverted Hammer (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLKICKING_Stream __pyx_vtable_5talib_7_ta_lib_CDLKICKING_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLKICKING_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLKICKING_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLKICKING_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLKICKING_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLKICKING_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLKICKING_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLKICKING_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLKICKING_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLKICKING_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLKICKING_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLKICKING_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_17CDLKICKING_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLKICKING_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLKICKING_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLKICKING_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLKICKING_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLKICKING_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLKICKING_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLKICKING_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_17CDLKICKING_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLKICKING_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLKICKING_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLKICKING_Stream(open, high, low, close)\n\nCDLKICKING(open, high, low, close)\n\nKicking (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLKICKING_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLKICKING_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLKICKING_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLKICKING_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLKICKING_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLKICKING_Stream_spec = { - "talib._ta_lib.CDLKICKING_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLKICKING_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLKICKING_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLKICKING_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLKICKING_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLKICKING_Stream(open, high, low, close)\n\nCDLKICKING(open, high, low, close)\n\nKicking (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLKICKING_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLKICKING_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLKICKING_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLKICKING_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLKICKING_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream __pyx_vtable_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLKICKINGBYLENGTH_Stream(open, high, low, close)\n\nCDLKICKINGBYLENGTH(open, high, low, close)\n\nKicking - bull/bear determined by the longer marubozu (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream_spec = { - "talib._ta_lib.CDLKICKINGBYLENGTH_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLKICKINGBYLENGTH_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLKICKINGBYLENGTH_Stream(open, high, low, close)\n\nCDLKICKINGBYLENGTH(open, high, low, close)\n\nKicking - bull/bear determined by the longer marubozu (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream __pyx_vtable_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLLADDERBOTTOM_Stream(open, high, low, close)\n\nCDLLADDERBOTTOM(open, high, low, close)\n\nLadder Bottom (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream_spec = { - "talib._ta_lib.CDLLADDERBOTTOM_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLLADDERBOTTOM_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLLADDERBOTTOM_Stream(open, high, low, close)\n\nCDLLADDERBOTTOM(open, high, low, close)\n\nLadder Bottom (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream __pyx_vtable_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLLONGLEGGEDDOJI_Stream(open, high, low, close)\n\nCDLLONGLEGGEDDOJI(open, high, low, close)\n\nLong Legged Doji (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream_spec = { - "talib._ta_lib.CDLLONGLEGGEDDOJI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLLONGLEGGEDDOJI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLLONGLEGGEDDOJI_Stream(open, high, low, close)\n\nCDLLONGLEGGEDDOJI(open, high, low, close)\n\nLong Legged Doji (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLLONGLINE_Stream __pyx_vtable_5talib_7_ta_lib_CDLLONGLINE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLLONGLINE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLLONGLINE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLONGLINE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLLONGLINE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLLONGLINE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLONGLINE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLLONGLINE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLLONGLINE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLLONGLINE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLLONGLINE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLLONGLINE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_18CDLLONGLINE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLLONGLINE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLLONGLINE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLLONGLINE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLLONGLINE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLLONGLINE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLLONGLINE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLLONGLINE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_18CDLLONGLINE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLLONGLINE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLLONGLINE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLLONGLINE_Stream(open, high, low, close)\n\nCDLLONGLINE(open, high, low, close)\n\nLong Line Candle (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLLONGLINE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLLONGLINE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLLONGLINE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLLONGLINE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLLONGLINE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLLONGLINE_Stream_spec = { - "talib._ta_lib.CDLLONGLINE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLLONGLINE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLLONGLINE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLLONGLINE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLLONGLINE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLLONGLINE_Stream(open, high, low, close)\n\nCDLLONGLINE(open, high, low, close)\n\nLong Line Candle (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLLONGLINE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLLONGLINE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLLONGLINE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLLONGLINE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLLONGLINE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMARUBOZU_Stream __pyx_vtable_5talib_7_ta_lib_CDLMARUBOZU_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMARUBOZU_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLMARUBOZU_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMARUBOZU_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMARUBOZU_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLMARUBOZU_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMARUBOZU_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMARUBOZU_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMARUBOZU_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLMARUBOZU_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLMARUBOZU_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLMARUBOZU_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_18CDLMARUBOZU_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLMARUBOZU_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLMARUBOZU_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLMARUBOZU_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLMARUBOZU_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLMARUBOZU_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLMARUBOZU_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLMARUBOZU_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_18CDLMARUBOZU_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLMARUBOZU_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLMARUBOZU_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLMARUBOZU_Stream(open, high, low, close)\n\nCDLMARUBOZU(open, high, low, close)\n\nMarubozu (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLMARUBOZU_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLMARUBOZU_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLMARUBOZU_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLMARUBOZU_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMARUBOZU_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLMARUBOZU_Stream_spec = { - "talib._ta_lib.CDLMARUBOZU_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLMARUBOZU_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLMARUBOZU_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLMARUBOZU_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLMARUBOZU_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLMARUBOZU_Stream(open, high, low, close)\n\nCDLMARUBOZU(open, high, low, close)\n\nMarubozu (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLMARUBOZU_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLMARUBOZU_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLMARUBOZU_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLMARUBOZU_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLMARUBOZU_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMATCHINGLOW_Stream __pyx_vtable_5talib_7_ta_lib_CDLMATCHINGLOW_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLMATCHINGLOW_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMATCHINGLOW_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMATCHINGLOW_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLMATCHINGLOW_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLMATCHINGLOW_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLMATCHINGLOW_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLMATCHINGLOW_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLMATCHINGLOW_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLMATCHINGLOW_Stream(open, high, low, close)\n\nCDLMATCHINGLOW(open, high, low, close)\n\nMatching Low (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLMATCHINGLOW_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLMATCHINGLOW_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLMATCHINGLOW_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLMATCHINGLOW_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMATCHINGLOW_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLMATCHINGLOW_Stream_spec = { - "talib._ta_lib.CDLMATCHINGLOW_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLMATCHINGLOW_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLMATCHINGLOW_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLMATCHINGLOW_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLMATCHINGLOW_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLMATCHINGLOW_Stream(open, high, low, close)\n\nCDLMATCHINGLOW(open, high, low, close)\n\nMatching Low (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLMATCHINGLOW_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLMATCHINGLOW_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLMATCHINGLOW_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLMATCHINGLOW_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLMATCHINGLOW_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMATHOLD_Stream __pyx_vtable_5talib_7_ta_lib_CDLMATHOLD_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMATHOLD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLMATHOLD_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMATHOLD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMATHOLD_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLMATHOLD_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMATHOLD_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMATHOLD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMATHOLD_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLMATHOLD_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLMATHOLD_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLMATHOLD_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_17CDLMATHOLD_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLMATHOLD_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLMATHOLD_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLMATHOLD_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLMATHOLD_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLMATHOLD_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLMATHOLD_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLMATHOLD_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_17CDLMATHOLD_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLMATHOLD_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLMATHOLD_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLMATHOLD_Stream(open, high, low, close, double penetration=0.5)\n\nCDLMATHOLD(open, high, low, close[, penetration=?])\n\nMat Hold (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.5\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLMATHOLD_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLMATHOLD_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLMATHOLD_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLMATHOLD_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMATHOLD_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLMATHOLD_Stream_spec = { - "talib._ta_lib.CDLMATHOLD_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLMATHOLD_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLMATHOLD_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLMATHOLD_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLMATHOLD_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLMATHOLD_Stream(open, high, low, close, double penetration=0.5)\n\nCDLMATHOLD(open, high, low, close[, penetration=?])\n\nMat Hold (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.5\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLMATHOLD_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLMATHOLD_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLMATHOLD_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLMATHOLD_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLMATHOLD_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream __pyx_vtable_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLMORNINGDOJISTAR_Stream(open, high, low, close, double penetration=0.3)\n\nCDLMORNINGDOJISTAR(open, high, low, close[, penetration=?])\n\nMorning Doji Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream_spec = { - "talib._ta_lib.CDLMORNINGDOJISTAR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLMORNINGDOJISTAR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLMORNINGDOJISTAR_Stream(open, high, low, close, double penetration=0.3)\n\nCDLMORNINGDOJISTAR(open, high, low, close[, penetration=?])\n\nMorning Doji Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLMORNINGSTAR_Stream __pyx_vtable_5talib_7_ta_lib_CDLMORNINGSTAR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLMORNINGSTAR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMORNINGSTAR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLMORNINGSTAR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLMORNINGSTAR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLMORNINGSTAR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLMORNINGSTAR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLMORNINGSTAR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLMORNINGSTAR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLMORNINGSTAR_Stream(open, high, low, close, double penetration=0.3)\n\nCDLMORNINGSTAR(open, high, low, close[, penetration=?])\n\nMorning Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLMORNINGSTAR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLMORNINGSTAR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLMORNINGSTAR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLMORNINGSTAR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLMORNINGSTAR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLMORNINGSTAR_Stream_spec = { - "talib._ta_lib.CDLMORNINGSTAR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLMORNINGSTAR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLMORNINGSTAR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLMORNINGSTAR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLMORNINGSTAR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLMORNINGSTAR_Stream(open, high, low, close, double penetration=0.3)\n\nCDLMORNINGSTAR(open, high, low, close[, penetration=?])\n\nMorning Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nParameters:\n penetration: 0.3\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLMORNINGSTAR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLMORNINGSTAR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLMORNINGSTAR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLMORNINGSTAR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLMORNINGSTAR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLONNECK_Stream __pyx_vtable_5talib_7_ta_lib_CDLONNECK_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLONNECK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLONNECK_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLONNECK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLONNECK_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLONNECK_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLONNECK_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLONNECK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLONNECK_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLONNECK_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLONNECK_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLONNECK_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_16CDLONNECK_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLONNECK_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLONNECK_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLONNECK_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLONNECK_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLONNECK_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLONNECK_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLONNECK_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_16CDLONNECK_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLONNECK_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLONNECK_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLONNECK_Stream(open, high, low, close)\n\nCDLONNECK(open, high, low, close)\n\nOn-Neck Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLONNECK_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLONNECK_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLONNECK_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLONNECK_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLONNECK_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLONNECK_Stream_spec = { - "talib._ta_lib.CDLONNECK_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLONNECK_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLONNECK_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLONNECK_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLONNECK_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLONNECK_Stream(open, high, low, close)\n\nCDLONNECK(open, high, low, close)\n\nOn-Neck Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLONNECK_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLONNECK_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLONNECK_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLONNECK_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLONNECK_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLPIERCING_Stream __pyx_vtable_5talib_7_ta_lib_CDLPIERCING_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLPIERCING_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLPIERCING_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLPIERCING_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLPIERCING_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLPIERCING_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLPIERCING_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLPIERCING_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLPIERCING_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLPIERCING_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLPIERCING_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLPIERCING_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_18CDLPIERCING_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLPIERCING_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLPIERCING_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLPIERCING_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLPIERCING_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18CDLPIERCING_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18CDLPIERCING_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLPIERCING_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_18CDLPIERCING_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLPIERCING_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLPIERCING_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLPIERCING_Stream(open, high, low, close)\n\nCDLPIERCING(open, high, low, close)\n\nPiercing Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLPIERCING_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLPIERCING_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLPIERCING_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLPIERCING_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLPIERCING_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLPIERCING_Stream_spec = { - "talib._ta_lib.CDLPIERCING_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLPIERCING_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLPIERCING_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLPIERCING_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLPIERCING_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLPIERCING_Stream(open, high, low, close)\n\nCDLPIERCING(open, high, low, close)\n\nPiercing Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLPIERCING_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLPIERCING_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLPIERCING_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLPIERCING_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLPIERCING_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream __pyx_vtable_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLRICKSHAWMAN_Stream(open, high, low, close)\n\nCDLRICKSHAWMAN(open, high, low, close)\n\nRickshaw Man (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream_spec = { - "talib._ta_lib.CDLRICKSHAWMAN_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLRICKSHAWMAN_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLRICKSHAWMAN_Stream(open, high, low, close)\n\nCDLRICKSHAWMAN(open, high, low, close)\n\nRickshaw Man (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream __pyx_vtable_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLRISEFALL3METHODS_Stream(open, high, low, close)\n\nCDLRISEFALL3METHODS(open, high, low, close)\n\nRising/Falling Three Methods (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream_spec = { - "talib._ta_lib.CDLRISEFALL3METHODS_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLRISEFALL3METHODS_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLRISEFALL3METHODS_Stream(open, high, low, close)\n\nCDLRISEFALL3METHODS(open, high, low, close)\n\nRising/Falling Three Methods (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream __pyx_vtable_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLSEPARATINGLINES_Stream(open, high, low, close)\n\nCDLSEPARATINGLINES(open, high, low, close)\n\nSeparating Lines (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream_spec = { - "talib._ta_lib.CDLSEPARATINGLINES_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLSEPARATINGLINES_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLSEPARATINGLINES_Stream(open, high, low, close)\n\nCDLSEPARATINGLINES(open, high, low, close)\n\nSeparating Lines (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream __pyx_vtable_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLSHOOTINGSTAR_Stream(open, high, low, close)\n\nCDLSHOOTINGSTAR(open, high, low, close)\n\nShooting Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream_spec = { - "talib._ta_lib.CDLSHOOTINGSTAR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLSHOOTINGSTAR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLSHOOTINGSTAR_Stream(open, high, low, close)\n\nCDLSHOOTINGSTAR(open, high, low, close)\n\nShooting Star (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSHORTLINE_Stream __pyx_vtable_5talib_7_ta_lib_CDLSHORTLINE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSHORTLINE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLSHORTLINE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSHORTLINE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSHORTLINE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLSHORTLINE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSHORTLINE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSHORTLINE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSHORTLINE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLSHORTLINE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLSHORTLINE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLSHORTLINE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_19CDLSHORTLINE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLSHORTLINE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLSHORTLINE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLSHORTLINE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLSHORTLINE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLSHORTLINE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLSHORTLINE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLSHORTLINE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_19CDLSHORTLINE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLSHORTLINE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLSHORTLINE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLSHORTLINE_Stream(open, high, low, close)\n\nCDLSHORTLINE(open, high, low, close)\n\nShort Line Candle (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLSHORTLINE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLSHORTLINE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLSHORTLINE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLSHORTLINE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSHORTLINE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLSHORTLINE_Stream_spec = { - "talib._ta_lib.CDLSHORTLINE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLSHORTLINE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLSHORTLINE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLSHORTLINE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLSHORTLINE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLSHORTLINE_Stream(open, high, low, close)\n\nCDLSHORTLINE(open, high, low, close)\n\nShort Line Candle (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLSHORTLINE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLSHORTLINE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLSHORTLINE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLSHORTLINE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLSHORTLINE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSPINNINGTOP_Stream __pyx_vtable_5talib_7_ta_lib_CDLSPINNINGTOP_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLSPINNINGTOP_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSPINNINGTOP_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSPINNINGTOP_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLSPINNINGTOP_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLSPINNINGTOP_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLSPINNINGTOP_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLSPINNINGTOP_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLSPINNINGTOP_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLSPINNINGTOP_Stream(open, high, low, close)\n\nCDLSPINNINGTOP(open, high, low, close)\n\nSpinning Top (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLSPINNINGTOP_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLSPINNINGTOP_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLSPINNINGTOP_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLSPINNINGTOP_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSPINNINGTOP_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLSPINNINGTOP_Stream_spec = { - "talib._ta_lib.CDLSPINNINGTOP_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLSPINNINGTOP_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLSPINNINGTOP_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLSPINNINGTOP_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLSPINNINGTOP_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLSPINNINGTOP_Stream(open, high, low, close)\n\nCDLSPINNINGTOP(open, high, low, close)\n\nSpinning Top (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLSPINNINGTOP_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLSPINNINGTOP_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLSPINNINGTOP_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLSPINNINGTOP_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLSPINNINGTOP_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream __pyx_vtable_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLSTALLEDPATTERN_Stream(open, high, low, close)\n\nCDLSTALLEDPATTERN(open, high, low, close)\n\nStalled Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream_spec = { - "talib._ta_lib.CDLSTALLEDPATTERN_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLSTALLEDPATTERN_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLSTALLEDPATTERN_Stream(open, high, low, close)\n\nCDLSTALLEDPATTERN(open, high, low, close)\n\nStalled Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream __pyx_vtable_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLSTICKSANDWICH_Stream(open, high, low, close)\n\nCDLSTICKSANDWICH(open, high, low, close)\n\nStick Sandwich (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream_spec = { - "talib._ta_lib.CDLSTICKSANDWICH_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLSTICKSANDWICH_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLSTICKSANDWICH_Stream(open, high, low, close)\n\nCDLSTICKSANDWICH(open, high, low, close)\n\nStick Sandwich (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLTAKURI_Stream __pyx_vtable_5talib_7_ta_lib_CDLTAKURI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLTAKURI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLTAKURI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTAKURI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLTAKURI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLTAKURI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTAKURI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLTAKURI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTAKURI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLTAKURI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLTAKURI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLTAKURI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_16CDLTAKURI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLTAKURI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLTAKURI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLTAKURI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLTAKURI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16CDLTAKURI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16CDLTAKURI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLTAKURI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_16CDLTAKURI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLTAKURI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLTAKURI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLTAKURI_Stream(open, high, low, close)\n\nCDLTAKURI(open, high, low, close)\n\nTakuri (Dragonfly Doji with very long lower shadow) (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLTAKURI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLTAKURI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLTAKURI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLTAKURI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLTAKURI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLTAKURI_Stream_spec = { - "talib._ta_lib.CDLTAKURI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLTAKURI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLTAKURI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLTAKURI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLTAKURI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLTAKURI_Stream(open, high, low, close)\n\nCDLTAKURI(open, high, low, close)\n\nTakuri (Dragonfly Doji with very long lower shadow) (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLTAKURI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLTAKURI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLTAKURI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLTAKURI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLTAKURI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLTASUKIGAP_Stream __pyx_vtable_5talib_7_ta_lib_CDLTASUKIGAP_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLTASUKIGAP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLTASUKIGAP_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTASUKIGAP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLTASUKIGAP_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLTASUKIGAP_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTASUKIGAP_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLTASUKIGAP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTASUKIGAP_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLTASUKIGAP_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLTASUKIGAP_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLTASUKIGAP_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLTASUKIGAP_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLTASUKIGAP_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLTASUKIGAP_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLTASUKIGAP_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLTASUKIGAP_Stream(open, high, low, close)\n\nCDLTASUKIGAP(open, high, low, close)\n\nTasuki Gap (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLTASUKIGAP_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLTASUKIGAP_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLTASUKIGAP_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLTASUKIGAP_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLTASUKIGAP_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLTASUKIGAP_Stream_spec = { - "talib._ta_lib.CDLTASUKIGAP_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLTASUKIGAP_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLTASUKIGAP_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLTASUKIGAP_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLTASUKIGAP_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLTASUKIGAP_Stream(open, high, low, close)\n\nCDLTASUKIGAP(open, high, low, close)\n\nTasuki Gap (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLTASUKIGAP_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLTASUKIGAP_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLTASUKIGAP_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLTASUKIGAP_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLTASUKIGAP_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLTHRUSTING_Stream __pyx_vtable_5talib_7_ta_lib_CDLTHRUSTING_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLTHRUSTING_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLTHRUSTING_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTHRUSTING_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLTHRUSTING_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLTHRUSTING_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTHRUSTING_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLTHRUSTING_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTHRUSTING_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLTHRUSTING_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLTHRUSTING_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLTHRUSTING_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_19CDLTHRUSTING_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLTHRUSTING_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLTHRUSTING_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLTHRUSTING_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLTHRUSTING_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19CDLTHRUSTING_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19CDLTHRUSTING_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLTHRUSTING_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_19CDLTHRUSTING_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLTHRUSTING_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLTHRUSTING_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLTHRUSTING_Stream(open, high, low, close)\n\nCDLTHRUSTING(open, high, low, close)\n\nThrusting Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLTHRUSTING_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLTHRUSTING_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLTHRUSTING_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLTHRUSTING_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLTHRUSTING_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLTHRUSTING_Stream_spec = { - "talib._ta_lib.CDLTHRUSTING_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLTHRUSTING_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLTHRUSTING_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLTHRUSTING_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLTHRUSTING_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLTHRUSTING_Stream(open, high, low, close)\n\nCDLTHRUSTING(open, high, low, close)\n\nThrusting Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLTHRUSTING_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLTHRUSTING_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLTHRUSTING_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLTHRUSTING_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLTHRUSTING_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLTRISTAR_Stream __pyx_vtable_5talib_7_ta_lib_CDLTRISTAR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLTRISTAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLTRISTAR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTRISTAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLTRISTAR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLTRISTAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTRISTAR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLTRISTAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLTRISTAR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLTRISTAR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLTRISTAR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLTRISTAR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_17CDLTRISTAR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLTRISTAR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLTRISTAR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLTRISTAR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLTRISTAR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17CDLTRISTAR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17CDLTRISTAR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLTRISTAR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_17CDLTRISTAR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLTRISTAR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLTRISTAR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLTRISTAR_Stream(open, high, low, close)\n\nCDLTRISTAR(open, high, low, close)\n\nTristar Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLTRISTAR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLTRISTAR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLTRISTAR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLTRISTAR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLTRISTAR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLTRISTAR_Stream_spec = { - "talib._ta_lib.CDLTRISTAR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLTRISTAR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLTRISTAR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLTRISTAR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLTRISTAR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLTRISTAR_Stream(open, high, low, close)\n\nCDLTRISTAR(open, high, low, close)\n\nTristar Pattern (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLTRISTAR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLTRISTAR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLTRISTAR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLTRISTAR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLTRISTAR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream __pyx_vtable_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLUNIQUE3RIVER_Stream(open, high, low, close)\n\nCDLUNIQUE3RIVER(open, high, low, close)\n\nUnique 3 River (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream_spec = { - "talib._ta_lib.CDLUNIQUE3RIVER_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLUNIQUE3RIVER_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLUNIQUE3RIVER_Stream(open, high, low, close)\n\nCDLUNIQUE3RIVER(open, high, low, close)\n\nUnique 3 River (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream __pyx_vtable_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLUPSIDEGAP2CROWS_Stream(open, high, low, close)\n\nCDLUPSIDEGAP2CROWS(open, high, low, close)\n\nUpside Gap Two Crows (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream_spec = { - "talib._ta_lib.CDLUPSIDEGAP2CROWS_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLUPSIDEGAP2CROWS_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLUPSIDEGAP2CROWS_Stream(open, high, low, close)\n\nCDLUPSIDEGAP2CROWS(open, high, low, close)\n\nUpside Gap Two Crows (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream __pyx_vtable_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CDLXSIDEGAP3METHODS_Stream(open, high, low, close)\n\nCDLXSIDEGAP3METHODS(open, high, low, close)\n\nUpside/Downside Gap Three Methods (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream_spec = { - "talib._ta_lib.CDLXSIDEGAP3METHODS_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CDLXSIDEGAP3METHODS_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CDLXSIDEGAP3METHODS_Stream(open, high, low, close)\n\nCDLXSIDEGAP3METHODS(open, high, low, close)\n\nUpside/Downside Gap Three Methods (Pattern Recognition)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n integer (values are -100, 0 or 100)"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CEIL_Stream __pyx_vtable_5talib_7_ta_lib_CEIL_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CEIL_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CEIL_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CEIL_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CEIL_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CEIL_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CEIL_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CEIL_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CEIL_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CEIL_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CEIL_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CEIL_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11CEIL_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11CEIL_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11CEIL_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CEIL_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11CEIL_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11CEIL_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11CEIL_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11CEIL_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11CEIL_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CEIL_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11CEIL_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CEIL_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CEIL_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CEIL_Stream(real)\n\nCEIL(real)\n\nVector Ceil (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CEIL_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CEIL_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CEIL_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CEIL_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CEIL_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CEIL_Stream_spec = { - "talib._ta_lib.CEIL_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CEIL_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CEIL_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CEIL_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CEIL_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CEIL_Stream(real)\n\nCEIL(real)\n\nVector Ceil (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CEIL_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CEIL_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CEIL_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CEIL_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CEIL_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CMF_Stream __pyx_vtable_5talib_7_ta_lib_CMF_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CMF_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CMF_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CMF_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CMF_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CMF_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CMF_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CMF_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CMF_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMF_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CMF_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10CMF_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CMF_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10CMF_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CMF_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CMF_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10CMF_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10CMF_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10CMF_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CMF_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CMF_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CMF_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CMF_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CMF_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CMF_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CMF_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CMF_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CMF_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CMF_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10CMF_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CMF_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CMF_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CMF_Stream(high, low, close, volume, int timeperiod=-0x80000000)\n\nCMF(high, low, close, volume[, timeperiod=?])\n\nChaikin Money Flow (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nParameters:\n timeperiod: 20\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CMF_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CMF_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CMF_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CMF_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CMF_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CMF_Stream_spec = { - "talib._ta_lib.CMF_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CMF_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CMF_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CMF_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CMF_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CMF_Stream(high, low, close, volume, int timeperiod=-0x80000000)\n\nCMF(high, low, close, volume[, timeperiod=?])\n\nChaikin Money Flow (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nParameters:\n timeperiod: 20\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CMF_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CMF_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CMF_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CMF_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CMF_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CMO_Stream __pyx_vtable_5talib_7_ta_lib_CMO_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CMO_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CMO_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CMO_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CMO_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CMO_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CMO_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CMO_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CMO_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMO_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CMO_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10CMO_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CMO_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10CMO_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CMO_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CMO_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10CMO_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10CMO_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10CMO_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CMO_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CMO_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CMO_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CMO_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CMO_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CMO_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CMO_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CMO_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CMO_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CMO_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10CMO_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CMO_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CMO_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CMO_Stream(real, int timeperiod=-0x80000000)\n\nCMO(real[, timeperiod=?])\n\nChande Momentum Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CMO_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CMO_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CMO_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CMO_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CMO_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CMO_Stream_spec = { - "talib._ta_lib.CMO_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CMO_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CMO_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CMO_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CMO_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CMO_Stream(real, int timeperiod=-0x80000000)\n\nCMO(real[, timeperiod=?])\n\nChande Momentum Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CMO_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CMO_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CMO_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CMO_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CMO_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CMOU_Stream __pyx_vtable_5talib_7_ta_lib_CMOU_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CMOU_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CMOU_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CMOU_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CMOU_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CMOU_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CMOU_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CMOU_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CMOU_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CMOU_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CMOU_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CMOU_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11CMOU_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11CMOU_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11CMOU_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CMOU_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11CMOU_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11CMOU_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11CMOU_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11CMOU_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11CMOU_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CMOU_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11CMOU_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CMOU_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CMOU_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CMOU_Stream(real, int timeperiod=-0x80000000)\n\nCMOU(real[, timeperiod=?])\n\nChande Momentum Oscillator (Unsmoothed) (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CMOU_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CMOU_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CMOU_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CMOU_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CMOU_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CMOU_Stream_spec = { - "talib._ta_lib.CMOU_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CMOU_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CMOU_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CMOU_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CMOU_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CMOU_Stream(real, int timeperiod=-0x80000000)\n\nCMOU(real[, timeperiod=?])\n\nChande Momentum Oscillator (Unsmoothed) (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CMOU_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CMOU_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CMOU_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CMOU_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CMOU_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_COPPOCK_Stream __pyx_vtable_5talib_7_ta_lib_COPPOCK_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_COPPOCK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_COPPOCK_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_COPPOCK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_COPPOCK_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_COPPOCK_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_COPPOCK_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_COPPOCK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_COPPOCK_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_COPPOCK_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_COPPOCK_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_COPPOCK_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_14COPPOCK_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_COPPOCK_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14COPPOCK_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14COPPOCK_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14COPPOCK_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14COPPOCK_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14COPPOCK_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_COPPOCK_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_14COPPOCK_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_COPPOCK_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_COPPOCK_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("COPPOCK_Stream(real, int wmaperiod=-0x80000000, int roc1period=-0x80000000, int roc2period=-0x80000000)\n\nCOPPOCK(real[, wmaperiod=?, roc1period=?, roc2period=?])\n\nCoppock Curve (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n wmaperiod: 10\n roc1period: 11\n roc2period: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_COPPOCK_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_COPPOCK_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_COPPOCK_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_COPPOCK_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_COPPOCK_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_COPPOCK_Stream_spec = { - "talib._ta_lib.COPPOCK_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_COPPOCK_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_COPPOCK_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""COPPOCK_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_COPPOCK_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("COPPOCK_Stream(real, int wmaperiod=-0x80000000, int roc1period=-0x80000000, int roc2period=-0x80000000)\n\nCOPPOCK(real[, wmaperiod=?, roc1period=?, roc2period=?])\n\nCoppock Curve (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n wmaperiod: 10\n roc1period: 11\n roc2period: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_COPPOCK_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_COPPOCK_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_COPPOCK_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_COPPOCK_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_COPPOCK_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CORREL_Stream __pyx_vtable_5talib_7_ta_lib_CORREL_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CORREL_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CORREL_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CORREL_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CORREL_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CORREL_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CORREL_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CORREL_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CORREL_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CORREL_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CORREL_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CORREL_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_13CORREL_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_13CORREL_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_13CORREL_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CORREL_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13CORREL_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13CORREL_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13CORREL_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13CORREL_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13CORREL_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CORREL_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_13CORREL_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CORREL_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CORREL_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CORREL_Stream(real0, real1, int timeperiod=-0x80000000)\n\nCORREL(real0, real1[, timeperiod=?])\n\nPearson\047s Correlation Coefficient (r) (Statistic Functions)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CORREL_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CORREL_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CORREL_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CORREL_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CORREL_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CORREL_Stream_spec = { - "talib._ta_lib.CORREL_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CORREL_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CORREL_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CORREL_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CORREL_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CORREL_Stream(real0, real1, int timeperiod=-0x80000000)\n\nCORREL(real0, real1[, timeperiod=?])\n\nPearson\047s Correlation Coefficient (r) (Statistic Functions)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CORREL_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CORREL_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CORREL_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CORREL_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CORREL_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_COS_Stream __pyx_vtable_5talib_7_ta_lib_COS_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_COS_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_COS_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_COS_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_COS_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_COS_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_COS_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_COS_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_COS_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_COS_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COS_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_COS_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10COS_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_COS_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10COS_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_COS_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_COS_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10COS_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10COS_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10COS_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_COS_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10COS_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10COS_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10COS_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10COS_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10COS_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10COS_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10COS_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10COS_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_COS_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10COS_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_COS_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_COS_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("COS_Stream(real)\n\nCOS(real)\n\nVector Trigonometric Cos (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_COS_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_COS_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_COS_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_COS_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_COS_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_COS_Stream_spec = { - "talib._ta_lib.COS_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_COS_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_COS_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_COS_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""COS_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_COS_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_COS_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("COS_Stream(real)\n\nCOS(real)\n\nVector Trigonometric Cos (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_COS_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_COS_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_COS_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_COS_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_COS_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_COSH_Stream __pyx_vtable_5talib_7_ta_lib_COSH_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_COSH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_COSH_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_COSH_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_COSH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_COSH_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_COSH_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_COSH_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_COSH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COSH_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_COSH_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11COSH_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_COSH_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11COSH_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_COSH_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_COSH_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11COSH_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11COSH_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11COSH_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_COSH_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11COSH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11COSH_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11COSH_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11COSH_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11COSH_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11COSH_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11COSH_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11COSH_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_COSH_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11COSH_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_COSH_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_COSH_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("COSH_Stream(real)\n\nCOSH(real)\n\nVector Trigonometric Cosh (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_COSH_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_COSH_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_COSH_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_COSH_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_COSH_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_COSH_Stream_spec = { - "talib._ta_lib.COSH_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_COSH_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_COSH_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""COSH_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_COSH_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("COSH_Stream(real)\n\nCOSH(real)\n\nVector Trigonometric Cosh (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_COSH_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_COSH_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_COSH_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_COSH_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_COSH_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CUMSUM_Stream __pyx_vtable_5talib_7_ta_lib_CUMSUM_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CUMSUM_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CUMSUM_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CUMSUM_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CUMSUM_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CUMSUM_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CUMSUM_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CUMSUM_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CUMSUM_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CUMSUM_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CUMSUM_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CUMSUM_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_13CUMSUM_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CUMSUM_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13CUMSUM_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13CUMSUM_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13CUMSUM_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13CUMSUM_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13CUMSUM_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CUMSUM_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_13CUMSUM_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CUMSUM_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CUMSUM_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CUMSUM_Stream(real)\n\nCUMSUM(real)\n\nCumulative Sum (Math Operators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CUMSUM_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CUMSUM_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CUMSUM_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CUMSUM_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CUMSUM_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CUMSUM_Stream_spec = { - "talib._ta_lib.CUMSUM_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CUMSUM_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CUMSUM_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CUMSUM_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CUMSUM_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CUMSUM_Stream(real)\n\nCUMSUM(real)\n\nCumulative Sum (Math Operators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CUMSUM_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CUMSUM_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CUMSUM_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CUMSUM_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CUMSUM_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_CVI_Stream __pyx_vtable_5talib_7_ta_lib_CVI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_CVI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_CVI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_CVI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_CVI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_CVI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_CVI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_CVI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_CVI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CVI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_CVI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10CVI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_CVI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10CVI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_CVI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_CVI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10CVI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10CVI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10CVI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_CVI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CVI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CVI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CVI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CVI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CVI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CVI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10CVI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10CVI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_CVI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10CVI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_CVI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_CVI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("CVI_Stream(high, low, int timeperiod=-0x80000000, int rocperiod=-0x80000000)\n\nCVI(high, low[, timeperiod=?, rocperiod=?])\n\nChaikin\047s Volatility (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 10\n rocperiod: 10\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_CVI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_CVI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_CVI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_CVI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_CVI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_CVI_Stream_spec = { - "talib._ta_lib.CVI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_CVI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_CVI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""CVI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_CVI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("CVI_Stream(high, low, int timeperiod=-0x80000000, int rocperiod=-0x80000000)\n\nCVI(high, low[, timeperiod=?, rocperiod=?])\n\nChaikin\047s Volatility (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 10\n rocperiod: 10\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_CVI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_CVI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_CVI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_CVI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_CVI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_DEMA_Stream __pyx_vtable_5talib_7_ta_lib_DEMA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_DEMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_DEMA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_DEMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_DEMA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_DEMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_DEMA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_DEMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_DEMA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_DEMA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_DEMA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_DEMA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11DEMA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11DEMA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11DEMA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_DEMA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11DEMA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11DEMA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11DEMA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11DEMA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11DEMA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_DEMA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11DEMA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_DEMA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_DEMA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("DEMA_Stream(real, int timeperiod=-0x80000000)\n\nDEMA(real[, timeperiod=?])\n\nDouble Exponential Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_DEMA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_DEMA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_DEMA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_DEMA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_DEMA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_DEMA_Stream_spec = { - "talib._ta_lib.DEMA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_DEMA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_DEMA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""DEMA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_DEMA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("DEMA_Stream(real, int timeperiod=-0x80000000)\n\nDEMA(real[, timeperiod=?])\n\nDouble Exponential Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_DEMA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_DEMA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_DEMA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_DEMA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_DEMA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_DIV_Stream __pyx_vtable_5talib_7_ta_lib_DIV_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_DIV_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_DIV_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_DIV_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_DIV_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_DIV_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_DIV_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_DIV_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_DIV_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DIV_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_DIV_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10DIV_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_DIV_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10DIV_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_DIV_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_DIV_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10DIV_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10DIV_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10DIV_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_DIV_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10DIV_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10DIV_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10DIV_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10DIV_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10DIV_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10DIV_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10DIV_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10DIV_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_DIV_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10DIV_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_DIV_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_DIV_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("DIV_Stream(real0, real1)\n\nDIV(real0, real1)\n\nVector Arithmetic Div (Math Operators)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_DIV_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_DIV_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_DIV_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_DIV_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_DIV_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_DIV_Stream_spec = { - "talib._ta_lib.DIV_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_DIV_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_DIV_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""DIV_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_DIV_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("DIV_Stream(real0, real1)\n\nDIV(real0, real1)\n\nVector Arithmetic Div (Math Operators)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_DIV_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_DIV_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_DIV_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_DIV_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_DIV_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_DONCHIAN_Stream __pyx_vtable_5talib_7_ta_lib_DONCHIAN_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_DONCHIAN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_DONCHIAN_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_DONCHIAN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_DONCHIAN_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_DONCHIAN_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_DONCHIAN_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_DONCHIAN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_DONCHIAN_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_DONCHIAN_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_DONCHIAN_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_DONCHIAN_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15DONCHIAN_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_DONCHIAN_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15DONCHIAN_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15DONCHIAN_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15DONCHIAN_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15DONCHIAN_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15DONCHIAN_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_DONCHIAN_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15DONCHIAN_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_DONCHIAN_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_DONCHIAN_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("DONCHIAN_Stream(high, low, int timeperiod=-0x80000000)\n\nDONCHIAN(high, low[, timeperiod=?])\n\nDonchian Channels (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 20\nOutputs:\n upperband\n middleband\n lowerband")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_DONCHIAN_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_DONCHIAN_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_DONCHIAN_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_DONCHIAN_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_DONCHIAN_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_DONCHIAN_Stream_spec = { - "talib._ta_lib.DONCHIAN_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_DONCHIAN_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_DONCHIAN_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""DONCHIAN_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_DONCHIAN_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("DONCHIAN_Stream(high, low, int timeperiod=-0x80000000)\n\nDONCHIAN(high, low[, timeperiod=?])\n\nDonchian Channels (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 20\nOutputs:\n upperband\n middleband\n lowerband"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_DONCHIAN_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_DONCHIAN_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_DONCHIAN_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_DONCHIAN_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_DONCHIAN_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_DPO_Stream __pyx_vtable_5talib_7_ta_lib_DPO_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_DPO_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_DPO_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_DPO_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_DPO_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_DPO_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_DPO_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_DPO_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_DPO_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DPO_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_DPO_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10DPO_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_DPO_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10DPO_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_DPO_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_DPO_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10DPO_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10DPO_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10DPO_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_DPO_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10DPO_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10DPO_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10DPO_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10DPO_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10DPO_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10DPO_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10DPO_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10DPO_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_DPO_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10DPO_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_DPO_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_DPO_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("DPO_Stream(real, int timeperiod=-0x80000000)\n\nDPO(real[, timeperiod=?])\n\nDetrended Price Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 20\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_DPO_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_DPO_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_DPO_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_DPO_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_DPO_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_DPO_Stream_spec = { - "talib._ta_lib.DPO_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_DPO_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_DPO_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""DPO_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_DPO_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("DPO_Stream(real, int timeperiod=-0x80000000)\n\nDPO(real[, timeperiod=?])\n\nDetrended Price Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 20\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_DPO_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_DPO_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_DPO_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_DPO_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_DPO_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_DX_Stream __pyx_vtable_5talib_7_ta_lib_DX_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_DX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_DX_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_DX_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_DX_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_DX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_DX_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_DX_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_DX_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_DX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DX_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_DX_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_9DX_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_DX_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_9DX_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_DX_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_DX_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_9DX_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_9DX_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_9DX_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_DX_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9DX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9DX_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9DX_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9DX_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9DX_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9DX_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9DX_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9DX_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_DX_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_9DX_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_DX_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_DX_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("DX_Stream(high, low, close, int timeperiod=-0x80000000)\n\nDX(high, low, close[, timeperiod=?])\n\nDirectional Movement Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_DX_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_DX_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_DX_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_DX_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_DX_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_DX_Stream_spec = { - "talib._ta_lib.DX_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_DX_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_DX_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_DX_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""DX_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_DX_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_DX_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("DX_Stream(high, low, close, int timeperiod=-0x80000000)\n\nDX(high, low, close[, timeperiod=?])\n\nDirectional Movement Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_DX_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_DX_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_DX_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_DX_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_DX_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_EFI_Stream __pyx_vtable_5talib_7_ta_lib_EFI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_EFI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_EFI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_EFI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_EFI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_EFI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_EFI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_EFI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_EFI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EFI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_EFI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10EFI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_EFI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10EFI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_EFI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_EFI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10EFI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10EFI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10EFI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_EFI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EFI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EFI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EFI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EFI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EFI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EFI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EFI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EFI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_EFI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10EFI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_EFI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_EFI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("EFI_Stream(close, volume, int timeperiod=-0x80000000)\n\nEFI(close, volume[, timeperiod=?])\n\nElder\047s Force Index (Volume Indicators)\n\nInputs:\n prices: [\047close\047, \047volume\047]\nParameters:\n timeperiod: 13\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_EFI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_EFI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_EFI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_EFI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_EFI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_EFI_Stream_spec = { - "talib._ta_lib.EFI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_EFI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_EFI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""EFI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_EFI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("EFI_Stream(close, volume, int timeperiod=-0x80000000)\n\nEFI(close, volume[, timeperiod=?])\n\nElder\047s Force Index (Volume Indicators)\n\nInputs:\n prices: [\047close\047, \047volume\047]\nParameters:\n timeperiod: 13\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_EFI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_EFI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_EFI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_EFI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_EFI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_EMA_Stream __pyx_vtable_5talib_7_ta_lib_EMA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_EMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_EMA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_EMA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_EMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_EMA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_EMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_EMA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_EMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EMA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_EMA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10EMA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_EMA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10EMA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_EMA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_EMA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10EMA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10EMA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10EMA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_EMA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EMA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EMA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EMA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EMA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EMA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EMA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EMA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_EMA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10EMA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_EMA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_EMA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("EMA_Stream(real, int timeperiod=-0x80000000)\n\nEMA(real[, timeperiod=?])\n\nExponential Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_EMA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_EMA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_EMA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_EMA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_EMA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_EMA_Stream_spec = { - "talib._ta_lib.EMA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_EMA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_EMA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""EMA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_EMA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("EMA_Stream(real, int timeperiod=-0x80000000)\n\nEMA(real[, timeperiod=?])\n\nExponential Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_EMA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_EMA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_EMA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_EMA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_EMA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ER_Stream __pyx_vtable_5talib_7_ta_lib_ER_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ER_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ER_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ER_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ER_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ER_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ER_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ER_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ER_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ER_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ER_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ER_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_9ER_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ER_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_9ER_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ER_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ER_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_9ER_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_9ER_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_9ER_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ER_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9ER_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9ER_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9ER_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9ER_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9ER_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9ER_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9ER_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9ER_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ER_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_9ER_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ER_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ER_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ER_Stream(real, int timeperiod=-0x80000000)\n\nER(real[, timeperiod=?])\n\nKaufman Efficiency Ratio (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ER_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ER_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ER_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ER_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ER_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ER_Stream_spec = { - "talib._ta_lib.ER_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ER_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ER_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ER_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ER_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ER_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ER_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ER_Stream(real, int timeperiod=-0x80000000)\n\nER(real[, timeperiod=?])\n\nKaufman Efficiency Ratio (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ER_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ER_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ER_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ER_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ER_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ERI_Stream __pyx_vtable_5talib_7_ta_lib_ERI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ERI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ERI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ERI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ERI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ERI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ERI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ERI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ERI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ERI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ERI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10ERI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ERI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10ERI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ERI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ERI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10ERI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10ERI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10ERI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ERI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ERI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ERI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ERI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ERI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ERI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ERI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ERI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ERI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ERI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10ERI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ERI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ERI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ERI_Stream(high, low, close, int timeperiod=-0x80000000)\n\nERI(high, low, close[, timeperiod=?])\n\nElder Ray Index (Bull Power / Bear Power) (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 13\nOutputs:\n bullpower\n bearpower")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ERI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ERI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ERI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ERI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ERI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ERI_Stream_spec = { - "talib._ta_lib.ERI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ERI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ERI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ERI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ERI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ERI_Stream(high, low, close, int timeperiod=-0x80000000)\n\nERI(high, low, close[, timeperiod=?])\n\nElder Ray Index (Bull Power / Bear Power) (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 13\nOutputs:\n bullpower\n bearpower"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ERI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ERI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ERI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ERI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ERI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_EXP_Stream __pyx_vtable_5talib_7_ta_lib_EXP_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_EXP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_EXP_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_EXP_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_EXP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_EXP_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_EXP_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_EXP_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_EXP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EXP_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_EXP_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10EXP_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_EXP_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10EXP_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_EXP_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_EXP_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10EXP_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10EXP_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10EXP_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_EXP_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EXP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EXP_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EXP_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EXP_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EXP_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EXP_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10EXP_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10EXP_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_EXP_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10EXP_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_EXP_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_EXP_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("EXP_Stream(real)\n\nEXP(real)\n\nVector Arithmetic Exp (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_EXP_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_EXP_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_EXP_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_EXP_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_EXP_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_EXP_Stream_spec = { - "talib._ta_lib.EXP_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_EXP_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_EXP_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""EXP_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_EXP_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("EXP_Stream(real)\n\nEXP(real)\n\nVector Arithmetic Exp (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_EXP_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_EXP_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_EXP_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_EXP_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_EXP_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_FLOOR_Stream __pyx_vtable_5talib_7_ta_lib_FLOOR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_FLOOR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_FLOOR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_FLOOR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_FLOOR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_FLOOR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_FLOOR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_FLOOR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_FLOOR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_FLOOR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_FLOOR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_FLOOR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_12FLOOR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_FLOOR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12FLOOR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12FLOOR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12FLOOR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12FLOOR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12FLOOR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_FLOOR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_12FLOOR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_FLOOR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_FLOOR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("FLOOR_Stream(real)\n\nFLOOR(real)\n\nVector Floor (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_FLOOR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_FLOOR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_FLOOR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_FLOOR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_FLOOR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_FLOOR_Stream_spec = { - "talib._ta_lib.FLOOR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_FLOOR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_FLOOR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""FLOOR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_FLOOR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("FLOOR_Stream(real)\n\nFLOOR(real)\n\nVector Floor (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_FLOOR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_FLOOR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_FLOOR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_FLOOR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_FLOOR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_FOSC_Stream __pyx_vtable_5talib_7_ta_lib_FOSC_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_FOSC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_FOSC_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_FOSC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_FOSC_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_FOSC_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_FOSC_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_FOSC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_FOSC_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_FOSC_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_FOSC_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_FOSC_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11FOSC_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11FOSC_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11FOSC_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_FOSC_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11FOSC_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11FOSC_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11FOSC_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11FOSC_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11FOSC_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_FOSC_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11FOSC_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_FOSC_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_FOSC_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("FOSC_Stream(real, int timeperiod=-0x80000000)\n\nFOSC(real[, timeperiod=?])\n\nForecast Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 5\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_FOSC_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_FOSC_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_FOSC_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_FOSC_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_FOSC_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_FOSC_Stream_spec = { - "talib._ta_lib.FOSC_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_FOSC_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_FOSC_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""FOSC_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_FOSC_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("FOSC_Stream(real, int timeperiod=-0x80000000)\n\nFOSC(real[, timeperiod=?])\n\nForecast Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 5\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_FOSC_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_FOSC_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_FOSC_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_FOSC_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_FOSC_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_FRACTAL_Stream __pyx_vtable_5talib_7_ta_lib_FRACTAL_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_FRACTAL_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_FRACTAL_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_FRACTAL_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_FRACTAL_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_FRACTAL_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_FRACTAL_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_FRACTAL_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_FRACTAL_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_FRACTAL_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_FRACTAL_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_FRACTAL_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_14FRACTAL_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_FRACTAL_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14FRACTAL_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14FRACTAL_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14FRACTAL_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14FRACTAL_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14FRACTAL_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_FRACTAL_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_14FRACTAL_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_FRACTAL_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_FRACTAL_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("FRACTAL_Stream(high, low, int leftbars=-0x80000000, int rightbars=-0x80000000)\n\nFRACTAL(high, low[, leftbars=?, rightbars=?])\n\nWilliams Fractal (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n leftbars: 2\n rightbars: 2\nOutputs:\n swinghigh\n swinglow")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_FRACTAL_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_FRACTAL_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_FRACTAL_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_FRACTAL_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_FRACTAL_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_FRACTAL_Stream_spec = { - "talib._ta_lib.FRACTAL_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_FRACTAL_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_FRACTAL_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""FRACTAL_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_FRACTAL_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("FRACTAL_Stream(high, low, int leftbars=-0x80000000, int rightbars=-0x80000000)\n\nFRACTAL(high, low[, leftbars=?, rightbars=?])\n\nWilliams Fractal (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n leftbars: 2\n rightbars: 2\nOutputs:\n swinghigh\n swinglow"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_FRACTAL_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_FRACTAL_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_FRACTAL_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_FRACTAL_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_FRACTAL_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_HA_Stream __pyx_vtable_5talib_7_ta_lib_HA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_HA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_HA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_HA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_HA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_HA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_HA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_9HA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_9HA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_HA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_HA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_9HA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_9HA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_9HA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_HA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9HA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9HA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9HA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9HA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9HA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9HA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9HA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9HA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_HA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_9HA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_HA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_HA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("HA_Stream(open, high, low, close)\n\nHA(open, high, low, close)\n\nHeikin-Ashi Candles (Price Transform)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n haopen\n hahigh\n halow\n haclose")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_HA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_HA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_HA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_HA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_HA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_HA_Stream_spec = { - "talib._ta_lib.HA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_HA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_HA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_HA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""HA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_HA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_HA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("HA_Stream(open, high, low, close)\n\nHA(open, high, low, close)\n\nHeikin-Ashi Candles (Price Transform)\n\nInputs:\n prices: [\047open\047, \047high\047, \047low\047, \047close\047]\nOutputs:\n haopen\n hahigh\n halow\n haclose"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_HA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_HA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_HA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_HA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_HA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_HMA_Stream __pyx_vtable_5talib_7_ta_lib_HMA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_HMA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_HMA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_HMA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_HMA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HMA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_HMA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10HMA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HMA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10HMA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_HMA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_HMA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10HMA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10HMA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10HMA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_HMA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10HMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10HMA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10HMA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10HMA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10HMA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10HMA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10HMA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10HMA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_HMA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10HMA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_HMA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_HMA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("HMA_Stream(real, int timeperiod=-0x80000000)\n\nHMA(real[, timeperiod=?])\n\nHull Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 20\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_HMA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_HMA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_HMA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_HMA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_HMA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_HMA_Stream_spec = { - "talib._ta_lib.HMA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_HMA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_HMA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""HMA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_HMA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("HMA_Stream(real, int timeperiod=-0x80000000)\n\nHMA(real[, timeperiod=?])\n\nHull Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 20\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_HMA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_HMA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_HMA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_HMA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_HMA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_HT_DCPERIOD_Stream __pyx_vtable_5talib_7_ta_lib_HT_DCPERIOD_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HT_DCPERIOD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_HT_DCPERIOD_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_DCPERIOD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_HT_DCPERIOD_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HT_DCPERIOD_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_DCPERIOD_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HT_DCPERIOD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_DCPERIOD_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HT_DCPERIOD_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_HT_DCPERIOD_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_HT_DCPERIOD_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_18HT_DCPERIOD_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_HT_DCPERIOD_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18HT_DCPERIOD_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18HT_DCPERIOD_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18HT_DCPERIOD_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18HT_DCPERIOD_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18HT_DCPERIOD_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_HT_DCPERIOD_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_18HT_DCPERIOD_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_HT_DCPERIOD_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_HT_DCPERIOD_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("HT_DCPERIOD_Stream(real)\n\nHT_DCPERIOD(real)\n\nHilbert Transform - Dominant Cycle Period (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_HT_DCPERIOD_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_HT_DCPERIOD_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_HT_DCPERIOD_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_HT_DCPERIOD_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_HT_DCPERIOD_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_HT_DCPERIOD_Stream_spec = { - "talib._ta_lib.HT_DCPERIOD_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_HT_DCPERIOD_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_HT_DCPERIOD_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""HT_DCPERIOD_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_HT_DCPERIOD_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("HT_DCPERIOD_Stream(real)\n\nHT_DCPERIOD(real)\n\nHilbert Transform - Dominant Cycle Period (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_HT_DCPERIOD_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_HT_DCPERIOD_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_HT_DCPERIOD_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_HT_DCPERIOD_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_HT_DCPERIOD_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_HT_DCPHASE_Stream __pyx_vtable_5talib_7_ta_lib_HT_DCPHASE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HT_DCPHASE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_HT_DCPHASE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_DCPHASE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_HT_DCPHASE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HT_DCPHASE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_DCPHASE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HT_DCPHASE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_DCPHASE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HT_DCPHASE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_HT_DCPHASE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_HT_DCPHASE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_17HT_DCPHASE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_HT_DCPHASE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17HT_DCPHASE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17HT_DCPHASE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17HT_DCPHASE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17HT_DCPHASE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17HT_DCPHASE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_HT_DCPHASE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_17HT_DCPHASE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_HT_DCPHASE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_HT_DCPHASE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("HT_DCPHASE_Stream(real)\n\nHT_DCPHASE(real)\n\nHilbert Transform - Dominant Cycle Phase (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_HT_DCPHASE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_HT_DCPHASE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_HT_DCPHASE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_HT_DCPHASE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_HT_DCPHASE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_HT_DCPHASE_Stream_spec = { - "talib._ta_lib.HT_DCPHASE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_HT_DCPHASE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_HT_DCPHASE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""HT_DCPHASE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_HT_DCPHASE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("HT_DCPHASE_Stream(real)\n\nHT_DCPHASE(real)\n\nHilbert Transform - Dominant Cycle Phase (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_HT_DCPHASE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_HT_DCPHASE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_HT_DCPHASE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_HT_DCPHASE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_HT_DCPHASE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_HT_PHASOR_Stream __pyx_vtable_5talib_7_ta_lib_HT_PHASOR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HT_PHASOR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_HT_PHASOR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_PHASOR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_HT_PHASOR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HT_PHASOR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_PHASOR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HT_PHASOR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_PHASOR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HT_PHASOR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_HT_PHASOR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_HT_PHASOR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_16HT_PHASOR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_HT_PHASOR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16HT_PHASOR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16HT_PHASOR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16HT_PHASOR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16HT_PHASOR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16HT_PHASOR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_HT_PHASOR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_16HT_PHASOR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_HT_PHASOR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_HT_PHASOR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("HT_PHASOR_Stream(real)\n\nHT_PHASOR(real)\n\nHilbert Transform - Phasor Components (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n inphase\n quadrature")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_HT_PHASOR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_HT_PHASOR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_HT_PHASOR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_HT_PHASOR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_HT_PHASOR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_HT_PHASOR_Stream_spec = { - "talib._ta_lib.HT_PHASOR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_HT_PHASOR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_HT_PHASOR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""HT_PHASOR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_HT_PHASOR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("HT_PHASOR_Stream(real)\n\nHT_PHASOR(real)\n\nHilbert Transform - Phasor Components (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n inphase\n quadrature"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_HT_PHASOR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_HT_PHASOR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_HT_PHASOR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_HT_PHASOR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_HT_PHASOR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_HT_SINE_Stream __pyx_vtable_5talib_7_ta_lib_HT_SINE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HT_SINE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_HT_SINE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_SINE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_HT_SINE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HT_SINE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_SINE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HT_SINE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_SINE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HT_SINE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_HT_SINE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_HT_SINE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_14HT_SINE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_HT_SINE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14HT_SINE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14HT_SINE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14HT_SINE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14HT_SINE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14HT_SINE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_HT_SINE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_14HT_SINE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_HT_SINE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_HT_SINE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("HT_SINE_Stream(real)\n\nHT_SINE(real)\n\nHilbert Transform - SineWave (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n sine\n leadsine")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_HT_SINE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_HT_SINE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_HT_SINE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_HT_SINE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_HT_SINE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_HT_SINE_Stream_spec = { - "talib._ta_lib.HT_SINE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_HT_SINE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_HT_SINE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""HT_SINE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_HT_SINE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("HT_SINE_Stream(real)\n\nHT_SINE(real)\n\nHilbert Transform - SineWave (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n sine\n leadsine"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_HT_SINE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_HT_SINE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_HT_SINE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_HT_SINE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_HT_SINE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_HT_TRENDLINE_Stream __pyx_vtable_5talib_7_ta_lib_HT_TRENDLINE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HT_TRENDLINE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_HT_TRENDLINE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_TRENDLINE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_HT_TRENDLINE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HT_TRENDLINE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_TRENDLINE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HT_TRENDLINE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_TRENDLINE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HT_TRENDLINE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_HT_TRENDLINE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_HT_TRENDLINE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_19HT_TRENDLINE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_HT_TRENDLINE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19HT_TRENDLINE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19HT_TRENDLINE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19HT_TRENDLINE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19HT_TRENDLINE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19HT_TRENDLINE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_HT_TRENDLINE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_19HT_TRENDLINE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_HT_TRENDLINE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_HT_TRENDLINE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("HT_TRENDLINE_Stream(real)\n\nHT_TRENDLINE(real)\n\nHilbert Transform - Instantaneous Trendline (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_HT_TRENDLINE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_HT_TRENDLINE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_HT_TRENDLINE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_HT_TRENDLINE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_HT_TRENDLINE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_HT_TRENDLINE_Stream_spec = { - "talib._ta_lib.HT_TRENDLINE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_HT_TRENDLINE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_HT_TRENDLINE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""HT_TRENDLINE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_HT_TRENDLINE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("HT_TRENDLINE_Stream(real)\n\nHT_TRENDLINE(real)\n\nHilbert Transform - Instantaneous Trendline (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_HT_TRENDLINE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_HT_TRENDLINE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_HT_TRENDLINE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_HT_TRENDLINE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_HT_TRENDLINE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_HT_TRENDMODE_Stream __pyx_vtable_5talib_7_ta_lib_HT_TRENDMODE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_HT_TRENDMODE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_HT_TRENDMODE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_TRENDMODE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_HT_TRENDMODE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_HT_TRENDMODE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_TRENDMODE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_HT_TRENDMODE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_HT_TRENDMODE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_HT_TRENDMODE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_HT_TRENDMODE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_HT_TRENDMODE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_19HT_TRENDMODE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_HT_TRENDMODE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19HT_TRENDMODE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19HT_TRENDMODE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19HT_TRENDMODE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_19HT_TRENDMODE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_19HT_TRENDMODE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_HT_TRENDMODE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_19HT_TRENDMODE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_HT_TRENDMODE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_HT_TRENDMODE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("HT_TRENDMODE_Stream(real)\n\nHT_TRENDMODE(real)\n\nHilbert Transform - Trend vs Cycle Mode (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n integer")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_HT_TRENDMODE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_HT_TRENDMODE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_HT_TRENDMODE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_HT_TRENDMODE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_HT_TRENDMODE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_HT_TRENDMODE_Stream_spec = { - "talib._ta_lib.HT_TRENDMODE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_HT_TRENDMODE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_HT_TRENDMODE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""HT_TRENDMODE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_HT_TRENDMODE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("HT_TRENDMODE_Stream(real)\n\nHT_TRENDMODE(real)\n\nHilbert Transform - Trend vs Cycle Mode (Cycle Indicators)\n\nInputs:\n real: (any ndarray)\nOutputs:\n integer"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_HT_TRENDMODE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_HT_TRENDMODE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_HT_TRENDMODE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_HT_TRENDMODE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_HT_TRENDMODE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_IMI_Stream __pyx_vtable_5talib_7_ta_lib_IMI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_IMI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_IMI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_IMI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_IMI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_IMI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_IMI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_IMI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_IMI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_IMI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_IMI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10IMI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_IMI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10IMI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_IMI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_IMI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10IMI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10IMI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10IMI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_IMI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10IMI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10IMI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10IMI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10IMI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10IMI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10IMI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10IMI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10IMI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_IMI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10IMI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_IMI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_IMI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("IMI_Stream(open, close, int timeperiod=-0x80000000)\n\nIMI(open, close[, timeperiod=?])\n\nIntraday Momentum Index (Momentum Indicators)\n\nInputs:\n prices: [\047open\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_IMI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_IMI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_IMI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_IMI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_IMI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_IMI_Stream_spec = { - "talib._ta_lib.IMI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_IMI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_IMI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""IMI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_IMI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("IMI_Stream(open, close, int timeperiod=-0x80000000)\n\nIMI(open, close[, timeperiod=?])\n\nIntraday Momentum Index (Momentum Indicators)\n\nInputs:\n prices: [\047open\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_IMI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_IMI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_IMI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_IMI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_IMI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_KAMA_Stream __pyx_vtable_5talib_7_ta_lib_KAMA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_KAMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_KAMA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_KAMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_KAMA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_KAMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_KAMA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_KAMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_KAMA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_KAMA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_KAMA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_KAMA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11KAMA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11KAMA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11KAMA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_KAMA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11KAMA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11KAMA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11KAMA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11KAMA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11KAMA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_KAMA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11KAMA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_KAMA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_KAMA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("KAMA_Stream(real, int timeperiod=-0x80000000)\n\nKAMA(real[, timeperiod=?])\n\nKaufman Adaptive Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_KAMA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_KAMA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_KAMA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_KAMA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_KAMA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_KAMA_Stream_spec = { - "talib._ta_lib.KAMA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_KAMA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_KAMA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""KAMA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_KAMA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("KAMA_Stream(real, int timeperiod=-0x80000000)\n\nKAMA(real[, timeperiod=?])\n\nKaufman Adaptive Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_KAMA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_KAMA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_KAMA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_KAMA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_KAMA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_KC_Stream __pyx_vtable_5talib_7_ta_lib_KC_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_KC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_KC_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_KC_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_KC_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_KC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_KC_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_KC_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_KC_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_KC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KC_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_KC_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_9KC_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_KC_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_9KC_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_KC_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_KC_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_9KC_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_9KC_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_9KC_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_KC_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9KC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9KC_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9KC_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9KC_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9KC_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9KC_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9KC_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9KC_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_KC_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_9KC_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_KC_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_KC_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("KC_Stream(high, low, close, int timeperiod=-0x80000000, int atrperiod=-0x80000000, double nbdev=-4e37)\n\nKC(high, low, close[, timeperiod=?, atrperiod=?, nbdev=?])\n\nKeltner Channels (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 20\n atrperiod: 10\n nbdev: 2.0\nOutputs:\n upperband\n middleband\n lowerband")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_KC_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_KC_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_KC_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_KC_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_KC_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_KC_Stream_spec = { - "talib._ta_lib.KC_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_KC_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_KC_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_KC_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""KC_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_KC_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_KC_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("KC_Stream(high, low, close, int timeperiod=-0x80000000, int atrperiod=-0x80000000, double nbdev=-4e37)\n\nKC(high, low, close[, timeperiod=?, atrperiod=?, nbdev=?])\n\nKeltner Channels (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 20\n atrperiod: 10\n nbdev: 2.0\nOutputs:\n upperband\n middleband\n lowerband"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_KC_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_KC_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_KC_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_KC_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_KC_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_KDJ_Stream __pyx_vtable_5talib_7_ta_lib_KDJ_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_KDJ_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_KDJ_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_KDJ_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_KDJ_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_KDJ_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_KDJ_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_KDJ_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_KDJ_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_KDJ_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_KDJ_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_KDJ_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10KDJ_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10KDJ_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10KDJ_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_KDJ_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10KDJ_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10KDJ_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10KDJ_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10KDJ_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10KDJ_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_KDJ_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10KDJ_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_KDJ_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_KDJ_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("KDJ_Stream(high, low, close, int fastk_period=-0x80000000, int slowk_period=-0x80000000, int slowk_matype=13, int slowd_period=-0x80000000, int slowd_matype=13)\n\nKDJ(high, low, close[, fastk_period=?, slowk_period=?, slowk_matype=?, slowd_period=?, slowd_matype=?])\n\nKDJ Stochastic (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n fastk_period: 9\n slowk_period: 3\n slowk_matype: 13 (Wilder\047s Smoothed Moving Average)\n slowd_period: 3\n slowd_matype: 13 (Wilder\047s Smoothed Moving Average)\nOutputs:\n k\n d\n j")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_KDJ_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_KDJ_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_KDJ_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_KDJ_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_KDJ_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_KDJ_Stream_spec = { - "talib._ta_lib.KDJ_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_KDJ_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_KDJ_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""KDJ_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_KDJ_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("KDJ_Stream(high, low, close, int fastk_period=-0x80000000, int slowk_period=-0x80000000, int slowk_matype=13, int slowd_period=-0x80000000, int slowd_matype=13)\n\nKDJ(high, low, close[, fastk_period=?, slowk_period=?, slowk_matype=?, slowd_period=?, slowd_matype=?])\n\nKDJ Stochastic (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n fastk_period: 9\n slowk_period: 3\n slowk_matype: 13 (Wilder\047s Smoothed Moving Average)\n slowd_period: 3\n slowd_matype: 13 (Wilder\047s Smoothed Moving Average)\nOutputs:\n k\n d\n j"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_KDJ_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_KDJ_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_KDJ_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_KDJ_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_KDJ_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_LINEARREG_Stream __pyx_vtable_5talib_7_ta_lib_LINEARREG_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_LINEARREG_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_LINEARREG_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_LINEARREG_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_LINEARREG_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_LINEARREG_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_16LINEARREG_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_LINEARREG_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16LINEARREG_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16LINEARREG_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16LINEARREG_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_16LINEARREG_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_16LINEARREG_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_LINEARREG_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_16LINEARREG_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_LINEARREG_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("LINEARREG_Stream(real, int timeperiod=-0x80000000)\n\nLINEARREG(real[, timeperiod=?])\n\nLinear Regression (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_LINEARREG_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_LINEARREG_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_LINEARREG_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_LINEARREG_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_LINEARREG_Stream_spec = { - "talib._ta_lib.LINEARREG_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_LINEARREG_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_LINEARREG_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""LINEARREG_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("LINEARREG_Stream(real, int timeperiod=-0x80000000)\n\nLINEARREG(real[, timeperiod=?])\n\nLinear Regression (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_LINEARREG_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_LINEARREG_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_LINEARREG_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_LINEARREG_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_LINEARREG_ANGLE_Stream __pyx_vtable_5talib_7_ta_lib_LINEARREG_ANGLE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_LINEARREG_ANGLE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_ANGLE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_ANGLE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_ANGLE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_LINEARREG_ANGLE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_LINEARREG_ANGLE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_LINEARREG_ANGLE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_ANGLE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("LINEARREG_ANGLE_Stream(real, int timeperiod=-0x80000000)\n\nLINEARREG_ANGLE(real[, timeperiod=?])\n\nLinear Regression Angle (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_LINEARREG_ANGLE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_LINEARREG_ANGLE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_LINEARREG_ANGLE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_LINEARREG_ANGLE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_ANGLE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_LINEARREG_ANGLE_Stream_spec = { - "talib._ta_lib.LINEARREG_ANGLE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_LINEARREG_ANGLE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_LINEARREG_ANGLE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""LINEARREG_ANGLE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_ANGLE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("LINEARREG_ANGLE_Stream(real, int timeperiod=-0x80000000)\n\nLINEARREG_ANGLE(real[, timeperiod=?])\n\nLinear Regression Angle (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_LINEARREG_ANGLE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_LINEARREG_ANGLE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_LINEARREG_ANGLE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_LINEARREG_ANGLE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_ANGLE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream __pyx_vtable_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("LINEARREG_INTERCEPT_Stream(real, int timeperiod=-0x80000000)\n\nLINEARREG_INTERCEPT(real[, timeperiod=?])\n\nLinear Regression Intercept (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream_spec = { - "talib._ta_lib.LINEARREG_INTERCEPT_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""LINEARREG_INTERCEPT_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("LINEARREG_INTERCEPT_Stream(real, int timeperiod=-0x80000000)\n\nLINEARREG_INTERCEPT(real[, timeperiod=?])\n\nLinear Regression Intercept (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_LINEARREG_SLOPE_Stream __pyx_vtable_5talib_7_ta_lib_LINEARREG_SLOPE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_LINEARREG_SLOPE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_SLOPE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_LINEARREG_SLOPE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_SLOPE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_LINEARREG_SLOPE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_LINEARREG_SLOPE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_LINEARREG_SLOPE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_SLOPE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("LINEARREG_SLOPE_Stream(real, int timeperiod=-0x80000000)\n\nLINEARREG_SLOPE(real[, timeperiod=?])\n\nLinear Regression Slope (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_LINEARREG_SLOPE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_LINEARREG_SLOPE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_LINEARREG_SLOPE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_LINEARREG_SLOPE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_SLOPE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_LINEARREG_SLOPE_Stream_spec = { - "talib._ta_lib.LINEARREG_SLOPE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_LINEARREG_SLOPE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_LINEARREG_SLOPE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""LINEARREG_SLOPE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_LINEARREG_SLOPE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("LINEARREG_SLOPE_Stream(real, int timeperiod=-0x80000000)\n\nLINEARREG_SLOPE(real[, timeperiod=?])\n\nLinear Regression Slope (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_LINEARREG_SLOPE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_LINEARREG_SLOPE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_LINEARREG_SLOPE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_LINEARREG_SLOPE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_LINEARREG_SLOPE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_LN_Stream __pyx_vtable_5talib_7_ta_lib_LN_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_LN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_LN_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_LN_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_LN_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_LN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_LN_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_LN_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_LN_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_LN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LN_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_LN_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_9LN_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_LN_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_9LN_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_LN_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_LN_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_9LN_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_9LN_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_9LN_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_LN_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9LN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9LN_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9LN_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9LN_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9LN_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9LN_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9LN_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9LN_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_LN_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_9LN_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_LN_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_LN_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("LN_Stream(real)\n\nLN(real)\n\nVector Log Natural (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_LN_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_LN_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_LN_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_LN_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_LN_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_LN_Stream_spec = { - "talib._ta_lib.LN_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_LN_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_LN_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_LN_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""LN_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_LN_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_LN_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("LN_Stream(real)\n\nLN(real)\n\nVector Log Natural (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_LN_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_LN_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_LN_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_LN_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_LN_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_LOG10_Stream __pyx_vtable_5talib_7_ta_lib_LOG10_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_LOG10_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_LOG10_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_LOG10_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_LOG10_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_LOG10_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_LOG10_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_LOG10_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_LOG10_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_LOG10_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_LOG10_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_LOG10_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_12LOG10_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_12LOG10_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_12LOG10_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_LOG10_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12LOG10_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12LOG10_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12LOG10_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12LOG10_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12LOG10_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_LOG10_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_12LOG10_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_LOG10_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_LOG10_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("LOG10_Stream(real)\n\nLOG10(real)\n\nVector Log10 (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_LOG10_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_LOG10_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_LOG10_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_LOG10_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_LOG10_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_LOG10_Stream_spec = { - "talib._ta_lib.LOG10_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_LOG10_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_LOG10_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""LOG10_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_LOG10_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("LOG10_Stream(real)\n\nLOG10(real)\n\nVector Log10 (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_LOG10_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_LOG10_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_LOG10_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_LOG10_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_LOG10_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MA_Stream __pyx_vtable_5talib_7_ta_lib_MA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_9MA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_9MA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_9MA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_9MA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_9MA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9MA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9MA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9MA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9MA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9MA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9MA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9MA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9MA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_9MA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MA_Stream(real, int timeperiod=-0x80000000, int matype=0)\n\nMA(real[, timeperiod=?, matype=?])\n\nMoving average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\n matype: 0 (Simple Moving Average)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MA_Stream_spec = { - "talib._ta_lib.MA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MA_Stream(real, int timeperiod=-0x80000000, int matype=0)\n\nMA(real[, timeperiod=?, matype=?])\n\nMoving average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\n matype: 0 (Simple Moving Average)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MACD_Stream __pyx_vtable_5talib_7_ta_lib_MACD_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MACD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MACD_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MACD_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MACD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MACD_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MACD_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MACD_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MACD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACD_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MACD_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11MACD_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MACD_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11MACD_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MACD_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MACD_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11MACD_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11MACD_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11MACD_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MACD_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MACD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MACD_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MACD_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MACD_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MACD_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MACD_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MACD_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MACD_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MACD_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11MACD_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MACD_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MACD_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MACD_Stream(real, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int signalperiod=-0x80000000)\n\nMACD(real[, fastperiod=?, slowperiod=?, signalperiod=?])\n\nMoving Average Convergence/Divergence (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastperiod: 12\n slowperiod: 26\n signalperiod: 9\nOutputs:\n macd\n macdsignal\n macdhist")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MACD_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MACD_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MACD_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MACD_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MACD_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MACD_Stream_spec = { - "talib._ta_lib.MACD_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MACD_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MACD_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MACD_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MACD_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MACD_Stream(real, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int signalperiod=-0x80000000)\n\nMACD(real[, fastperiod=?, slowperiod=?, signalperiod=?])\n\nMoving Average Convergence/Divergence (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastperiod: 12\n slowperiod: 26\n signalperiod: 9\nOutputs:\n macd\n macdsignal\n macdhist"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MACD_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MACD_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MACD_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MACD_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MACD_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MACDEXT_Stream __pyx_vtable_5talib_7_ta_lib_MACDEXT_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MACDEXT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MACDEXT_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MACDEXT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MACDEXT_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MACDEXT_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MACDEXT_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MACDEXT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MACDEXT_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MACDEXT_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MACDEXT_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MACDEXT_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_14MACDEXT_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MACDEXT_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14MACDEXT_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14MACDEXT_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14MACDEXT_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14MACDEXT_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14MACDEXT_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MACDEXT_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_14MACDEXT_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MACDEXT_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MACDEXT_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MACDEXT_Stream(real, int fastperiod=-0x80000000, int fastmatype=0, int slowperiod=-0x80000000, int slowmatype=0, int signalperiod=-0x80000000, int signalmatype=0)\n\nMACDEXT(real[, fastperiod=?, fastmatype=?, slowperiod=?, slowmatype=?, signalperiod=?, signalmatype=?])\n\nMACD with controllable MA type (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastperiod: 12\n fastmatype: 0 (Simple Moving Average)\n slowperiod: 26\n slowmatype: 0 (Simple Moving Average)\n signalperiod: 9\n signalmatype: 0 (Simple Moving Average)\nOutputs:\n macd\n macdsignal\n macdhist")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MACDEXT_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MACDEXT_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MACDEXT_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MACDEXT_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MACDEXT_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MACDEXT_Stream_spec = { - "talib._ta_lib.MACDEXT_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MACDEXT_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MACDEXT_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MACDEXT_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MACDEXT_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MACDEXT_Stream(real, int fastperiod=-0x80000000, int fastmatype=0, int slowperiod=-0x80000000, int slowmatype=0, int signalperiod=-0x80000000, int signalmatype=0)\n\nMACDEXT(real[, fastperiod=?, fastmatype=?, slowperiod=?, slowmatype=?, signalperiod=?, signalmatype=?])\n\nMACD with controllable MA type (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastperiod: 12\n fastmatype: 0 (Simple Moving Average)\n slowperiod: 26\n slowmatype: 0 (Simple Moving Average)\n signalperiod: 9\n signalmatype: 0 (Simple Moving Average)\nOutputs:\n macd\n macdsignal\n macdhist"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MACDEXT_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MACDEXT_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MACDEXT_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MACDEXT_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MACDEXT_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MACDFIX_Stream __pyx_vtable_5talib_7_ta_lib_MACDFIX_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MACDFIX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MACDFIX_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MACDFIX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MACDFIX_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MACDFIX_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MACDFIX_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MACDFIX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MACDFIX_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MACDFIX_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MACDFIX_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MACDFIX_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_14MACDFIX_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MACDFIX_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14MACDFIX_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14MACDFIX_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14MACDFIX_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14MACDFIX_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14MACDFIX_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MACDFIX_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_14MACDFIX_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MACDFIX_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MACDFIX_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MACDFIX_Stream(real, int signalperiod=-0x80000000)\n\nMACDFIX(real[, signalperiod=?])\n\nMoving Average Convergence/Divergence Fix 12/26 (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n signalperiod: 9\nOutputs:\n macd\n macdsignal\n macdhist")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MACDFIX_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MACDFIX_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MACDFIX_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MACDFIX_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MACDFIX_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MACDFIX_Stream_spec = { - "talib._ta_lib.MACDFIX_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MACDFIX_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MACDFIX_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MACDFIX_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MACDFIX_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MACDFIX_Stream(real, int signalperiod=-0x80000000)\n\nMACDFIX(real[, signalperiod=?])\n\nMoving Average Convergence/Divergence Fix 12/26 (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n signalperiod: 9\nOutputs:\n macd\n macdsignal\n macdhist"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MACDFIX_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MACDFIX_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MACDFIX_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MACDFIX_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MACDFIX_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MAMA_Stream __pyx_vtable_5talib_7_ta_lib_MAMA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MAMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MAMA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MAMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MAMA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MAMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MAMA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MAMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MAMA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MAMA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MAMA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MAMA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11MAMA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11MAMA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11MAMA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MAMA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MAMA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MAMA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MAMA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MAMA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MAMA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MAMA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11MAMA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MAMA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MAMA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MAMA_Stream(real, double fastlimit=-4e37, double slowlimit=-4e37)\n\nMAMA(real[, fastlimit=?, slowlimit=?])\n\nMESA Adaptive Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastlimit: 0.5\n slowlimit: 0.05\nOutputs:\n mama\n fama")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MAMA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MAMA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MAMA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MAMA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MAMA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MAMA_Stream_spec = { - "talib._ta_lib.MAMA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MAMA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MAMA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MAMA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MAMA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MAMA_Stream(real, double fastlimit=-4e37, double slowlimit=-4e37)\n\nMAMA(real[, fastlimit=?, slowlimit=?])\n\nMESA Adaptive Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastlimit: 0.5\n slowlimit: 0.05\nOutputs:\n mama\n fama"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MAMA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MAMA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MAMA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MAMA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MAMA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MARKETFI_Stream __pyx_vtable_5talib_7_ta_lib_MARKETFI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MARKETFI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MARKETFI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MARKETFI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MARKETFI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MARKETFI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MARKETFI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MARKETFI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MARKETFI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MARKETFI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MARKETFI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MARKETFI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15MARKETFI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MARKETFI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MARKETFI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MARKETFI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MARKETFI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MARKETFI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MARKETFI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MARKETFI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15MARKETFI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MARKETFI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MARKETFI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MARKETFI_Stream(high, low, volume)\n\nMARKETFI(high, low, volume)\n\nMarket Facilitation Index (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047volume\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MARKETFI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MARKETFI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MARKETFI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MARKETFI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MARKETFI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MARKETFI_Stream_spec = { - "talib._ta_lib.MARKETFI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MARKETFI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MARKETFI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MARKETFI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MARKETFI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MARKETFI_Stream(high, low, volume)\n\nMARKETFI(high, low, volume)\n\nMarket Facilitation Index (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047volume\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MARKETFI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MARKETFI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MARKETFI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MARKETFI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MARKETFI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MASSI_Stream __pyx_vtable_5talib_7_ta_lib_MASSI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MASSI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MASSI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MASSI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MASSI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MASSI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MASSI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MASSI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MASSI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MASSI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MASSI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MASSI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_12MASSI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_12MASSI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_12MASSI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MASSI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12MASSI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12MASSI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12MASSI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12MASSI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12MASSI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MASSI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_12MASSI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MASSI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MASSI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MASSI_Stream(high, low, int fastperiod=-0x80000000, int slowperiod=-0x80000000)\n\nMASSI(high, low[, fastperiod=?, slowperiod=?])\n\nMass Index (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n fastperiod: 9\n slowperiod: 25\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MASSI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MASSI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MASSI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MASSI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MASSI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MASSI_Stream_spec = { - "talib._ta_lib.MASSI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MASSI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MASSI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MASSI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MASSI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MASSI_Stream(high, low, int fastperiod=-0x80000000, int slowperiod=-0x80000000)\n\nMASSI(high, low[, fastperiod=?, slowperiod=?])\n\nMass Index (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n fastperiod: 9\n slowperiod: 25\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MASSI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MASSI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MASSI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MASSI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MASSI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MAVP_Stream __pyx_vtable_5talib_7_ta_lib_MAVP_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MAVP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MAVP_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MAVP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MAVP_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MAVP_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MAVP_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MAVP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MAVP_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MAVP_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MAVP_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MAVP_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11MAVP_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11MAVP_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11MAVP_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MAVP_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MAVP_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MAVP_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MAVP_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MAVP_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MAVP_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MAVP_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11MAVP_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MAVP_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MAVP_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MAVP_Stream(real, periods, int minperiod=-0x80000000, int maxperiod=-0x80000000, int matype=0)\n\nMAVP(real, periods[, minperiod=?, maxperiod=?, matype=?])\n\nMoving average with variable period (Overlap Studies)\n\nInputs:\n real: (any ndarray)\n periods: (any ndarray)\nParameters:\n minperiod: 2\n maxperiod: 30\n matype: 0 (Simple Moving Average)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MAVP_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MAVP_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MAVP_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MAVP_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MAVP_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MAVP_Stream_spec = { - "talib._ta_lib.MAVP_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MAVP_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MAVP_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MAVP_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MAVP_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MAVP_Stream(real, periods, int minperiod=-0x80000000, int maxperiod=-0x80000000, int matype=0)\n\nMAVP(real, periods[, minperiod=?, maxperiod=?, matype=?])\n\nMoving average with variable period (Overlap Studies)\n\nInputs:\n real: (any ndarray)\n periods: (any ndarray)\nParameters:\n minperiod: 2\n maxperiod: 30\n matype: 0 (Simple Moving Average)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MAVP_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MAVP_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MAVP_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MAVP_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MAVP_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MAX_Stream __pyx_vtable_5talib_7_ta_lib_MAX_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MAX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MAX_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MAX_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MAX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MAX_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MAX_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MAX_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MAX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAX_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MAX_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10MAX_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MAX_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10MAX_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MAX_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MAX_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10MAX_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10MAX_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10MAX_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MAX_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MAX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MAX_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MAX_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MAX_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MAX_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MAX_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MAX_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MAX_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MAX_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10MAX_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MAX_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MAX_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MAX_Stream(real, int timeperiod=-0x80000000)\n\nMAX(real[, timeperiod=?])\n\nHighest value over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MAX_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MAX_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MAX_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MAX_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MAX_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MAX_Stream_spec = { - "talib._ta_lib.MAX_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MAX_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MAX_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MAX_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MAX_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MAX_Stream(real, int timeperiod=-0x80000000)\n\nMAX(real[, timeperiod=?])\n\nHighest value over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MAX_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MAX_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MAX_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MAX_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MAX_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MAXINDEX_Stream __pyx_vtable_5talib_7_ta_lib_MAXINDEX_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MAXINDEX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MAXINDEX_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MAXINDEX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MAXINDEX_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MAXINDEX_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MAXINDEX_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MAXINDEX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MAXINDEX_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MAXINDEX_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MAXINDEX_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MAXINDEX_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15MAXINDEX_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MAXINDEX_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MAXINDEX_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MAXINDEX_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MAXINDEX_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MAXINDEX_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MAXINDEX_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MAXINDEX_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15MAXINDEX_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MAXINDEX_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MAXINDEX_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MAXINDEX_Stream(real, int timeperiod=-0x80000000)\n\nMAXINDEX(real[, timeperiod=?])\n\nIndex of highest value over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n integer")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MAXINDEX_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MAXINDEX_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MAXINDEX_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MAXINDEX_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MAXINDEX_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MAXINDEX_Stream_spec = { - "talib._ta_lib.MAXINDEX_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MAXINDEX_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MAXINDEX_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MAXINDEX_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MAXINDEX_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MAXINDEX_Stream(real, int timeperiod=-0x80000000)\n\nMAXINDEX(real[, timeperiod=?])\n\nIndex of highest value over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n integer"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MAXINDEX_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MAXINDEX_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MAXINDEX_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MAXINDEX_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MAXINDEX_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MEDPRICE_Stream __pyx_vtable_5talib_7_ta_lib_MEDPRICE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MEDPRICE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MEDPRICE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MEDPRICE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MEDPRICE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MEDPRICE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MEDPRICE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MEDPRICE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MEDPRICE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MEDPRICE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MEDPRICE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MEDPRICE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15MEDPRICE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MEDPRICE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MEDPRICE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MEDPRICE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MEDPRICE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MEDPRICE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MEDPRICE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MEDPRICE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15MEDPRICE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MEDPRICE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MEDPRICE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MEDPRICE_Stream(high, low)\n\nMEDPRICE(high, low)\n\nMedian Price (Price Transform)\n\nInputs:\n prices: [\047high\047, \047low\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MEDPRICE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MEDPRICE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MEDPRICE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MEDPRICE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MEDPRICE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MEDPRICE_Stream_spec = { - "talib._ta_lib.MEDPRICE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MEDPRICE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MEDPRICE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MEDPRICE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MEDPRICE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MEDPRICE_Stream(high, low)\n\nMEDPRICE(high, low)\n\nMedian Price (Price Transform)\n\nInputs:\n prices: [\047high\047, \047low\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MEDPRICE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MEDPRICE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MEDPRICE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MEDPRICE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MEDPRICE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MFI_Stream __pyx_vtable_5talib_7_ta_lib_MFI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MFI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MFI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MFI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MFI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MFI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MFI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MFI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MFI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MFI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MFI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10MFI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MFI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10MFI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MFI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MFI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10MFI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10MFI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10MFI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MFI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MFI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MFI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MFI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MFI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MFI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MFI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MFI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MFI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MFI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10MFI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MFI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MFI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MFI_Stream(high, low, close, volume, int timeperiod=-0x80000000)\n\nMFI(high, low, close, volume[, timeperiod=?])\n\nMoney Flow Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MFI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MFI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MFI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MFI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MFI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MFI_Stream_spec = { - "talib._ta_lib.MFI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MFI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MFI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MFI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MFI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MFI_Stream(high, low, close, volume, int timeperiod=-0x80000000)\n\nMFI(high, low, close, volume[, timeperiod=?])\n\nMoney Flow Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MFI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MFI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MFI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MFI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MFI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MIDPOINT_Stream __pyx_vtable_5talib_7_ta_lib_MIDPOINT_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MIDPOINT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MIDPOINT_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MIDPOINT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MIDPOINT_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MIDPOINT_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MIDPOINT_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MIDPOINT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MIDPOINT_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MIDPOINT_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MIDPOINT_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MIDPOINT_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15MIDPOINT_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MIDPOINT_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MIDPOINT_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MIDPOINT_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MIDPOINT_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MIDPOINT_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MIDPOINT_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MIDPOINT_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15MIDPOINT_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MIDPOINT_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MIDPOINT_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MIDPOINT_Stream(real, int timeperiod=-0x80000000)\n\nMIDPOINT(real[, timeperiod=?])\n\nMidPoint over period (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MIDPOINT_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MIDPOINT_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MIDPOINT_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MIDPOINT_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MIDPOINT_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MIDPOINT_Stream_spec = { - "talib._ta_lib.MIDPOINT_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MIDPOINT_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MIDPOINT_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MIDPOINT_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MIDPOINT_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MIDPOINT_Stream(real, int timeperiod=-0x80000000)\n\nMIDPOINT(real[, timeperiod=?])\n\nMidPoint over period (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MIDPOINT_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MIDPOINT_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MIDPOINT_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MIDPOINT_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MIDPOINT_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MIDPRICE_Stream __pyx_vtable_5talib_7_ta_lib_MIDPRICE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MIDPRICE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MIDPRICE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MIDPRICE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MIDPRICE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MIDPRICE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MIDPRICE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MIDPRICE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MIDPRICE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MIDPRICE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MIDPRICE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MIDPRICE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15MIDPRICE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MIDPRICE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MIDPRICE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MIDPRICE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MIDPRICE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MIDPRICE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MIDPRICE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MIDPRICE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15MIDPRICE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MIDPRICE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MIDPRICE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MIDPRICE_Stream(high, low, int timeperiod=-0x80000000)\n\nMIDPRICE(high, low[, timeperiod=?])\n\nMidpoint Price over period (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MIDPRICE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MIDPRICE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MIDPRICE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MIDPRICE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MIDPRICE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MIDPRICE_Stream_spec = { - "talib._ta_lib.MIDPRICE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MIDPRICE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MIDPRICE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MIDPRICE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MIDPRICE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MIDPRICE_Stream(high, low, int timeperiod=-0x80000000)\n\nMIDPRICE(high, low[, timeperiod=?])\n\nMidpoint Price over period (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MIDPRICE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MIDPRICE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MIDPRICE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MIDPRICE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MIDPRICE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MIN_Stream __pyx_vtable_5talib_7_ta_lib_MIN_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MIN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MIN_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MIN_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MIN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MIN_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MIN_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MIN_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MIN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIN_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MIN_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10MIN_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MIN_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10MIN_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MIN_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MIN_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10MIN_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10MIN_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10MIN_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MIN_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MIN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MIN_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MIN_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MIN_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MIN_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MIN_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MIN_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MIN_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MIN_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10MIN_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MIN_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MIN_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MIN_Stream(real, int timeperiod=-0x80000000)\n\nMIN(real[, timeperiod=?])\n\nLowest value over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MIN_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MIN_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MIN_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MIN_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MIN_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MIN_Stream_spec = { - "talib._ta_lib.MIN_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MIN_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MIN_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MIN_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MIN_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MIN_Stream(real, int timeperiod=-0x80000000)\n\nMIN(real[, timeperiod=?])\n\nLowest value over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MIN_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MIN_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MIN_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MIN_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MIN_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MININDEX_Stream __pyx_vtable_5talib_7_ta_lib_MININDEX_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MININDEX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MININDEX_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MININDEX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MININDEX_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MININDEX_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MININDEX_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MININDEX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MININDEX_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MININDEX_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MININDEX_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MININDEX_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15MININDEX_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MININDEX_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MININDEX_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MININDEX_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MININDEX_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MININDEX_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MININDEX_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MININDEX_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15MININDEX_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MININDEX_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MININDEX_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MININDEX_Stream(real, int timeperiod=-0x80000000)\n\nMININDEX(real[, timeperiod=?])\n\nIndex of lowest value over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n integer")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MININDEX_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MININDEX_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MININDEX_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MININDEX_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MININDEX_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MININDEX_Stream_spec = { - "talib._ta_lib.MININDEX_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MININDEX_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MININDEX_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MININDEX_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MININDEX_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MININDEX_Stream(real, int timeperiod=-0x80000000)\n\nMININDEX(real[, timeperiod=?])\n\nIndex of lowest value over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n integer"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MININDEX_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MININDEX_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MININDEX_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MININDEX_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MININDEX_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MINMAX_Stream __pyx_vtable_5talib_7_ta_lib_MINMAX_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MINMAX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MINMAX_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MINMAX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MINMAX_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MINMAX_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MINMAX_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MINMAX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MINMAX_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MINMAX_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MINMAX_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MINMAX_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_13MINMAX_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MINMAX_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13MINMAX_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13MINMAX_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13MINMAX_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13MINMAX_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13MINMAX_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MINMAX_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_13MINMAX_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MINMAX_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MINMAX_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MINMAX_Stream(real, int timeperiod=-0x80000000)\n\nMINMAX(real[, timeperiod=?])\n\nLowest and highest values over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n min\n max")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MINMAX_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MINMAX_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MINMAX_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MINMAX_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MINMAX_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MINMAX_Stream_spec = { - "talib._ta_lib.MINMAX_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MINMAX_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MINMAX_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MINMAX_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MINMAX_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MINMAX_Stream(real, int timeperiod=-0x80000000)\n\nMINMAX(real[, timeperiod=?])\n\nLowest and highest values over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n min\n max"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MINMAX_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MINMAX_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MINMAX_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MINMAX_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MINMAX_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MINMAXINDEX_Stream __pyx_vtable_5talib_7_ta_lib_MINMAXINDEX_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MINMAXINDEX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MINMAXINDEX_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MINMAXINDEX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MINMAXINDEX_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MINMAXINDEX_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MINMAXINDEX_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MINMAXINDEX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MINMAXINDEX_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MINMAXINDEX_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MINMAXINDEX_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MINMAXINDEX_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_18MINMAXINDEX_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MINMAXINDEX_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18MINMAXINDEX_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18MINMAXINDEX_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18MINMAXINDEX_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18MINMAXINDEX_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18MINMAXINDEX_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MINMAXINDEX_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_18MINMAXINDEX_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MINMAXINDEX_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MINMAXINDEX_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MINMAXINDEX_Stream(real, int timeperiod=-0x80000000)\n\nMINMAXINDEX(real[, timeperiod=?])\n\nIndexes of lowest and highest values over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n minidx\n maxidx")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MINMAXINDEX_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MINMAXINDEX_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MINMAXINDEX_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MINMAXINDEX_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MINMAXINDEX_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MINMAXINDEX_Stream_spec = { - "talib._ta_lib.MINMAXINDEX_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MINMAXINDEX_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MINMAXINDEX_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MINMAXINDEX_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MINMAXINDEX_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MINMAXINDEX_Stream(real, int timeperiod=-0x80000000)\n\nMINMAXINDEX(real[, timeperiod=?])\n\nIndexes of lowest and highest values over a specified period (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n minidx\n maxidx"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MINMAXINDEX_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MINMAXINDEX_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MINMAXINDEX_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MINMAXINDEX_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MINMAXINDEX_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MINUS_DI_Stream __pyx_vtable_5talib_7_ta_lib_MINUS_DI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MINUS_DI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MINUS_DI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MINUS_DI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MINUS_DI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MINUS_DI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MINUS_DI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MINUS_DI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MINUS_DI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MINUS_DI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MINUS_DI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MINUS_DI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15MINUS_DI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MINUS_DI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MINUS_DI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MINUS_DI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MINUS_DI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MINUS_DI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MINUS_DI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MINUS_DI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15MINUS_DI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MINUS_DI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MINUS_DI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MINUS_DI_Stream(high, low, close, int timeperiod=-0x80000000)\n\nMINUS_DI(high, low, close[, timeperiod=?])\n\nMinus Directional Indicator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MINUS_DI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MINUS_DI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MINUS_DI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MINUS_DI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MINUS_DI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MINUS_DI_Stream_spec = { - "talib._ta_lib.MINUS_DI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MINUS_DI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MINUS_DI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MINUS_DI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MINUS_DI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MINUS_DI_Stream(high, low, close, int timeperiod=-0x80000000)\n\nMINUS_DI(high, low, close[, timeperiod=?])\n\nMinus Directional Indicator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MINUS_DI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MINUS_DI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MINUS_DI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MINUS_DI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MINUS_DI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MINUS_DM_Stream __pyx_vtable_5talib_7_ta_lib_MINUS_DM_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MINUS_DM_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MINUS_DM_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MINUS_DM_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MINUS_DM_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MINUS_DM_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MINUS_DM_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MINUS_DM_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MINUS_DM_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MINUS_DM_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MINUS_DM_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MINUS_DM_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15MINUS_DM_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MINUS_DM_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MINUS_DM_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MINUS_DM_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MINUS_DM_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15MINUS_DM_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15MINUS_DM_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MINUS_DM_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15MINUS_DM_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MINUS_DM_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MINUS_DM_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MINUS_DM_Stream(high, low, int timeperiod=-0x80000000)\n\nMINUS_DM(high, low[, timeperiod=?])\n\nMinus Directional Movement (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MINUS_DM_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MINUS_DM_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MINUS_DM_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MINUS_DM_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MINUS_DM_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MINUS_DM_Stream_spec = { - "talib._ta_lib.MINUS_DM_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MINUS_DM_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MINUS_DM_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MINUS_DM_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MINUS_DM_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MINUS_DM_Stream(high, low, int timeperiod=-0x80000000)\n\nMINUS_DM(high, low[, timeperiod=?])\n\nMinus Directional Movement (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MINUS_DM_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MINUS_DM_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MINUS_DM_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MINUS_DM_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MINUS_DM_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MOM_Stream __pyx_vtable_5talib_7_ta_lib_MOM_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MOM_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MOM_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MOM_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MOM_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MOM_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MOM_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MOM_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MOM_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MOM_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MOM_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10MOM_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MOM_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10MOM_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MOM_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MOM_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10MOM_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10MOM_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10MOM_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MOM_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MOM_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MOM_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MOM_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MOM_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MOM_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MOM_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10MOM_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10MOM_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MOM_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10MOM_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MOM_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MOM_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MOM_Stream(real, int timeperiod=-0x80000000)\n\nMOM(real[, timeperiod=?])\n\nMomentum (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MOM_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MOM_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MOM_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MOM_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MOM_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MOM_Stream_spec = { - "talib._ta_lib.MOM_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MOM_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MOM_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MOM_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MOM_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MOM_Stream(real, int timeperiod=-0x80000000)\n\nMOM(real[, timeperiod=?])\n\nMomentum (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MOM_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MOM_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MOM_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MOM_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MOM_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_MULT_Stream __pyx_vtable_5talib_7_ta_lib_MULT_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_MULT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_MULT_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_MULT_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_MULT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_MULT_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_MULT_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_MULT_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_MULT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MULT_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_MULT_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11MULT_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_MULT_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11MULT_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_MULT_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_MULT_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11MULT_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11MULT_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11MULT_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_MULT_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MULT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MULT_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MULT_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MULT_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MULT_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MULT_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11MULT_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11MULT_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_MULT_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11MULT_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_MULT_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_MULT_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("MULT_Stream(real0, real1)\n\nMULT(real0, real1)\n\nVector Arithmetic Mult (Math Operators)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_MULT_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_MULT_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_MULT_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_MULT_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_MULT_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_MULT_Stream_spec = { - "talib._ta_lib.MULT_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_MULT_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_MULT_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""MULT_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_MULT_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("MULT_Stream(real0, real1)\n\nMULT(real0, real1)\n\nVector Arithmetic Mult (Math Operators)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_MULT_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_MULT_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_MULT_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_MULT_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_MULT_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_NATR_Stream __pyx_vtable_5talib_7_ta_lib_NATR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_NATR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_NATR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_NATR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_NATR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_NATR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_NATR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_NATR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_NATR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NATR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_NATR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11NATR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_NATR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11NATR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_NATR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_NATR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11NATR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11NATR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11NATR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_NATR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11NATR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11NATR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11NATR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11NATR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11NATR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11NATR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11NATR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11NATR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_NATR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11NATR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_NATR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_NATR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("NATR_Stream(high, low, close, int timeperiod=-0x80000000)\n\nNATR(high, low, close[, timeperiod=?])\n\nNormalized Average True Range (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_NATR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_NATR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_NATR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_NATR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_NATR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_NATR_Stream_spec = { - "talib._ta_lib.NATR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_NATR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_NATR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""NATR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_NATR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("NATR_Stream(high, low, close, int timeperiod=-0x80000000)\n\nNATR(high, low, close[, timeperiod=?])\n\nNormalized Average True Range (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_NATR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_NATR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_NATR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_NATR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_NATR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_NVI_Stream __pyx_vtable_5talib_7_ta_lib_NVI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_NVI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_NVI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_NVI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_NVI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_NVI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_NVI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_NVI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_NVI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NVI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_NVI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10NVI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_NVI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10NVI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_NVI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_NVI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10NVI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10NVI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10NVI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_NVI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10NVI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10NVI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10NVI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10NVI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10NVI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10NVI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10NVI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10NVI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_NVI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10NVI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_NVI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_NVI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("NVI_Stream(close, volume)\n\nNVI(close, volume)\n\nNegative Volume Index (Volume Indicators)\n\nInputs:\n prices: [\047close\047, \047volume\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_NVI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_NVI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_NVI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_NVI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_NVI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_NVI_Stream_spec = { - "talib._ta_lib.NVI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_NVI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_NVI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""NVI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_NVI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("NVI_Stream(close, volume)\n\nNVI(close, volume)\n\nNegative Volume Index (Volume Indicators)\n\nInputs:\n prices: [\047close\047, \047volume\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_NVI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_NVI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_NVI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_NVI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_NVI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_OBV_Stream __pyx_vtable_5talib_7_ta_lib_OBV_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_OBV_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_OBV_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_OBV_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_OBV_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_OBV_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_OBV_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_OBV_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_OBV_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_OBV_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_OBV_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10OBV_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_OBV_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10OBV_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_OBV_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_OBV_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10OBV_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10OBV_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10OBV_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_OBV_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10OBV_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10OBV_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10OBV_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10OBV_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10OBV_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10OBV_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10OBV_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10OBV_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_OBV_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10OBV_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_OBV_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_OBV_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("OBV_Stream(real, volume)\n\nOBV(real, volume)\n\nOn Balance Volume (Volume Indicators)\n\nInputs:\n real: (any ndarray)\n prices: [\047volume\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_OBV_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_OBV_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_OBV_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_OBV_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_OBV_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_OBV_Stream_spec = { - "talib._ta_lib.OBV_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_OBV_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_OBV_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""OBV_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_OBV_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("OBV_Stream(real, volume)\n\nOBV(real, volume)\n\nOn Balance Volume (Volume Indicators)\n\nInputs:\n real: (any ndarray)\n prices: [\047volume\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_OBV_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_OBV_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_OBV_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_OBV_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_OBV_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_PERCENTILE_Stream __pyx_vtable_5talib_7_ta_lib_PERCENTILE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PERCENTILE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_PERCENTILE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PERCENTILE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_PERCENTILE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PERCENTILE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_PERCENTILE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PERCENTILE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_PERCENTILE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PERCENTILE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_PERCENTILE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_PERCENTILE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_17PERCENTILE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_PERCENTILE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17PERCENTILE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17PERCENTILE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17PERCENTILE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17PERCENTILE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17PERCENTILE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_PERCENTILE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_17PERCENTILE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_PERCENTILE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_PERCENTILE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("PERCENTILE_Stream(real, int timeperiod=-0x80000000, double percentile=50.0)\n\nPERCENTILE(real[, timeperiod=?, percentile=?])\n\nPercentile (nearest rank) (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\n percentile: 50.0\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_PERCENTILE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_PERCENTILE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_PERCENTILE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_PERCENTILE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_PERCENTILE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_PERCENTILE_Stream_spec = { - "talib._ta_lib.PERCENTILE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_PERCENTILE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_PERCENTILE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""PERCENTILE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_PERCENTILE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("PERCENTILE_Stream(real, int timeperiod=-0x80000000, double percentile=50.0)\n\nPERCENTILE(real[, timeperiod=?, percentile=?])\n\nPercentile (nearest rank) (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\n percentile: 50.0\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_PERCENTILE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_PERCENTILE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_PERCENTILE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_PERCENTILE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_PERCENTILE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_PERCENTRANK_Stream __pyx_vtable_5talib_7_ta_lib_PERCENTRANK_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PERCENTRANK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_PERCENTRANK_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PERCENTRANK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_PERCENTRANK_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PERCENTRANK_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_PERCENTRANK_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PERCENTRANK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_PERCENTRANK_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PERCENTRANK_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_PERCENTRANK_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_PERCENTRANK_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_18PERCENTRANK_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_PERCENTRANK_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18PERCENTRANK_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18PERCENTRANK_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18PERCENTRANK_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_18PERCENTRANK_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_18PERCENTRANK_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_PERCENTRANK_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_18PERCENTRANK_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_PERCENTRANK_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_PERCENTRANK_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("PERCENTRANK_Stream(real, int timeperiod=-0x80000000)\n\nPERCENTRANK(real[, timeperiod=?])\n\nPercent Rank (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 100\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_PERCENTRANK_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_PERCENTRANK_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_PERCENTRANK_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_PERCENTRANK_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_PERCENTRANK_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_PERCENTRANK_Stream_spec = { - "talib._ta_lib.PERCENTRANK_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_PERCENTRANK_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_PERCENTRANK_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""PERCENTRANK_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_PERCENTRANK_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("PERCENTRANK_Stream(real, int timeperiod=-0x80000000)\n\nPERCENTRANK(real[, timeperiod=?])\n\nPercent Rank (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 100\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_PERCENTRANK_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_PERCENTRANK_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_PERCENTRANK_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_PERCENTRANK_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_PERCENTRANK_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_PLUS_DI_Stream __pyx_vtable_5talib_7_ta_lib_PLUS_DI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PLUS_DI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_PLUS_DI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PLUS_DI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_PLUS_DI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PLUS_DI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_PLUS_DI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PLUS_DI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_PLUS_DI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PLUS_DI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_PLUS_DI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_PLUS_DI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_14PLUS_DI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_PLUS_DI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14PLUS_DI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14PLUS_DI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14PLUS_DI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14PLUS_DI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14PLUS_DI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_PLUS_DI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_14PLUS_DI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_PLUS_DI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_PLUS_DI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("PLUS_DI_Stream(high, low, close, int timeperiod=-0x80000000)\n\nPLUS_DI(high, low, close[, timeperiod=?])\n\nPlus Directional Indicator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_PLUS_DI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_PLUS_DI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_PLUS_DI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_PLUS_DI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_PLUS_DI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_PLUS_DI_Stream_spec = { - "talib._ta_lib.PLUS_DI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_PLUS_DI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_PLUS_DI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""PLUS_DI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_PLUS_DI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("PLUS_DI_Stream(high, low, close, int timeperiod=-0x80000000)\n\nPLUS_DI(high, low, close[, timeperiod=?])\n\nPlus Directional Indicator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_PLUS_DI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_PLUS_DI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_PLUS_DI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_PLUS_DI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_PLUS_DI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_PLUS_DM_Stream __pyx_vtable_5talib_7_ta_lib_PLUS_DM_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PLUS_DM_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_PLUS_DM_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PLUS_DM_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_PLUS_DM_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PLUS_DM_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_PLUS_DM_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PLUS_DM_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_PLUS_DM_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PLUS_DM_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_PLUS_DM_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_PLUS_DM_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_14PLUS_DM_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_PLUS_DM_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14PLUS_DM_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14PLUS_DM_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14PLUS_DM_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14PLUS_DM_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14PLUS_DM_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_PLUS_DM_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_14PLUS_DM_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_PLUS_DM_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_PLUS_DM_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("PLUS_DM_Stream(high, low, int timeperiod=-0x80000000)\n\nPLUS_DM(high, low[, timeperiod=?])\n\nPlus Directional Movement (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_PLUS_DM_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_PLUS_DM_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_PLUS_DM_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_PLUS_DM_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_PLUS_DM_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_PLUS_DM_Stream_spec = { - "talib._ta_lib.PLUS_DM_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_PLUS_DM_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_PLUS_DM_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""PLUS_DM_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_PLUS_DM_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("PLUS_DM_Stream(high, low, int timeperiod=-0x80000000)\n\nPLUS_DM(high, low[, timeperiod=?])\n\nPlus Directional Movement (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_PLUS_DM_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_PLUS_DM_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_PLUS_DM_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_PLUS_DM_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_PLUS_DM_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_PPO_Stream __pyx_vtable_5talib_7_ta_lib_PPO_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PPO_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_PPO_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_PPO_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PPO_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_PPO_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PPO_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_PPO_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PPO_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PPO_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_PPO_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10PPO_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PPO_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10PPO_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_PPO_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_PPO_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10PPO_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10PPO_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10PPO_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_PPO_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PPO_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PPO_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PPO_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PPO_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PPO_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PPO_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PPO_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PPO_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_PPO_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10PPO_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_PPO_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_PPO_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("PPO_Stream(real, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int matype=1)\n\nPPO(real[, fastperiod=?, slowperiod=?, matype=?])\n\nPercentage Price Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastperiod: 12\n slowperiod: 26\n matype: 1 (Exponential Moving Average)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_PPO_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_PPO_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_PPO_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_PPO_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_PPO_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_PPO_Stream_spec = { - "talib._ta_lib.PPO_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_PPO_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_PPO_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""PPO_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_PPO_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("PPO_Stream(real, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int matype=1)\n\nPPO(real[, fastperiod=?, slowperiod=?, matype=?])\n\nPercentage Price Oscillator (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n fastperiod: 12\n slowperiod: 26\n matype: 1 (Exponential Moving Average)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_PPO_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_PPO_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_PPO_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_PPO_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_PPO_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_PVI_Stream __pyx_vtable_5talib_7_ta_lib_PVI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PVI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_PVI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_PVI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PVI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_PVI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PVI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_PVI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PVI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_PVI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10PVI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PVI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10PVI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_PVI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_PVI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10PVI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10PVI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10PVI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_PVI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_PVI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10PVI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_PVI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_PVI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("PVI_Stream(close, volume)\n\nPVI(close, volume)\n\nPositive Volume Index (Volume Indicators)\n\nInputs:\n prices: [\047close\047, \047volume\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_PVI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_PVI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_PVI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_PVI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_PVI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_PVI_Stream_spec = { - "talib._ta_lib.PVI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_PVI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_PVI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""PVI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_PVI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("PVI_Stream(close, volume)\n\nPVI(close, volume)\n\nPositive Volume Index (Volume Indicators)\n\nInputs:\n prices: [\047close\047, \047volume\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_PVI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_PVI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_PVI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_PVI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_PVI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_PVO_Stream __pyx_vtable_5talib_7_ta_lib_PVO_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PVO_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_PVO_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_PVO_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PVO_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_PVO_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PVO_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_PVO_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PVO_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVO_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_PVO_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10PVO_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PVO_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10PVO_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_PVO_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_PVO_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10PVO_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10PVO_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10PVO_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_PVO_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVO_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVO_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVO_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVO_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVO_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVO_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVO_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVO_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_PVO_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10PVO_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_PVO_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_PVO_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("PVO_Stream(volume, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int matype=1)\n\nPVO(volume[, fastperiod=?, slowperiod=?, matype=?])\n\nPercentage Volume Oscillator (Volume Indicators)\n\nInputs:\n prices: [\047volume\047]\nParameters:\n fastperiod: 12\n slowperiod: 26\n matype: 1 (Exponential Moving Average)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_PVO_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_PVO_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_PVO_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_PVO_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_PVO_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_PVO_Stream_spec = { - "talib._ta_lib.PVO_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_PVO_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_PVO_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""PVO_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_PVO_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("PVO_Stream(volume, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int matype=1)\n\nPVO(volume[, fastperiod=?, slowperiod=?, matype=?])\n\nPercentage Volume Oscillator (Volume Indicators)\n\nInputs:\n prices: [\047volume\047]\nParameters:\n fastperiod: 12\n slowperiod: 26\n matype: 1 (Exponential Moving Average)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_PVO_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_PVO_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_PVO_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_PVO_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_PVO_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_PVT_Stream __pyx_vtable_5talib_7_ta_lib_PVT_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_PVT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_PVT_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_PVT_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_PVT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_PVT_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_PVT_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_PVT_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_PVT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVT_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_PVT_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10PVT_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_PVT_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10PVT_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_PVT_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_PVT_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10PVT_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10PVT_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10PVT_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_PVT_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVT_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVT_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVT_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVT_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVT_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10PVT_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10PVT_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_PVT_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10PVT_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_PVT_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_PVT_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("PVT_Stream(close, volume)\n\nPVT(close, volume)\n\nPrice Volume Trend (Volume Indicators)\n\nInputs:\n prices: [\047close\047, \047volume\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_PVT_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_PVT_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_PVT_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_PVT_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_PVT_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_PVT_Stream_spec = { - "talib._ta_lib.PVT_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_PVT_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_PVT_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""PVT_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_PVT_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("PVT_Stream(close, volume)\n\nPVT(close, volume)\n\nPrice Volume Trend (Volume Indicators)\n\nInputs:\n prices: [\047close\047, \047volume\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_PVT_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_PVT_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_PVT_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_PVT_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_PVT_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_QSTICK_Stream __pyx_vtable_5talib_7_ta_lib_QSTICK_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_QSTICK_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_QSTICK_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_QSTICK_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_QSTICK_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_QSTICK_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_QSTICK_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_QSTICK_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_QSTICK_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_QSTICK_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_QSTICK_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_QSTICK_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_13QSTICK_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_QSTICK_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13QSTICK_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13QSTICK_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13QSTICK_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13QSTICK_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13QSTICK_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_QSTICK_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_13QSTICK_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_QSTICK_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_QSTICK_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("QSTICK_Stream(open, close, int timeperiod=-0x80000000)\n\nQSTICK(open, close[, timeperiod=?])\n\nQstick (Momentum Indicators)\n\nInputs:\n prices: [\047open\047, \047close\047]\nParameters:\n timeperiod: 10\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_QSTICK_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_QSTICK_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_QSTICK_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_QSTICK_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_QSTICK_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_QSTICK_Stream_spec = { - "talib._ta_lib.QSTICK_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_QSTICK_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_QSTICK_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""QSTICK_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_QSTICK_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("QSTICK_Stream(open, close, int timeperiod=-0x80000000)\n\nQSTICK(open, close[, timeperiod=?])\n\nQstick (Momentum Indicators)\n\nInputs:\n prices: [\047open\047, \047close\047]\nParameters:\n timeperiod: 10\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_QSTICK_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_QSTICK_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_QSTICK_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_QSTICK_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_QSTICK_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_RMA_Stream __pyx_vtable_5talib_7_ta_lib_RMA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_RMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_RMA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_RMA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_RMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_RMA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_RMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_RMA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_RMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RMA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_RMA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10RMA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_RMA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10RMA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_RMA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_RMA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10RMA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10RMA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10RMA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_RMA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RMA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RMA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RMA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RMA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RMA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RMA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RMA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_RMA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10RMA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_RMA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_RMA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("RMA_Stream(real, int timeperiod=-0x80000000)\n\nRMA(real[, timeperiod=?])\n\nWilder\047s Smoothed Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_RMA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_RMA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_RMA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_RMA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_RMA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_RMA_Stream_spec = { - "talib._ta_lib.RMA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_RMA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_RMA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""RMA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_RMA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("RMA_Stream(real, int timeperiod=-0x80000000)\n\nRMA(real[, timeperiod=?])\n\nWilder\047s Smoothed Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_RMA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_RMA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_RMA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_RMA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_RMA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ROC_Stream __pyx_vtable_5talib_7_ta_lib_ROC_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ROC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ROC_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ROC_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ROC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ROC_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ROC_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ROC_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ROC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROC_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ROC_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10ROC_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ROC_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10ROC_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ROC_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ROC_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10ROC_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10ROC_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10ROC_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ROC_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ROC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ROC_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ROC_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ROC_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ROC_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ROC_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10ROC_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10ROC_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ROC_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10ROC_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ROC_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ROC_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ROC_Stream(real, int timeperiod=-0x80000000)\n\nROC(real[, timeperiod=?])\n\nRate of change : ((real/prevPrice)-1)*100 (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ROC_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ROC_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ROC_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ROC_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ROC_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ROC_Stream_spec = { - "talib._ta_lib.ROC_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ROC_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ROC_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ROC_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ROC_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ROC_Stream(real, int timeperiod=-0x80000000)\n\nROC(real[, timeperiod=?])\n\nRate of change : ((real/prevPrice)-1)*100 (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ROC_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ROC_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ROC_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ROC_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ROC_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ROCP_Stream __pyx_vtable_5talib_7_ta_lib_ROCP_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ROCP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ROCP_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ROCP_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ROCP_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCP_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ROCP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCP_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ROCP_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ROCP_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ROCP_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11ROCP_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11ROCP_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11ROCP_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ROCP_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ROCP_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ROCP_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ROCP_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ROCP_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ROCP_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ROCP_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11ROCP_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ROCP_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ROCP_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ROCP_Stream(real, int timeperiod=-0x80000000)\n\nROCP(real[, timeperiod=?])\n\nRate of change Percentage: (real-prevPrice)/prevPrice (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ROCP_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ROCP_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ROCP_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ROCP_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ROCP_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ROCP_Stream_spec = { - "talib._ta_lib.ROCP_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ROCP_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ROCP_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ROCP_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ROCP_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ROCP_Stream(real, int timeperiod=-0x80000000)\n\nROCP(real[, timeperiod=?])\n\nRate of change Percentage: (real-prevPrice)/prevPrice (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ROCP_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ROCP_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ROCP_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ROCP_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ROCP_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ROCR_Stream __pyx_vtable_5talib_7_ta_lib_ROCR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ROCR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ROCR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ROCR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ROCR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ROCR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ROCR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ROCR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ROCR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11ROCR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11ROCR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11ROCR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ROCR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ROCR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ROCR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ROCR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11ROCR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11ROCR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ROCR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11ROCR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ROCR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ROCR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ROCR_Stream(real, int timeperiod=-0x80000000)\n\nROCR(real[, timeperiod=?])\n\nRate of change ratio: (real/prevPrice) (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ROCR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ROCR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ROCR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ROCR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ROCR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ROCR_Stream_spec = { - "talib._ta_lib.ROCR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ROCR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ROCR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ROCR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ROCR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ROCR_Stream(real, int timeperiod=-0x80000000)\n\nROCR(real[, timeperiod=?])\n\nRate of change ratio: (real/prevPrice) (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ROCR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ROCR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ROCR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ROCR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ROCR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ROCR100_Stream __pyx_vtable_5talib_7_ta_lib_ROCR100_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ROCR100_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ROCR100_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCR100_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ROCR100_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ROCR100_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCR100_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ROCR100_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ROCR100_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ROCR100_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ROCR100_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ROCR100_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_14ROCR100_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ROCR100_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14ROCR100_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14ROCR100_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14ROCR100_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_14ROCR100_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_14ROCR100_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ROCR100_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_14ROCR100_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ROCR100_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ROCR100_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ROCR100_Stream(real, int timeperiod=-0x80000000)\n\nROCR100(real[, timeperiod=?])\n\nRate of change ratio 100 scale: (real/prevPrice)*100 (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ROCR100_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ROCR100_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ROCR100_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ROCR100_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ROCR100_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ROCR100_Stream_spec = { - "talib._ta_lib.ROCR100_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ROCR100_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ROCR100_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ROCR100_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ROCR100_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ROCR100_Stream(real, int timeperiod=-0x80000000)\n\nROCR100(real[, timeperiod=?])\n\nRate of change ratio 100 scale: (real/prevPrice)*100 (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 10\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ROCR100_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ROCR100_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ROCR100_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ROCR100_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ROCR100_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_RSI_Stream __pyx_vtable_5talib_7_ta_lib_RSI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_RSI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_RSI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_RSI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_RSI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_RSI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_RSI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_RSI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_RSI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RSI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_RSI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10RSI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_RSI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10RSI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_RSI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_RSI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10RSI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10RSI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10RSI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_RSI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RSI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RSI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RSI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RSI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RSI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RSI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RSI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RSI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_RSI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10RSI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_RSI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_RSI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("RSI_Stream(real, int timeperiod=-0x80000000)\n\nRSI(real[, timeperiod=?])\n\nRelative Strength Index (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_RSI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_RSI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_RSI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_RSI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_RSI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_RSI_Stream_spec = { - "talib._ta_lib.RSI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_RSI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_RSI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""RSI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_RSI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("RSI_Stream(real, int timeperiod=-0x80000000)\n\nRSI(real[, timeperiod=?])\n\nRelative Strength Index (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_RSI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_RSI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_RSI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_RSI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_RSI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_RVI_Stream __pyx_vtable_5talib_7_ta_lib_RVI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_RVI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_RVI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_RVI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_RVI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_RVI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_RVI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_RVI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_RVI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_RVI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10RVI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_RVI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10RVI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_RVI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_RVI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10RVI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10RVI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10RVI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_RVI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RVI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RVI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RVI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RVI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RVI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RVI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10RVI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10RVI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_RVI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10RVI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_RVI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_RVI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("RVI_Stream(real, int timeperiod=-0x80000000, int stddevperiod=-0x80000000)\n\nRVI(real[, timeperiod=?, stddevperiod=?])\n\nRelative Volatility Index (Volatility Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\n stddevperiod: 10\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_RVI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_RVI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_RVI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_RVI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_RVI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_RVI_Stream_spec = { - "talib._ta_lib.RVI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_RVI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_RVI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""RVI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_RVI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("RVI_Stream(real, int timeperiod=-0x80000000, int stddevperiod=-0x80000000)\n\nRVI(real[, timeperiod=?, stddevperiod=?])\n\nRelative Volatility Index (Volatility Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\n stddevperiod: 10\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_RVI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_RVI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_RVI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_RVI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_RVI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_RVOL_Stream __pyx_vtable_5talib_7_ta_lib_RVOL_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_RVOL_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_RVOL_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_RVOL_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_RVOL_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_RVOL_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_RVOL_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_RVOL_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_RVOL_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_RVOL_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_RVOL_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_RVOL_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11RVOL_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11RVOL_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11RVOL_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_RVOL_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11RVOL_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11RVOL_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11RVOL_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11RVOL_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11RVOL_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_RVOL_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11RVOL_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_RVOL_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_RVOL_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("RVOL_Stream(volume, int timeperiod=-0x80000000)\n\nRVOL(volume[, timeperiod=?])\n\nRelative Volume (Volume Indicators)\n\nInputs:\n prices: [\047volume\047]\nParameters:\n timeperiod: 20\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_RVOL_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_RVOL_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_RVOL_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_RVOL_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_RVOL_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_RVOL_Stream_spec = { - "talib._ta_lib.RVOL_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_RVOL_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_RVOL_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""RVOL_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_RVOL_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("RVOL_Stream(volume, int timeperiod=-0x80000000)\n\nRVOL(volume[, timeperiod=?])\n\nRelative Volume (Volume Indicators)\n\nInputs:\n prices: [\047volume\047]\nParameters:\n timeperiod: 20\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_RVOL_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_RVOL_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_RVOL_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_RVOL_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_RVOL_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_SAR_Stream __pyx_vtable_5talib_7_ta_lib_SAR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_SAR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_SAR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_SAR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_SAR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_SAR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10SAR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SAR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10SAR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_SAR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_SAR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10SAR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10SAR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10SAR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_SAR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SAR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SAR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SAR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SAR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SAR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SAR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SAR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_SAR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10SAR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_SAR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_SAR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("SAR_Stream(high, low, double acceleration=0.02, double maximum=0.2)\n\nSAR(high, low[, acceleration=?, maximum=?])\n\nParabolic SAR (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n acceleration: 0.02\n maximum: 0.2\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_SAR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_SAR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_SAR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_SAR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_SAR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_SAR_Stream_spec = { - "talib._ta_lib.SAR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_SAR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_SAR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""SAR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_SAR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("SAR_Stream(high, low, double acceleration=0.02, double maximum=0.2)\n\nSAR(high, low[, acceleration=?, maximum=?])\n\nParabolic SAR (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n acceleration: 0.02\n maximum: 0.2\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_SAR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_SAR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_SAR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_SAR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_SAR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_SAREXT_Stream __pyx_vtable_5talib_7_ta_lib_SAREXT_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SAREXT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_SAREXT_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SAREXT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_SAREXT_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SAREXT_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_SAREXT_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SAREXT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_SAREXT_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SAREXT_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_SAREXT_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_SAREXT_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_13SAREXT_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_SAREXT_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13SAREXT_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13SAREXT_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13SAREXT_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13SAREXT_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13SAREXT_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_SAREXT_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_13SAREXT_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_SAREXT_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_SAREXT_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("SAREXT_Stream(high, low, double startvalue=-4e37, double offsetonreverse=-4e37, double accelerationinitlong=-4e37, double accelerationlong=-4e37, double accelerationmaxlong=-4e37, double accelerationinitshort=-4e37, double accelerationshort=-4e37, double accelerationmaxshort=-4e37)\n\nSAREXT(high, low[, startvalue=?, offsetonreverse=?, accelerationinitlong=?, accelerationlong=?, accelerationmaxlong=?, accelerationinitshort=?, accelerationshort=?, accelerationmaxshort=?])\n\nParabolic SAR - Extended (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n startvalue: 0.0\n offsetonreverse: 0.0\n accelerationinitlong: 0.02\n accelerationlong: 0.02\n accelerationmaxlong: 0.2\n accelerationinitshort: 0.02\n accelerationshort: 0.02\n accelerationmaxshort: 0.2\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_SAREXT_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_SAREXT_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_SAREXT_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_SAREXT_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_SAREXT_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_SAREXT_Stream_spec = { - "talib._ta_lib.SAREXT_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_SAREXT_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_SAREXT_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""SAREXT_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_SAREXT_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("SAREXT_Stream(high, low, double startvalue=-4e37, double offsetonreverse=-4e37, double accelerationinitlong=-4e37, double accelerationlong=-4e37, double accelerationmaxlong=-4e37, double accelerationinitshort=-4e37, double accelerationshort=-4e37, double accelerationmaxshort=-4e37)\n\nSAREXT(high, low[, startvalue=?, offsetonreverse=?, accelerationinitlong=?, accelerationlong=?, accelerationmaxlong=?, accelerationinitshort=?, accelerationshort=?, accelerationmaxshort=?])\n\nParabolic SAR - Extended (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047]\nParameters:\n startvalue: 0.0\n offsetonreverse: 0.0\n accelerationinitlong: 0.02\n accelerationlong: 0.02\n accelerationmaxlong: 0.2\n accelerationinitshort: 0.02\n accelerationshort: 0.02\n accelerationmaxshort: 0.2\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_SAREXT_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_SAREXT_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_SAREXT_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_SAREXT_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_SAREXT_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_SIN_Stream __pyx_vtable_5talib_7_ta_lib_SIN_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SIN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_SIN_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_SIN_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SIN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_SIN_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SIN_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_SIN_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SIN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SIN_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_SIN_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10SIN_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SIN_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10SIN_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_SIN_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_SIN_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10SIN_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10SIN_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10SIN_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_SIN_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SIN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SIN_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SIN_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SIN_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SIN_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SIN_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SIN_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SIN_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_SIN_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10SIN_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_SIN_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_SIN_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("SIN_Stream(real)\n\nSIN(real)\n\nVector Trigonometric Sin (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_SIN_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_SIN_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_SIN_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_SIN_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_SIN_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_SIN_Stream_spec = { - "talib._ta_lib.SIN_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_SIN_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_SIN_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""SIN_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_SIN_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("SIN_Stream(real)\n\nSIN(real)\n\nVector Trigonometric Sin (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_SIN_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_SIN_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_SIN_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_SIN_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_SIN_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_SINH_Stream __pyx_vtable_5talib_7_ta_lib_SINH_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SINH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_SINH_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_SINH_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SINH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_SINH_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SINH_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_SINH_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SINH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SINH_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_SINH_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11SINH_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SINH_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11SINH_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_SINH_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_SINH_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11SINH_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11SINH_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11SINH_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_SINH_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11SINH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11SINH_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11SINH_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11SINH_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11SINH_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11SINH_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11SINH_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11SINH_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_SINH_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11SINH_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_SINH_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_SINH_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("SINH_Stream(real)\n\nSINH(real)\n\nVector Trigonometric Sinh (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_SINH_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_SINH_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_SINH_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_SINH_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_SINH_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_SINH_Stream_spec = { - "talib._ta_lib.SINH_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_SINH_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_SINH_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""SINH_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_SINH_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("SINH_Stream(real)\n\nSINH(real)\n\nVector Trigonometric Sinh (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_SINH_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_SINH_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_SINH_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_SINH_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_SINH_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_SMA_Stream __pyx_vtable_5talib_7_ta_lib_SMA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_SMA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_SMA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_SMA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_SMA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_SMA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10SMA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SMA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10SMA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_SMA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_SMA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10SMA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10SMA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10SMA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_SMA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SMA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SMA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SMA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SMA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SMA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SMA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SMA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_SMA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10SMA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_SMA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_SMA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("SMA_Stream(real, int timeperiod=-0x80000000)\n\nSMA(real[, timeperiod=?])\n\nSimple Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_SMA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_SMA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_SMA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_SMA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_SMA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_SMA_Stream_spec = { - "talib._ta_lib.SMA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_SMA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_SMA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""SMA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_SMA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("SMA_Stream(real, int timeperiod=-0x80000000)\n\nSMA(real[, timeperiod=?])\n\nSimple Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_SMA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_SMA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_SMA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_SMA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_SMA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_SMI_Stream __pyx_vtable_5talib_7_ta_lib_SMI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SMI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_SMI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_SMI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SMI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_SMI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SMI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_SMI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SMI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_SMI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10SMI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SMI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10SMI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_SMI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_SMI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10SMI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10SMI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10SMI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_SMI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SMI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SMI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SMI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SMI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SMI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SMI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SMI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SMI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_SMI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10SMI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_SMI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_SMI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("SMI_Stream(high, low, close, int timeperiod=-0x80000000, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int signalperiod=-0x80000000)\n\nSMI(high, low, close[, timeperiod=?, fastperiod=?, slowperiod=?, signalperiod=?])\n\nStochastic Momentum Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 13\n fastperiod: 2\n slowperiod: 25\n signalperiod: 9\nOutputs:\n smi\n smisignal")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_SMI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_SMI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_SMI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_SMI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_SMI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_SMI_Stream_spec = { - "talib._ta_lib.SMI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_SMI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_SMI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""SMI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_SMI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("SMI_Stream(high, low, close, int timeperiod=-0x80000000, int fastperiod=-0x80000000, int slowperiod=-0x80000000, int signalperiod=-0x80000000)\n\nSMI(high, low, close[, timeperiod=?, fastperiod=?, slowperiod=?, signalperiod=?])\n\nStochastic Momentum Index (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 13\n fastperiod: 2\n slowperiod: 25\n signalperiod: 9\nOutputs:\n smi\n smisignal"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_SMI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_SMI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_SMI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_SMI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_SMI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_SQRT_Stream __pyx_vtable_5talib_7_ta_lib_SQRT_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SQRT_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_SQRT_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SQRT_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_SQRT_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SQRT_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_SQRT_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SQRT_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_SQRT_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SQRT_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_SQRT_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_SQRT_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11SQRT_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11SQRT_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11SQRT_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_SQRT_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11SQRT_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11SQRT_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11SQRT_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11SQRT_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11SQRT_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_SQRT_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11SQRT_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_SQRT_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_SQRT_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("SQRT_Stream(real)\n\nSQRT(real)\n\nVector Square Root (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_SQRT_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_SQRT_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_SQRT_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_SQRT_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_SQRT_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_SQRT_Stream_spec = { - "talib._ta_lib.SQRT_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_SQRT_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_SQRT_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""SQRT_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_SQRT_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("SQRT_Stream(real)\n\nSQRT(real)\n\nVector Square Root (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_SQRT_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_SQRT_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_SQRT_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_SQRT_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_SQRT_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_STDDEV_Stream __pyx_vtable_5talib_7_ta_lib_STDDEV_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_STDDEV_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_STDDEV_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_STDDEV_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_STDDEV_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_STDDEV_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_STDDEV_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_STDDEV_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_STDDEV_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_STDDEV_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_STDDEV_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_STDDEV_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_13STDDEV_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_STDDEV_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13STDDEV_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13STDDEV_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13STDDEV_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13STDDEV_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13STDDEV_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_STDDEV_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_13STDDEV_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_STDDEV_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_STDDEV_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("STDDEV_Stream(real, int timeperiod=-0x80000000, double nbdev=-4e37)\n\nSTDDEV(real[, timeperiod=?, nbdev=?])\n\nStandard Deviation (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 5\n nbdev: 1.0\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_STDDEV_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_STDDEV_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_STDDEV_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_STDDEV_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_STDDEV_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_STDDEV_Stream_spec = { - "talib._ta_lib.STDDEV_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_STDDEV_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_STDDEV_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""STDDEV_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_STDDEV_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("STDDEV_Stream(real, int timeperiod=-0x80000000, double nbdev=-4e37)\n\nSTDDEV(real[, timeperiod=?, nbdev=?])\n\nStandard Deviation (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 5\n nbdev: 1.0\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_STDDEV_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_STDDEV_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_STDDEV_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_STDDEV_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_STDDEV_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_STOCH_Stream __pyx_vtable_5talib_7_ta_lib_STOCH_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_STOCH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_STOCH_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_STOCH_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_STOCH_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCH_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_STOCH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCH_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_STOCH_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_STOCH_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_STOCH_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_12STOCH_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_12STOCH_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_12STOCH_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_STOCH_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12STOCH_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12STOCH_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12STOCH_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12STOCH_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12STOCH_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_STOCH_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_12STOCH_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_STOCH_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_STOCH_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("STOCH_Stream(high, low, close, int fastk_period=-0x80000000, int slowk_period=-0x80000000, int slowk_matype=0, int slowd_period=-0x80000000, int slowd_matype=0)\n\nSTOCH(high, low, close[, fastk_period=?, slowk_period=?, slowk_matype=?, slowd_period=?, slowd_matype=?])\n\nStochastic (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n fastk_period: 5\n slowk_period: 3\n slowk_matype: 0 (Simple Moving Average)\n slowd_period: 3\n slowd_matype: 0 (Simple Moving Average)\nOutputs:\n slowk\n slowd")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_STOCH_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_STOCH_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_STOCH_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_STOCH_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_STOCH_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_STOCH_Stream_spec = { - "talib._ta_lib.STOCH_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_STOCH_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_STOCH_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""STOCH_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_STOCH_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("STOCH_Stream(high, low, close, int fastk_period=-0x80000000, int slowk_period=-0x80000000, int slowk_matype=0, int slowd_period=-0x80000000, int slowd_matype=0)\n\nSTOCH(high, low, close[, fastk_period=?, slowk_period=?, slowk_matype=?, slowd_period=?, slowd_matype=?])\n\nStochastic (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n fastk_period: 5\n slowk_period: 3\n slowk_matype: 0 (Simple Moving Average)\n slowd_period: 3\n slowd_matype: 0 (Simple Moving Average)\nOutputs:\n slowk\n slowd"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_STOCH_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_STOCH_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_STOCH_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_STOCH_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_STOCH_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_STOCHF_Stream __pyx_vtable_5talib_7_ta_lib_STOCHF_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_STOCHF_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_STOCHF_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCHF_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_STOCHF_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_STOCHF_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCHF_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_STOCHF_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCHF_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_STOCHF_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_STOCHF_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_STOCHF_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_13STOCHF_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_STOCHF_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13STOCHF_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13STOCHF_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13STOCHF_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13STOCHF_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13STOCHF_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_STOCHF_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_13STOCHF_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_STOCHF_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_STOCHF_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("STOCHF_Stream(high, low, close, int fastk_period=-0x80000000, int fastd_period=-0x80000000, int fastd_matype=0)\n\nSTOCHF(high, low, close[, fastk_period=?, fastd_period=?, fastd_matype=?])\n\nStochastic Fast (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n fastk_period: 5\n fastd_period: 3\n fastd_matype: 0 (Simple Moving Average)\nOutputs:\n fastk\n fastd")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_STOCHF_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_STOCHF_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_STOCHF_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_STOCHF_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_STOCHF_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_STOCHF_Stream_spec = { - "talib._ta_lib.STOCHF_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_STOCHF_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_STOCHF_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""STOCHF_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_STOCHF_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("STOCHF_Stream(high, low, close, int fastk_period=-0x80000000, int fastd_period=-0x80000000, int fastd_matype=0)\n\nSTOCHF(high, low, close[, fastk_period=?, fastd_period=?, fastd_matype=?])\n\nStochastic Fast (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n fastk_period: 5\n fastd_period: 3\n fastd_matype: 0 (Simple Moving Average)\nOutputs:\n fastk\n fastd"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_STOCHF_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_STOCHF_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_STOCHF_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_STOCHF_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_STOCHF_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_STOCHRSI_Stream __pyx_vtable_5talib_7_ta_lib_STOCHRSI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_STOCHRSI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_STOCHRSI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCHRSI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_STOCHRSI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_STOCHRSI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCHRSI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_STOCHRSI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_STOCHRSI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_STOCHRSI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_STOCHRSI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_STOCHRSI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15STOCHRSI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_STOCHRSI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15STOCHRSI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15STOCHRSI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15STOCHRSI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15STOCHRSI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15STOCHRSI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_STOCHRSI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15STOCHRSI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_STOCHRSI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_STOCHRSI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("STOCHRSI_Stream(real, int timeperiod=-0x80000000, int fastk_period=-0x80000000, int fastd_period=-0x80000000, int fastd_matype=0)\n\nSTOCHRSI(real[, timeperiod=?, fastk_period=?, fastd_period=?, fastd_matype=?])\n\nStochastic Relative Strength Index (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\n fastk_period: 5\n fastd_period: 3\n fastd_matype: 0 (Simple Moving Average)\nOutputs:\n fastk\n fastd")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_STOCHRSI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_STOCHRSI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_STOCHRSI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_STOCHRSI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_STOCHRSI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_STOCHRSI_Stream_spec = { - "talib._ta_lib.STOCHRSI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_STOCHRSI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_STOCHRSI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""STOCHRSI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_STOCHRSI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("STOCHRSI_Stream(real, int timeperiod=-0x80000000, int fastk_period=-0x80000000, int fastd_period=-0x80000000, int fastd_matype=0)\n\nSTOCHRSI(real[, timeperiod=?, fastk_period=?, fastd_period=?, fastd_matype=?])\n\nStochastic Relative Strength Index (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\n fastk_period: 5\n fastd_period: 3\n fastd_matype: 0 (Simple Moving Average)\nOutputs:\n fastk\n fastd"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_STOCHRSI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_STOCHRSI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_STOCHRSI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_STOCHRSI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_STOCHRSI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_SUB_Stream __pyx_vtable_5talib_7_ta_lib_SUB_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SUB_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_SUB_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_SUB_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SUB_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_SUB_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SUB_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_SUB_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SUB_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUB_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_SUB_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10SUB_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SUB_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10SUB_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_SUB_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_SUB_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10SUB_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10SUB_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10SUB_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_SUB_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SUB_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SUB_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SUB_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SUB_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SUB_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SUB_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SUB_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SUB_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_SUB_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10SUB_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_SUB_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_SUB_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("SUB_Stream(real0, real1)\n\nSUB(real0, real1)\n\nVector Arithmetic Subtraction (Math Operators)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_SUB_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_SUB_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_SUB_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_SUB_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_SUB_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_SUB_Stream_spec = { - "talib._ta_lib.SUB_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_SUB_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_SUB_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""SUB_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_SUB_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("SUB_Stream(real0, real1)\n\nSUB(real0, real1)\n\nVector Arithmetic Subtraction (Math Operators)\n\nInputs:\n real0: (any ndarray)\n real1: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_SUB_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_SUB_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_SUB_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_SUB_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_SUB_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_SUM_Stream __pyx_vtable_5talib_7_ta_lib_SUM_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SUM_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_SUM_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_SUM_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SUM_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_SUM_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SUM_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_SUM_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SUM_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUM_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_SUM_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10SUM_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SUM_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10SUM_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_SUM_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_SUM_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10SUM_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10SUM_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10SUM_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_SUM_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SUM_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SUM_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SUM_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SUM_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SUM_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SUM_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10SUM_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10SUM_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_SUM_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10SUM_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_SUM_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_SUM_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("SUM_Stream(real, int timeperiod=-0x80000000)\n\nSUM(real[, timeperiod=?])\n\nSummation (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_SUM_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_SUM_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_SUM_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_SUM_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_SUM_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_SUM_Stream_spec = { - "talib._ta_lib.SUM_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_SUM_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_SUM_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""SUM_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_SUM_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("SUM_Stream(real, int timeperiod=-0x80000000)\n\nSUM(real[, timeperiod=?])\n\nSummation (Math Operators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_SUM_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_SUM_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_SUM_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_SUM_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_SUM_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_SUPERTREND_Stream __pyx_vtable_5talib_7_ta_lib_SUPERTREND_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_SUPERTREND_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_SUPERTREND_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_SUPERTREND_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_SUPERTREND_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_SUPERTREND_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_SUPERTREND_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_SUPERTREND_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_SUPERTREND_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_SUPERTREND_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_SUPERTREND_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_SUPERTREND_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_17SUPERTREND_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_SUPERTREND_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17SUPERTREND_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17SUPERTREND_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17SUPERTREND_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_17SUPERTREND_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_17SUPERTREND_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_SUPERTREND_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_17SUPERTREND_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_SUPERTREND_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_SUPERTREND_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("SUPERTREND_Stream(high, low, close, int timeperiod=-0x80000000, double multiplier=3.0)\n\nSUPERTREND(high, low, close[, timeperiod=?, multiplier=?])\n\nSuperTrend (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 10\n multiplier: 3.0\nOutputs:\n supertrend\n trend")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_SUPERTREND_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_SUPERTREND_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_SUPERTREND_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_SUPERTREND_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_SUPERTREND_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_SUPERTREND_Stream_spec = { - "talib._ta_lib.SUPERTREND_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_SUPERTREND_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_SUPERTREND_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""SUPERTREND_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_SUPERTREND_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("SUPERTREND_Stream(high, low, close, int timeperiod=-0x80000000, double multiplier=3.0)\n\nSUPERTREND(high, low, close[, timeperiod=?, multiplier=?])\n\nSuperTrend (Overlap Studies)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 10\n multiplier: 3.0\nOutputs:\n supertrend\n trend"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_SUPERTREND_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_SUPERTREND_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_SUPERTREND_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_SUPERTREND_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_SUPERTREND_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_T3_Stream __pyx_vtable_5talib_7_ta_lib_T3_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_T3_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_T3_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_T3_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_T3_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_T3_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_T3_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_T3_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_T3_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_T3_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_T3_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_T3_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_9T3_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_T3_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_9T3_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_T3_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_T3_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_9T3_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_9T3_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_9T3_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_T3_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9T3_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9T3_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9T3_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9T3_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9T3_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9T3_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_9T3_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_9T3_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_T3_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_9T3_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_T3_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_T3_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("T3_Stream(real, int timeperiod=-0x80000000, double vfactor=-4e37)\n\nT3(real[, timeperiod=?, vfactor=?])\n\nTriple Exponential Moving Average (T3) (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 5\n vfactor: 0.7\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_T3_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_T3_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_T3_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_T3_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_T3_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_T3_Stream_spec = { - "talib._ta_lib.T3_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_T3_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_T3_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_T3_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""T3_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_T3_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_T3_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("T3_Stream(real, int timeperiod=-0x80000000, double vfactor=-4e37)\n\nT3(real[, timeperiod=?, vfactor=?])\n\nTriple Exponential Moving Average (T3) (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 5\n vfactor: 0.7\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_T3_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_T3_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_T3_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_T3_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_T3_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_TAN_Stream __pyx_vtable_5talib_7_ta_lib_TAN_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TAN_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_TAN_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_TAN_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TAN_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_TAN_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TAN_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_TAN_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TAN_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TAN_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_TAN_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10TAN_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TAN_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10TAN_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_TAN_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_TAN_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10TAN_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10TAN_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10TAN_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_TAN_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TAN_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TAN_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TAN_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TAN_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TAN_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TAN_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TAN_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TAN_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_TAN_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10TAN_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_TAN_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_TAN_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("TAN_Stream(real)\n\nTAN(real)\n\nVector Trigonometric Tan (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_TAN_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_TAN_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_TAN_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_TAN_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_TAN_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_TAN_Stream_spec = { - "talib._ta_lib.TAN_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_TAN_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_TAN_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""TAN_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_TAN_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("TAN_Stream(real)\n\nTAN(real)\n\nVector Trigonometric Tan (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_TAN_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_TAN_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_TAN_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_TAN_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_TAN_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_TANH_Stream __pyx_vtable_5talib_7_ta_lib_TANH_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TANH_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_TANH_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_TANH_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TANH_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_TANH_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TANH_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_TANH_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TANH_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TANH_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_TANH_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11TANH_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TANH_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11TANH_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_TANH_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_TANH_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11TANH_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11TANH_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11TANH_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_TANH_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TANH_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TANH_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TANH_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TANH_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TANH_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TANH_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TANH_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TANH_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_TANH_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11TANH_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_TANH_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_TANH_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("TANH_Stream(real)\n\nTANH(real)\n\nVector Trigonometric Tanh (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_TANH_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_TANH_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_TANH_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_TANH_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_TANH_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_TANH_Stream_spec = { - "talib._ta_lib.TANH_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_TANH_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_TANH_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""TANH_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_TANH_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("TANH_Stream(real)\n\nTANH(real)\n\nVector Trigonometric Tanh (Math Transform)\n\nInputs:\n real: (any ndarray)\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_TANH_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_TANH_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_TANH_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_TANH_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_TANH_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_TEMA_Stream __pyx_vtable_5talib_7_ta_lib_TEMA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TEMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_TEMA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TEMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_TEMA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TEMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_TEMA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TEMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_TEMA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TEMA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_TEMA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_TEMA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11TEMA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11TEMA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11TEMA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_TEMA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TEMA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TEMA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TEMA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TEMA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TEMA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_TEMA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11TEMA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_TEMA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_TEMA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("TEMA_Stream(real, int timeperiod=-0x80000000)\n\nTEMA(real[, timeperiod=?])\n\nTriple Exponential Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_TEMA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_TEMA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_TEMA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_TEMA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_TEMA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_TEMA_Stream_spec = { - "talib._ta_lib.TEMA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_TEMA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_TEMA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""TEMA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_TEMA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("TEMA_Stream(real, int timeperiod=-0x80000000)\n\nTEMA(real[, timeperiod=?])\n\nTriple Exponential Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_TEMA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_TEMA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_TEMA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_TEMA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_TEMA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_TRANGE_Stream __pyx_vtable_5talib_7_ta_lib_TRANGE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TRANGE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_TRANGE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TRANGE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_TRANGE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TRANGE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_TRANGE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TRANGE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_TRANGE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TRANGE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_TRANGE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_TRANGE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_13TRANGE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_TRANGE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13TRANGE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13TRANGE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13TRANGE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13TRANGE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13TRANGE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_TRANGE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_13TRANGE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_TRANGE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_TRANGE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("TRANGE_Stream(high, low, close)\n\nTRANGE(high, low, close)\n\nTrue Range (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_TRANGE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_TRANGE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_TRANGE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_TRANGE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_TRANGE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_TRANGE_Stream_spec = { - "talib._ta_lib.TRANGE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_TRANGE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_TRANGE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""TRANGE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_TRANGE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("TRANGE_Stream(high, low, close)\n\nTRANGE(high, low, close)\n\nTrue Range (Volatility Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_TRANGE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_TRANGE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_TRANGE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_TRANGE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_TRANGE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_TRIMA_Stream __pyx_vtable_5talib_7_ta_lib_TRIMA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TRIMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_TRIMA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TRIMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_TRIMA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TRIMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_TRIMA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TRIMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_TRIMA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TRIMA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_TRIMA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_TRIMA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_12TRIMA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_TRIMA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12TRIMA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12TRIMA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12TRIMA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12TRIMA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12TRIMA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_TRIMA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_12TRIMA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_TRIMA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_TRIMA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("TRIMA_Stream(real, int timeperiod=-0x80000000)\n\nTRIMA(real[, timeperiod=?])\n\nTriangular Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_TRIMA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_TRIMA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_TRIMA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_TRIMA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_TRIMA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_TRIMA_Stream_spec = { - "talib._ta_lib.TRIMA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_TRIMA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_TRIMA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""TRIMA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_TRIMA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("TRIMA_Stream(real, int timeperiod=-0x80000000)\n\nTRIMA(real[, timeperiod=?])\n\nTriangular Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_TRIMA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_TRIMA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_TRIMA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_TRIMA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_TRIMA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_TRIX_Stream __pyx_vtable_5talib_7_ta_lib_TRIX_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TRIX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_TRIX_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TRIX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_TRIX_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TRIX_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_TRIX_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TRIX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_TRIX_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TRIX_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_TRIX_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_TRIX_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11TRIX_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11TRIX_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11TRIX_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_TRIX_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TRIX_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TRIX_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TRIX_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11TRIX_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11TRIX_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_TRIX_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11TRIX_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_TRIX_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_TRIX_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("TRIX_Stream(real, int timeperiod=-0x80000000)\n\nTRIX(real[, timeperiod=?])\n\n1-day Rate-Of-Change (ROC) of a Triple Smooth EMA (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_TRIX_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_TRIX_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_TRIX_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_TRIX_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_TRIX_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_TRIX_Stream_spec = { - "talib._ta_lib.TRIX_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_TRIX_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_TRIX_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""TRIX_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_TRIX_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("TRIX_Stream(real, int timeperiod=-0x80000000)\n\nTRIX(real[, timeperiod=?])\n\n1-day Rate-Of-Change (ROC) of a Triple Smooth EMA (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_TRIX_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_TRIX_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_TRIX_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_TRIX_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_TRIX_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_TSF_Stream __pyx_vtable_5talib_7_ta_lib_TSF_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TSF_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_TSF_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_TSF_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TSF_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_TSF_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TSF_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_TSF_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TSF_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSF_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_TSF_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10TSF_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TSF_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10TSF_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_TSF_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_TSF_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10TSF_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10TSF_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10TSF_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_TSF_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TSF_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TSF_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TSF_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TSF_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TSF_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TSF_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TSF_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TSF_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_TSF_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10TSF_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_TSF_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_TSF_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("TSF_Stream(real, int timeperiod=-0x80000000)\n\nTSF(real[, timeperiod=?])\n\nTime Series Forecast (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_TSF_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_TSF_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_TSF_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_TSF_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_TSF_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_TSF_Stream_spec = { - "talib._ta_lib.TSF_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_TSF_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_TSF_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""TSF_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_TSF_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("TSF_Stream(real, int timeperiod=-0x80000000)\n\nTSF(real[, timeperiod=?])\n\nTime Series Forecast (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_TSF_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_TSF_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_TSF_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_TSF_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_TSF_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_TSI_Stream __pyx_vtable_5talib_7_ta_lib_TSI_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TSI_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_TSI_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_TSI_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TSI_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_TSI_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TSI_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_TSI_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TSI_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSI_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_TSI_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10TSI_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TSI_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10TSI_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_TSI_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_TSI_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10TSI_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10TSI_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10TSI_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_TSI_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TSI_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TSI_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TSI_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TSI_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TSI_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TSI_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10TSI_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10TSI_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_TSI_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10TSI_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_TSI_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_TSI_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("TSI_Stream(real, int firstperiod=-0x80000000, int secondperiod=-0x80000000)\n\nTSI(real[, firstperiod=?, secondperiod=?])\n\nTrue Strength Index (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n firstperiod: 25\n secondperiod: 13\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_TSI_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_TSI_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_TSI_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_TSI_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_TSI_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_TSI_Stream_spec = { - "talib._ta_lib.TSI_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_TSI_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_TSI_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""TSI_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_TSI_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("TSI_Stream(real, int firstperiod=-0x80000000, int secondperiod=-0x80000000)\n\nTSI(real[, firstperiod=?, secondperiod=?])\n\nTrue Strength Index (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n firstperiod: 25\n secondperiod: 13\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_TSI_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_TSI_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_TSI_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_TSI_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_TSI_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_TYPPRICE_Stream __pyx_vtable_5talib_7_ta_lib_TYPPRICE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_TYPPRICE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_TYPPRICE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_TYPPRICE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_TYPPRICE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_TYPPRICE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_TYPPRICE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_TYPPRICE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_TYPPRICE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_TYPPRICE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_TYPPRICE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_TYPPRICE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15TYPPRICE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_TYPPRICE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15TYPPRICE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15TYPPRICE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15TYPPRICE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15TYPPRICE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15TYPPRICE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_TYPPRICE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15TYPPRICE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_TYPPRICE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_TYPPRICE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("TYPPRICE_Stream(high, low, close)\n\nTYPPRICE(high, low, close)\n\nTypical Price (Price Transform)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_TYPPRICE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_TYPPRICE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_TYPPRICE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_TYPPRICE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_TYPPRICE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_TYPPRICE_Stream_spec = { - "talib._ta_lib.TYPPRICE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_TYPPRICE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_TYPPRICE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""TYPPRICE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_TYPPRICE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("TYPPRICE_Stream(high, low, close)\n\nTYPPRICE(high, low, close)\n\nTypical Price (Price Transform)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_TYPPRICE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_TYPPRICE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_TYPPRICE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_TYPPRICE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_TYPPRICE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ULTOSC_Stream __pyx_vtable_5talib_7_ta_lib_ULTOSC_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ULTOSC_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ULTOSC_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ULTOSC_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ULTOSC_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ULTOSC_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ULTOSC_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ULTOSC_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ULTOSC_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ULTOSC_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ULTOSC_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ULTOSC_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_13ULTOSC_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ULTOSC_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13ULTOSC_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13ULTOSC_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13ULTOSC_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13ULTOSC_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13ULTOSC_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ULTOSC_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_13ULTOSC_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ULTOSC_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ULTOSC_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ULTOSC_Stream(high, low, close, int timeperiod1=-0x80000000, int timeperiod2=-0x80000000, int timeperiod3=-0x80000000)\n\nULTOSC(high, low, close[, timeperiod1=?, timeperiod2=?, timeperiod3=?])\n\nUltimate Oscillator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod1: 7\n timeperiod2: 14\n timeperiod3: 28\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ULTOSC_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ULTOSC_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ULTOSC_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ULTOSC_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ULTOSC_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ULTOSC_Stream_spec = { - "talib._ta_lib.ULTOSC_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ULTOSC_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ULTOSC_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ULTOSC_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ULTOSC_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ULTOSC_Stream(high, low, close, int timeperiod1=-0x80000000, int timeperiod2=-0x80000000, int timeperiod3=-0x80000000)\n\nULTOSC(high, low, close[, timeperiod1=?, timeperiod2=?, timeperiod3=?])\n\nUltimate Oscillator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod1: 7\n timeperiod2: 14\n timeperiod3: 28\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ULTOSC_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ULTOSC_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ULTOSC_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ULTOSC_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ULTOSC_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_VAR_Stream __pyx_vtable_5talib_7_ta_lib_VAR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_VAR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_VAR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_VAR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_VAR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_VAR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_VAR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_VAR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_VAR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VAR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_VAR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10VAR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_VAR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10VAR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_VAR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_VAR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10VAR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10VAR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10VAR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_VAR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10VAR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10VAR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10VAR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10VAR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10VAR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10VAR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10VAR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10VAR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_VAR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10VAR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_VAR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_VAR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("VAR_Stream(real, int timeperiod=-0x80000000, double nbdev=-4e37)\n\nVAR(real[, timeperiod=?, nbdev=?])\n\nVariance (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 5\n nbdev: 1.0\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_VAR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_VAR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_VAR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_VAR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_VAR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_VAR_Stream_spec = { - "talib._ta_lib.VAR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_VAR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_VAR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""VAR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_VAR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("VAR_Stream(real, int timeperiod=-0x80000000, double nbdev=-4e37)\n\nVAR(real[, timeperiod=?, nbdev=?])\n\nVariance (Statistic Functions)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 5\n nbdev: 1.0\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_VAR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_VAR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_VAR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_VAR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_VAR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_VHF_Stream __pyx_vtable_5talib_7_ta_lib_VHF_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_VHF_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_VHF_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_VHF_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_VHF_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_VHF_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_VHF_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_VHF_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_VHF_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VHF_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_VHF_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10VHF_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_VHF_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10VHF_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_VHF_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_VHF_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10VHF_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10VHF_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10VHF_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_VHF_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10VHF_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10VHF_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10VHF_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10VHF_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10VHF_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10VHF_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10VHF_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10VHF_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_VHF_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10VHF_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_VHF_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_VHF_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("VHF_Stream(real, int timeperiod=-0x80000000)\n\nVHF(real[, timeperiod=?])\n\nVertical Horizontal Filter (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 28\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_VHF_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_VHF_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_VHF_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_VHF_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_VHF_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_VHF_Stream_spec = { - "talib._ta_lib.VHF_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_VHF_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_VHF_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""VHF_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_VHF_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("VHF_Stream(real, int timeperiod=-0x80000000)\n\nVHF(real[, timeperiod=?])\n\nVertical Horizontal Filter (Momentum Indicators)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 28\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_VHF_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_VHF_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_VHF_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_VHF_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_VHF_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_VORTEX_Stream __pyx_vtable_5talib_7_ta_lib_VORTEX_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_VORTEX_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_VORTEX_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_VORTEX_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_VORTEX_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_VORTEX_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_VORTEX_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_VORTEX_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_VORTEX_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_VORTEX_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_VORTEX_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_VORTEX_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_13VORTEX_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_VORTEX_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13VORTEX_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13VORTEX_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13VORTEX_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_13VORTEX_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_13VORTEX_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_VORTEX_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_13VORTEX_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_VORTEX_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_VORTEX_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("VORTEX_Stream(high, low, close, int timeperiod=-0x80000000)\n\nVORTEX(high, low, close[, timeperiod=?])\n\nVortex Indicator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n plusvi\n minusvi")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_VORTEX_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_VORTEX_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_VORTEX_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_VORTEX_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_VORTEX_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_VORTEX_Stream_spec = { - "talib._ta_lib.VORTEX_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_VORTEX_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_VORTEX_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""VORTEX_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_VORTEX_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("VORTEX_Stream(high, low, close, int timeperiod=-0x80000000)\n\nVORTEX(high, low, close[, timeperiod=?])\n\nVortex Indicator (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n plusvi\n minusvi"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_VORTEX_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_VORTEX_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_VORTEX_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_VORTEX_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_VORTEX_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_VWAP_Stream __pyx_vtable_5talib_7_ta_lib_VWAP_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_VWAP_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_VWAP_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_VWAP_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_VWAP_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_VWAP_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_VWAP_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_VWAP_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_VWAP_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_VWAP_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_VWAP_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_VWAP_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11VWAP_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11VWAP_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11VWAP_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_VWAP_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11VWAP_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11VWAP_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11VWAP_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11VWAP_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11VWAP_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_VWAP_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11VWAP_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_VWAP_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_VWAP_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("VWAP_Stream(high, low, close, volume)\n\nVWAP(high, low, close, volume)\n\nVolume Weighted Average Price (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_VWAP_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_VWAP_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_VWAP_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_VWAP_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_VWAP_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_VWAP_Stream_spec = { - "talib._ta_lib.VWAP_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_VWAP_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_VWAP_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""VWAP_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_VWAP_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("VWAP_Stream(high, low, close, volume)\n\nVWAP(high, low, close, volume)\n\nVolume Weighted Average Price (Volume Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047, \047volume\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_VWAP_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_VWAP_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_VWAP_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_VWAP_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_VWAP_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_VWMA_Stream __pyx_vtable_5talib_7_ta_lib_VWMA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_VWMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_VWMA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_VWMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_VWMA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_VWMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_VWMA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_VWMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_VWMA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_VWMA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_VWMA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_VWMA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_11VWMA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_11VWMA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_11VWMA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_VWMA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11VWMA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11VWMA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11VWMA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_11VWMA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_11VWMA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_VWMA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_11VWMA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_VWMA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_VWMA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("VWMA_Stream(real, volume, int timeperiod=-0x80000000)\n\nVWMA(real, volume[, timeperiod=?])\n\nVolume Weighted Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\n prices: [\047volume\047]\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_VWMA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_VWMA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_VWMA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_VWMA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_VWMA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_VWMA_Stream_spec = { - "talib._ta_lib.VWMA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_VWMA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_VWMA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""VWMA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_VWMA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("VWMA_Stream(real, volume, int timeperiod=-0x80000000)\n\nVWMA(real, volume[, timeperiod=?])\n\nVolume Weighted Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\n prices: [\047volume\047]\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_VWMA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_VWMA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_VWMA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_VWMA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_VWMA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_WAD_Stream __pyx_vtable_5talib_7_ta_lib_WAD_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_WAD_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_WAD_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_WAD_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_WAD_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_WAD_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_WAD_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_WAD_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_WAD_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WAD_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_WAD_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10WAD_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_WAD_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10WAD_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_WAD_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_WAD_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10WAD_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10WAD_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10WAD_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_WAD_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10WAD_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10WAD_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10WAD_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10WAD_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10WAD_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10WAD_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10WAD_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10WAD_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_WAD_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10WAD_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_WAD_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_WAD_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("WAD_Stream(high, low, close)\n\nWAD(high, low, close)\n\nWilliams\047 Accumulation/Distribution (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_WAD_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_WAD_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_WAD_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_WAD_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_WAD_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_WAD_Stream_spec = { - "talib._ta_lib.WAD_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_WAD_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_WAD_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""WAD_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_WAD_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("WAD_Stream(high, low, close)\n\nWAD(high, low, close)\n\nWilliams\047 Accumulation/Distribution (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_WAD_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_WAD_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_WAD_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_WAD_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_WAD_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_WCLPRICE_Stream __pyx_vtable_5talib_7_ta_lib_WCLPRICE_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_WCLPRICE_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_WCLPRICE_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_WCLPRICE_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_WCLPRICE_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_WCLPRICE_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_WCLPRICE_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_WCLPRICE_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_WCLPRICE_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_WCLPRICE_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_WCLPRICE_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_WCLPRICE_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_15WCLPRICE_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_WCLPRICE_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15WCLPRICE_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15WCLPRICE_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15WCLPRICE_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_15WCLPRICE_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_15WCLPRICE_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_WCLPRICE_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_15WCLPRICE_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_WCLPRICE_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_WCLPRICE_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("WCLPRICE_Stream(high, low, close)\n\nWCLPRICE(high, low, close)\n\nWeighted Close Price (Price Transform)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_WCLPRICE_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_WCLPRICE_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_WCLPRICE_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_WCLPRICE_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_WCLPRICE_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_WCLPRICE_Stream_spec = { - "talib._ta_lib.WCLPRICE_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_WCLPRICE_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_WCLPRICE_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""WCLPRICE_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_WCLPRICE_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("WCLPRICE_Stream(high, low, close)\n\nWCLPRICE(high, low, close)\n\nWeighted Close Price (Price Transform)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_WCLPRICE_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_WCLPRICE_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_WCLPRICE_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_WCLPRICE_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_WCLPRICE_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_WILLR_Stream __pyx_vtable_5talib_7_ta_lib_WILLR_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_WILLR_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_WILLR_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_WILLR_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_WILLR_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_WILLR_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_WILLR_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_WILLR_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_WILLR_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_WILLR_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_WILLR_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_WILLR_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_12WILLR_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_12WILLR_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_12WILLR_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_WILLR_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12WILLR_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12WILLR_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12WILLR_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12WILLR_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12WILLR_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_WILLR_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_12WILLR_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_WILLR_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_WILLR_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("WILLR_Stream(high, low, close, int timeperiod=-0x80000000)\n\nWILLR(high, low, close[, timeperiod=?])\n\nWilliams\047 %R (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_WILLR_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_WILLR_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_WILLR_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_WILLR_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_WILLR_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_WILLR_Stream_spec = { - "talib._ta_lib.WILLR_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_WILLR_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_WILLR_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""WILLR_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_WILLR_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("WILLR_Stream(high, low, close, int timeperiod=-0x80000000)\n\nWILLR(high, low, close[, timeperiod=?])\n\nWilliams\047 %R (Momentum Indicators)\n\nInputs:\n prices: [\047high\047, \047low\047, \047close\047]\nParameters:\n timeperiod: 14\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_WILLR_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_WILLR_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_WILLR_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_WILLR_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_WILLR_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_WMA_Stream __pyx_vtable_5talib_7_ta_lib_WMA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_WMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_WMA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_WMA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_WMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_WMA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_WMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_WMA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_WMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WMA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_WMA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_10WMA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_WMA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_10WMA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_WMA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_WMA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_10WMA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_10WMA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_10WMA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_WMA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10WMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10WMA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10WMA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10WMA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10WMA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10WMA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_10WMA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_10WMA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_WMA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_10WMA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_WMA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_WMA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("WMA_Stream(real, int timeperiod=-0x80000000)\n\nWMA(real[, timeperiod=?])\n\nWeighted Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_WMA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_WMA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_WMA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_WMA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_WMA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_WMA_Stream_spec = { - "talib._ta_lib.WMA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_WMA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_WMA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""WMA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_WMA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("WMA_Stream(real, int timeperiod=-0x80000000)\n\nWMA(real[, timeperiod=?])\n\nWeighted Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_WMA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_WMA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_WMA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_WMA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_WMA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif -static struct __pyx_vtabstruct_5talib_7_ta_lib_ZLEMA_Stream __pyx_vtable_5talib_7_ta_lib_ZLEMA_Stream; - -static PyObject *__pyx_tp_new__initialisation_5talib_7_ta_lib_ZLEMA_Stream(PyObject *o, -#if CYTHON_VECTORCALL_TPNEW - CYTHON_UNUSED PyObject *const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames -#else - CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k -#endif -) { - struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *p = ((struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream *)o); - p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5talib_7_ta_lib_Stream*)__pyx_vtabptr_5talib_7_ta_lib_ZLEMA_Stream; - return o; -} - -static PyObject *__pyx_tp_new_vectorcall_5talib_7_ta_lib_ZLEMA_Stream(PyTypeObject *t, -#if CYTHON_VECTORCALL_TPNEW - PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames -#else - PyObject *a, PyObject *k -#endif -) { - PyObject *o; - o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_Stream(t, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); - if (unlikely(!o)) return 0; - return __pyx_tp_new__initialisation_5talib_7_ta_lib_ZLEMA_Stream(o, -#if CYTHON_VECTORCALL_TPNEW - args, nargs, kwnames -#else - a, k -#endif -); -} - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_new_5talib_7_ta_lib_ZLEMA_Stream(PyTypeObject *t, PyObject *a, PyObject *k) { - return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_5talib_7_ta_lib_ZLEMA_Stream, t, a, k); -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static PyObject *__pyx_tp_vectorcall_5talib_7_ta_lib_ZLEMA_Stream(PyObject *t, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) { - return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames); - } - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *o = __pyx_tp_new_vectorcall_5talib_7_ta_lib_ZLEMA_Stream((PyTypeObject*)t, args, nargs, kwnames); - if (likely(o)) { - assert(Py_TYPE(o) == (PyTypeObject*)t); - if (unlikely(__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_3__init__(o, args, nargs, kwnames) < 0)) { - Py_CLEAR(o); - } - } - return o; -} -#endif - -#if CYTHON_VECTORCALL_TPNEW -static int __pyx_tp_init_5talib_7_ta_lib_ZLEMA_Stream(PyObject *o, PyObject *args, PyObject *kwds) { - return __Pyx_CallTpinitAsVectorcall(__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_3__init__, o, args, kwds); -} -#endif - -static void __pyx_tp_dealloc_5talib_7_ta_lib_ZLEMA_Stream(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5talib_7_ta_lib_ZLEMA_Stream) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - { - PyObject *etype, *eval, *etb; - __Pyx_PyErr_FetchException(&etype, &eval, &etb); - __Pyx_DeallocKeepAliveBegin(o); - __pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_1__dealloc__(o); - __Pyx_DeallocKeepAliveEnd(o); - __Pyx_PyErr_RestoreException(etype, eval, etb); - } - __pyx_tp_dealloc_5talib_7_ta_lib_Stream(o); -} - -static PyObject *__pyx_getprop_5talib_7_ta_lib_12ZLEMA_Stream_value(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_5value_1__get__(o); -} - -static PyMethodDef __pyx_methods_5talib_7_ta_lib_ZLEMA_Stream[] = { - {"open_and_fill", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_5open_and_fill, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12ZLEMA_Stream_4open_and_fill}, - {"update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_7update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12ZLEMA_Stream_6update}, - {"peek", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_9peek, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12ZLEMA_Stream_8peek}, - {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5talib_7_ta_lib_12ZLEMA_Stream_11copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5talib_7_ta_lib_12ZLEMA_Stream_10copy}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_5talib_7_ta_lib_ZLEMA_Stream[] = { - {"value", __pyx_getprop_5talib_7_ta_lib_12ZLEMA_Stream_value, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_5talib_7_ta_lib_ZLEMA_Stream_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5talib_7_ta_lib_ZLEMA_Stream}, - {Py_tp_doc, (void *)PyDoc_STR("ZLEMA_Stream(real, int timeperiod=-0x80000000)\n\nZLEMA(real[, timeperiod=?])\n\nZero-Lag Exponential Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real")}, - {Py_tp_methods, (void *)__pyx_methods_5talib_7_ta_lib_ZLEMA_Stream}, - {Py_tp_getset, (void *)__pyx_getsets_5talib_7_ta_lib_ZLEMA_Stream}, - {Py_tp_init, (void *)__pyx_tp_init_5talib_7_ta_lib_ZLEMA_Stream}, - {Py_tp_new, (void *)__pyx_tp_new_5talib_7_ta_lib_ZLEMA_Stream}, - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - {Py_tp_vectorcall, (void *)__pyx_tp_vectorcall_5talib_7_ta_lib_ZLEMA_Stream}, - #endif - #endif - {0, 0}, -}; -static PyType_Spec __pyx_type_5talib_7_ta_lib_ZLEMA_Stream_spec = { - "talib._ta_lib.ZLEMA_Stream", - sizeof(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, - __pyx_type_5talib_7_ta_lib_ZLEMA_Stream_slots, -}; -#else - -static PyTypeObject __pyx_type_5talib_7_ta_lib_ZLEMA_Stream = { - PyVarObject_HEAD_INIT(0, 0) - "talib._ta_lib.""ZLEMA_Stream", /*tp_name*/ - sizeof(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_5talib_7_ta_lib_ZLEMA_Stream, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - PyDoc_STR("ZLEMA_Stream(real, int timeperiod=-0x80000000)\n\nZLEMA(real[, timeperiod=?])\n\nZero-Lag Exponential Moving Average (Overlap Studies)\n\nInputs:\n real: (any ndarray)\nParameters:\n timeperiod: 30\nOutputs:\n real"), /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_5talib_7_ta_lib_ZLEMA_Stream, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_5talib_7_ta_lib_ZLEMA_Stream, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - __pyx_tp_init_5talib_7_ta_lib_ZLEMA_Stream, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_5talib_7_ta_lib_ZLEMA_Stream, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000) - #if CYTHON_VECTORCALL_TPNEW - __pyx_tp_vectorcall_5talib_7_ta_lib_ZLEMA_Stream, /*tp_vectorcall*/ - #else - NULL, /*tp_vectorcall*/ - #endif - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -static PyMethodDef __pyx_methods[] = { - {0, 0, 0, 0} -}; -/* #### Code section: initfunc_declarations ### */ -static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_InitAfterSharedUtility(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_InitConstants(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Global_init_code(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Variable_export_code(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Function_export_code(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib__TA_ReadLease(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib__TA_WriteLease(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AC_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ACOS_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AD_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADD_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADOSC_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADX_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADXR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AO_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_APO_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AROON_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AROONOSC_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ASIN_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ATAN_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ATR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AVGDEV_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_BBANDS_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_BETA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_BOP_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CCI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CEIL_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CMF_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CMO_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CMOU_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_COPPOCK_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CORREL_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_COS_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_COSH_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CUMSUM_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CVI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DEMA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DIV_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DPO_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DX_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_EFI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_EMA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ER_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ERI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_EXP_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_FLOOR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_FOSC_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_FRACTAL_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HMA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_SINE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_IMI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_KAMA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_KC_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_KDJ_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LN_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LOG10_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MACD_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MACDEXT_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MACDFIX_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAMA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MARKETFI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MASSI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAVP_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAX_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MFI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MIN_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MININDEX_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINMAX_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MOM_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MULT_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_NATR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_NVI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_OBV_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PPO_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PVI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PVO_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PVT_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_QSTICK_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RMA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROC_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROCP_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROCR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROCR100_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RSI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RVI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RVOL_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SAR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SAREXT_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SIN_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SINH_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SMA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SMI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SQRT_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STDDEV_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STOCH_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STOCHF_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SUB_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SUM_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_T3_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TAN_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TANH_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TEMA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TRANGE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TRIMA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TRIX_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TSF_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TSI_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ULTOSC_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VAR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VHF_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VORTEX_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VWAP_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VWMA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WAD_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WILLR_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WMA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ZLEMA_Stream(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Type_import_code(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Variable_import_code(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_Function_import_code(__pyx_mstatetype *__pyx_mstate); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate); /*proto*/ -/* #### Code section: init_module ### */ - -static int __Pyx_modinit_Global_init_code(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Global_init_code", 0); - /*--- Global init code ---*/ - __Pyx_Locks_PyMutex_Init(__pyx_v_5talib_7_ta_lib__ta_gate); - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_Variable_export_code(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Variable_export_code", 0); - /*--- Variable export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_Function_export_code(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Function_export_code", 0); - /*--- Function export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib__TA_ReadLease(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib__TA_ReadLease", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib__TA_ReadLease ---*/ - #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib__TA_ReadLease_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease)) __PYX_ERR(1, 61, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease = &__pyx_type_5talib_7_ta_lib__TA_ReadLease; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease) < (0)) __PYX_ERR(1, 61, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_TA_ReadLease, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease) < (0)) __PYX_ERR(1, 61, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease) < (0)) __PYX_ERR(1, 61, __pyx_L1_error) - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib__TA_WriteLease(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib__TA_WriteLease", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib__TA_WriteLease ---*/ - #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib__TA_WriteLease_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease)) __PYX_ERR(1, 69, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease = &__pyx_type_5talib_7_ta_lib__TA_WriteLease; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease) < (0)) __PYX_ERR(1, 69, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_TA_WriteLease, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease) < (0)) __PYX_ERR(1, 69, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease) < (0)) __PYX_ERR(1, 69, __pyx_L1_error) - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_Stream = &__pyx_vtable_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_Stream._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_6Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_Stream._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_6Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_Stream_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_Stream)) __PYX_ERR(3, 2500, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_Stream = &__pyx_type_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_Stream) < (0)) __PYX_ERR(3, 2500, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_Stream, __pyx_vtabptr_5talib_7_ta_lib_Stream) < (0)) __PYX_ERR(3, 2500, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_Stream) < (0)) __PYX_ERR(3, 2500, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_Stream, __weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AC_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AC_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_AC_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_AC_Stream = &__pyx_vtable_5talib_7_ta_lib_AC_Stream; - __pyx_vtable_5talib_7_ta_lib_AC_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_AC_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_9AC_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_AC_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_9AC_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2554, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AC_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_AC_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AC_Stream)) __PYX_ERR(3, 2554, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AC_Stream = &__pyx_type_5talib_7_ta_lib_AC_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AC_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AC_Stream) < (0)) __PYX_ERR(3, 2554, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AC_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AC_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AC_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AC_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AC_Stream, __pyx_vtabptr_5talib_7_ta_lib_AC_Stream) < (0)) __PYX_ERR(3, 2554, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_AC_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AC_Stream) < (0)) __PYX_ERR(3, 2554, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AC_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AC_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_AC_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ACCBANDS_Stream = &__pyx_vtable_5talib_7_ta_lib_ACCBANDS_Stream; - __pyx_vtable_5talib_7_ta_lib_ACCBANDS_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ACCBANDS_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15ACCBANDS_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ACCBANDS_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15ACCBANDS_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2695, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ACCBANDS_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream)) __PYX_ERR(3, 2695, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream = &__pyx_type_5talib_7_ta_lib_ACCBANDS_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream) < (0)) __PYX_ERR(3, 2695, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream, __pyx_vtabptr_5talib_7_ta_lib_ACCBANDS_Stream) < (0)) __PYX_ERR(3, 2695, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ACCBANDS_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream) < (0)) __PYX_ERR(3, 2695, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ACOS_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ACOS_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ACOS_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ACOS_Stream = &__pyx_vtable_5talib_7_ta_lib_ACOS_Stream; - __pyx_vtable_5talib_7_ta_lib_ACOS_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ACOS_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11ACOS_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ACOS_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11ACOS_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2850, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ACOS_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream)) __PYX_ERR(3, 2850, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream = &__pyx_type_5talib_7_ta_lib_ACOS_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream) < (0)) __PYX_ERR(3, 2850, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream, __pyx_vtabptr_5talib_7_ta_lib_ACOS_Stream) < (0)) __PYX_ERR(3, 2850, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ACOS_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream) < (0)) __PYX_ERR(3, 2850, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ACOS_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AD_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AD_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_AD_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_AD_Stream = &__pyx_vtable_5talib_7_ta_lib_AD_Stream; - __pyx_vtable_5talib_7_ta_lib_AD_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_AD_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_9AD_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_AD_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_9AD_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 2985, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AD_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_AD_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AD_Stream)) __PYX_ERR(3, 2985, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AD_Stream = &__pyx_type_5talib_7_ta_lib_AD_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AD_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AD_Stream) < (0)) __PYX_ERR(3, 2985, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AD_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AD_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AD_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AD_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AD_Stream, __pyx_vtabptr_5talib_7_ta_lib_AD_Stream) < (0)) __PYX_ERR(3, 2985, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_AD_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AD_Stream) < (0)) __PYX_ERR(3, 2985, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AD_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AD_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_AD_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADD_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADD_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ADD_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ADD_Stream = &__pyx_vtable_5talib_7_ta_lib_ADD_Stream; - __pyx_vtable_5talib_7_ta_lib_ADD_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ADD_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10ADD_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ADD_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10ADD_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADD_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ADD_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADD_Stream)) __PYX_ERR(3, 3126, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADD_Stream = &__pyx_type_5talib_7_ta_lib_ADD_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADD_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADD_Stream) < (0)) __PYX_ERR(3, 3126, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADD_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADD_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADD_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADD_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADD_Stream, __pyx_vtabptr_5talib_7_ta_lib_ADD_Stream) < (0)) __PYX_ERR(3, 3126, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ADD_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADD_Stream) < (0)) __PYX_ERR(3, 3126, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADD_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADD_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ADD_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADOSC_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADOSC_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ADOSC_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ADOSC_Stream = &__pyx_vtable_5talib_7_ta_lib_ADOSC_Stream; - __pyx_vtable_5talib_7_ta_lib_ADOSC_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ADOSC_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_12ADOSC_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ADOSC_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_12ADOSC_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ADOSC_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream)) __PYX_ERR(3, 3264, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream = &__pyx_type_5talib_7_ta_lib_ADOSC_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream) < (0)) __PYX_ERR(3, 3264, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream, __pyx_vtabptr_5talib_7_ta_lib_ADOSC_Stream) < (0)) __PYX_ERR(3, 3264, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ADOSC_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream) < (0)) __PYX_ERR(3, 3264, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ADOSC_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ADR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ADR_Stream = &__pyx_vtable_5talib_7_ta_lib_ADR_Stream; - __pyx_vtable_5talib_7_ta_lib_ADR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ADR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10ADR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ADR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10ADR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ADR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADR_Stream)) __PYX_ERR(3, 3408, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADR_Stream = &__pyx_type_5talib_7_ta_lib_ADR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADR_Stream) < (0)) __PYX_ERR(3, 3408, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADR_Stream, __pyx_vtabptr_5talib_7_ta_lib_ADR_Stream) < (0)) __PYX_ERR(3, 3408, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ADR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADR_Stream) < (0)) __PYX_ERR(3, 3408, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ADR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADX_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADX_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ADX_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ADX_Stream = &__pyx_vtable_5talib_7_ta_lib_ADX_Stream; - __pyx_vtable_5talib_7_ta_lib_ADX_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ADX_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10ADX_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ADX_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10ADX_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3547, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADX_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ADX_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADX_Stream)) __PYX_ERR(3, 3547, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADX_Stream = &__pyx_type_5talib_7_ta_lib_ADX_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADX_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADX_Stream) < (0)) __PYX_ERR(3, 3547, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADX_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADX_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADX_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADX_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADX_Stream, __pyx_vtabptr_5talib_7_ta_lib_ADX_Stream) < (0)) __PYX_ERR(3, 3547, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ADX_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADX_Stream) < (0)) __PYX_ERR(3, 3547, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADX_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADX_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ADX_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADXR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADXR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ADXR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ADXR_Stream = &__pyx_vtable_5talib_7_ta_lib_ADXR_Stream; - __pyx_vtable_5talib_7_ta_lib_ADXR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ADXR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11ADXR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ADXR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11ADXR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3688, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ADXR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream)) __PYX_ERR(3, 3688, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream = &__pyx_type_5talib_7_ta_lib_ADXR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream) < (0)) __PYX_ERR(3, 3688, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream, __pyx_vtabptr_5talib_7_ta_lib_ADXR_Stream) < (0)) __PYX_ERR(3, 3688, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ADXR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream) < (0)) __PYX_ERR(3, 3688, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ADXR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AO_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AO_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_AO_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_AO_Stream = &__pyx_vtable_5talib_7_ta_lib_AO_Stream; - __pyx_vtable_5talib_7_ta_lib_AO_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_AO_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_9AO_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_AO_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_9AO_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3829, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AO_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_AO_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AO_Stream)) __PYX_ERR(3, 3829, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AO_Stream = &__pyx_type_5talib_7_ta_lib_AO_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AO_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AO_Stream) < (0)) __PYX_ERR(3, 3829, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AO_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AO_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AO_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AO_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AO_Stream, __pyx_vtabptr_5talib_7_ta_lib_AO_Stream) < (0)) __PYX_ERR(3, 3829, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_AO_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AO_Stream) < (0)) __PYX_ERR(3, 3829, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AO_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AO_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_AO_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_APO_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_APO_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_APO_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_APO_Stream = &__pyx_vtable_5talib_7_ta_lib_APO_Stream; - __pyx_vtable_5talib_7_ta_lib_APO_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_APO_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10APO_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_APO_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10APO_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3969, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_APO_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_APO_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_APO_Stream)) __PYX_ERR(3, 3969, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_APO_Stream = &__pyx_type_5talib_7_ta_lib_APO_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_APO_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_APO_Stream) < (0)) __PYX_ERR(3, 3969, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_APO_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_APO_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_APO_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_APO_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_APO_Stream, __pyx_vtabptr_5talib_7_ta_lib_APO_Stream) < (0)) __PYX_ERR(3, 3969, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_APO_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_APO_Stream) < (0)) __PYX_ERR(3, 3969, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_APO_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_APO_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_APO_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AROON_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AROON_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_AROON_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_AROON_Stream = &__pyx_vtable_5talib_7_ta_lib_AROON_Stream; - __pyx_vtable_5talib_7_ta_lib_AROON_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_AROON_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_12AROON_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_AROON_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_12AROON_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROON_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_AROON_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROON_Stream)) __PYX_ERR(3, 4108, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROON_Stream = &__pyx_type_5talib_7_ta_lib_AROON_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROON_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROON_Stream) < (0)) __PYX_ERR(3, 4108, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROON_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROON_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROON_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROON_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROON_Stream, __pyx_vtabptr_5talib_7_ta_lib_AROON_Stream) < (0)) __PYX_ERR(3, 4108, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_AROON_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROON_Stream) < (0)) __PYX_ERR(3, 4108, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROON_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROON_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_AROON_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AROONOSC_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AROONOSC_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_AROONOSC_Stream = &__pyx_vtable_5talib_7_ta_lib_AROONOSC_Stream; - __pyx_vtable_5talib_7_ta_lib_AROONOSC_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_AROONOSC_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15AROONOSC_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_AROONOSC_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15AROONOSC_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4254, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_AROONOSC_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream)) __PYX_ERR(3, 4254, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream = &__pyx_type_5talib_7_ta_lib_AROONOSC_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream) < (0)) __PYX_ERR(3, 4254, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream, __pyx_vtabptr_5talib_7_ta_lib_AROONOSC_Stream) < (0)) __PYX_ERR(3, 4254, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_AROONOSC_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream) < (0)) __PYX_ERR(3, 4254, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_AROONOSC_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ASIN_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ASIN_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ASIN_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ASIN_Stream = &__pyx_vtable_5talib_7_ta_lib_ASIN_Stream; - __pyx_vtable_5talib_7_ta_lib_ASIN_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ASIN_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11ASIN_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ASIN_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11ASIN_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4393, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ASIN_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream)) __PYX_ERR(3, 4393, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream = &__pyx_type_5talib_7_ta_lib_ASIN_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream) < (0)) __PYX_ERR(3, 4393, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream, __pyx_vtabptr_5talib_7_ta_lib_ASIN_Stream) < (0)) __PYX_ERR(3, 4393, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ASIN_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream) < (0)) __PYX_ERR(3, 4393, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ASIN_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ATAN_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ATAN_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ATAN_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ATAN_Stream = &__pyx_vtable_5talib_7_ta_lib_ATAN_Stream; - __pyx_vtable_5talib_7_ta_lib_ATAN_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ATAN_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11ATAN_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ATAN_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11ATAN_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4528, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ATAN_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream)) __PYX_ERR(3, 4528, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream = &__pyx_type_5talib_7_ta_lib_ATAN_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream) < (0)) __PYX_ERR(3, 4528, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream, __pyx_vtabptr_5talib_7_ta_lib_ATAN_Stream) < (0)) __PYX_ERR(3, 4528, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ATAN_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream) < (0)) __PYX_ERR(3, 4528, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ATAN_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ATR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ATR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ATR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ATR_Stream = &__pyx_vtable_5talib_7_ta_lib_ATR_Stream; - __pyx_vtable_5talib_7_ta_lib_ATR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ATR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10ATR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ATR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10ATR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4663, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ATR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATR_Stream)) __PYX_ERR(3, 4663, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATR_Stream = &__pyx_type_5talib_7_ta_lib_ATR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATR_Stream) < (0)) __PYX_ERR(3, 4663, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATR_Stream, __pyx_vtabptr_5talib_7_ta_lib_ATR_Stream) < (0)) __PYX_ERR(3, 4663, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ATR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATR_Stream) < (0)) __PYX_ERR(3, 4663, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ATR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ATR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AVGDEV_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AVGDEV_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_AVGDEV_Stream = &__pyx_vtable_5talib_7_ta_lib_AVGDEV_Stream; - __pyx_vtable_5talib_7_ta_lib_AVGDEV_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_AVGDEV_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_13AVGDEV_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_AVGDEV_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_13AVGDEV_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4804, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_AVGDEV_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream)) __PYX_ERR(3, 4804, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream = &__pyx_type_5talib_7_ta_lib_AVGDEV_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream) < (0)) __PYX_ERR(3, 4804, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream, __pyx_vtabptr_5talib_7_ta_lib_AVGDEV_Stream) < (0)) __PYX_ERR(3, 4804, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_AVGDEV_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream) < (0)) __PYX_ERR(3, 4804, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_AVGDEV_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_AVGPRICE_Stream = &__pyx_vtable_5talib_7_ta_lib_AVGPRICE_Stream; - __pyx_vtable_5talib_7_ta_lib_AVGPRICE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_AVGPRICE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15AVGPRICE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_AVGPRICE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15AVGPRICE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4941, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_AVGPRICE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream)) __PYX_ERR(3, 4941, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream = &__pyx_type_5talib_7_ta_lib_AVGPRICE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream) < (0)) __PYX_ERR(3, 4941, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream, __pyx_vtabptr_5talib_7_ta_lib_AVGPRICE_Stream) < (0)) __PYX_ERR(3, 4941, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_AVGPRICE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream) < (0)) __PYX_ERR(3, 4941, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_BBANDS_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_BBANDS_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_BBANDS_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_BBANDS_Stream = &__pyx_vtable_5talib_7_ta_lib_BBANDS_Stream; - __pyx_vtable_5talib_7_ta_lib_BBANDS_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_BBANDS_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_13BBANDS_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_BBANDS_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_13BBANDS_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5082, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_BBANDS_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream)) __PYX_ERR(3, 5082, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream = &__pyx_type_5talib_7_ta_lib_BBANDS_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream) < (0)) __PYX_ERR(3, 5082, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream, __pyx_vtabptr_5talib_7_ta_lib_BBANDS_Stream) < (0)) __PYX_ERR(3, 5082, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_BBANDS_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream) < (0)) __PYX_ERR(3, 5082, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_BBANDS_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_BETA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_BETA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_BETA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_BETA_Stream = &__pyx_vtable_5talib_7_ta_lib_BETA_Stream; - __pyx_vtable_5talib_7_ta_lib_BETA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_BETA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11BETA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_BETA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11BETA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5236, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BETA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_BETA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BETA_Stream)) __PYX_ERR(3, 5236, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BETA_Stream = &__pyx_type_5talib_7_ta_lib_BETA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BETA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BETA_Stream) < (0)) __PYX_ERR(3, 5236, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BETA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BETA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BETA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BETA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BETA_Stream, __pyx_vtabptr_5talib_7_ta_lib_BETA_Stream) < (0)) __PYX_ERR(3, 5236, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_BETA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BETA_Stream) < (0)) __PYX_ERR(3, 5236, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BETA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BETA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_BETA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_BOP_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_BOP_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_BOP_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_BOP_Stream = &__pyx_vtable_5talib_7_ta_lib_BOP_Stream; - __pyx_vtable_5talib_7_ta_lib_BOP_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_BOP_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10BOP_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_BOP_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10BOP_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BOP_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_BOP_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BOP_Stream)) __PYX_ERR(3, 5376, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BOP_Stream = &__pyx_type_5talib_7_ta_lib_BOP_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BOP_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BOP_Stream) < (0)) __PYX_ERR(3, 5376, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BOP_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BOP_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BOP_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BOP_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BOP_Stream, __pyx_vtabptr_5talib_7_ta_lib_BOP_Stream) < (0)) __PYX_ERR(3, 5376, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_BOP_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BOP_Stream) < (0)) __PYX_ERR(3, 5376, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BOP_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_BOP_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_BOP_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CCI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CCI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CCI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CCI_Stream = &__pyx_vtable_5talib_7_ta_lib_CCI_Stream; - __pyx_vtable_5talib_7_ta_lib_CCI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CCI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10CCI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CCI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10CCI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5517, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CCI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CCI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CCI_Stream)) __PYX_ERR(3, 5517, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CCI_Stream = &__pyx_type_5talib_7_ta_lib_CCI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CCI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CCI_Stream) < (0)) __PYX_ERR(3, 5517, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CCI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CCI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CCI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CCI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CCI_Stream, __pyx_vtabptr_5talib_7_ta_lib_CCI_Stream) < (0)) __PYX_ERR(3, 5517, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CCI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CCI_Stream) < (0)) __PYX_ERR(3, 5517, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CCI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CCI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CCI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDL2CROWS_Stream = &__pyx_vtable_5talib_7_ta_lib_CDL2CROWS_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL2CROWS_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL2CROWS_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_16CDL2CROWS_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDL2CROWS_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_16CDL2CROWS_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5658, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDL2CROWS_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream)) __PYX_ERR(3, 5658, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream = &__pyx_type_5talib_7_ta_lib_CDL2CROWS_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream) < (0)) __PYX_ERR(3, 5658, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDL2CROWS_Stream) < (0)) __PYX_ERR(3, 5658, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDL2CROWS_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream) < (0)) __PYX_ERR(3, 5658, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDL3BLACKCROWS_Stream = &__pyx_vtable_5talib_7_ta_lib_CDL3BLACKCROWS_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL3BLACKCROWS_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL3BLACKCROWS_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDL3BLACKCROWS_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5799, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDL3BLACKCROWS_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream)) __PYX_ERR(3, 5799, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream = &__pyx_type_5talib_7_ta_lib_CDL3BLACKCROWS_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream) < (0)) __PYX_ERR(3, 5799, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDL3BLACKCROWS_Stream) < (0)) __PYX_ERR(3, 5799, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDL3BLACKCROWS_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream) < (0)) __PYX_ERR(3, 5799, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDL3INSIDE_Stream = &__pyx_vtable_5talib_7_ta_lib_CDL3INSIDE_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL3INSIDE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL3INSIDE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_17CDL3INSIDE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDL3INSIDE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_17CDL3INSIDE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5940, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDL3INSIDE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream)) __PYX_ERR(3, 5940, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream = &__pyx_type_5talib_7_ta_lib_CDL3INSIDE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream) < (0)) __PYX_ERR(3, 5940, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDL3INSIDE_Stream) < (0)) __PYX_ERR(3, 5940, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDL3INSIDE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream) < (0)) __PYX_ERR(3, 5940, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDL3LINESTRIKE_Stream = &__pyx_vtable_5talib_7_ta_lib_CDL3LINESTRIKE_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL3LINESTRIKE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL3LINESTRIKE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDL3LINESTRIKE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6081, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDL3LINESTRIKE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream)) __PYX_ERR(3, 6081, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream = &__pyx_type_5talib_7_ta_lib_CDL3LINESTRIKE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream) < (0)) __PYX_ERR(3, 6081, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDL3LINESTRIKE_Stream) < (0)) __PYX_ERR(3, 6081, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDL3LINESTRIKE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream) < (0)) __PYX_ERR(3, 6081, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDL3OUTSIDE_Stream = &__pyx_vtable_5talib_7_ta_lib_CDL3OUTSIDE_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL3OUTSIDE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL3OUTSIDE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_18CDL3OUTSIDE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDL3OUTSIDE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_18CDL3OUTSIDE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDL3OUTSIDE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream)) __PYX_ERR(3, 6222, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream = &__pyx_type_5talib_7_ta_lib_CDL3OUTSIDE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream) < (0)) __PYX_ERR(3, 6222, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDL3OUTSIDE_Stream) < (0)) __PYX_ERR(3, 6222, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDL3OUTSIDE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream) < (0)) __PYX_ERR(3, 6222, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream = &__pyx_vtable_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6363, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream)) __PYX_ERR(3, 6363, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream = &__pyx_type_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream) < (0)) __PYX_ERR(3, 6363, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream) < (0)) __PYX_ERR(3, 6363, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDL3STARSINSOUTH_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream) < (0)) __PYX_ERR(3, 6363, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream = &__pyx_vtable_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6504, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream)) __PYX_ERR(3, 6504, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream = &__pyx_type_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream) < (0)) __PYX_ERR(3, 6504, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream) < (0)) __PYX_ERR(3, 6504, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDL3WHITESOLDIERS_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream) < (0)) __PYX_ERR(3, 6504, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLABANDONEDBABY_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLABANDONEDBABY_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLABANDONEDBABY_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLABANDONEDBABY_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLABANDONEDBABY_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLABANDONEDBABY_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream)) __PYX_ERR(3, 6645, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream = &__pyx_type_5talib_7_ta_lib_CDLABANDONEDBABY_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream) < (0)) __PYX_ERR(3, 6645, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLABANDONEDBABY_Stream) < (0)) __PYX_ERR(3, 6645, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLABANDONEDBABY_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream) < (0)) __PYX_ERR(3, 6645, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6788, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream)) __PYX_ERR(3, 6788, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream = &__pyx_type_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream) < (0)) __PYX_ERR(3, 6788, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream) < (0)) __PYX_ERR(3, 6788, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLADVANCEBLOCK_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream) < (0)) __PYX_ERR(3, 6788, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLBELTHOLD_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLBELTHOLD_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLBELTHOLD_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLBELTHOLD_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_18CDLBELTHOLD_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLBELTHOLD_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_18CDLBELTHOLD_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6929, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLBELTHOLD_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream)) __PYX_ERR(3, 6929, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream = &__pyx_type_5talib_7_ta_lib_CDLBELTHOLD_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream) < (0)) __PYX_ERR(3, 6929, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLBELTHOLD_Stream) < (0)) __PYX_ERR(3, 6929, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLBELTHOLD_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream) < (0)) __PYX_ERR(3, 6929, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLBREAKAWAY_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLBREAKAWAY_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLBREAKAWAY_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLBREAKAWAY_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_19CDLBREAKAWAY_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLBREAKAWAY_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_19CDLBREAKAWAY_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7070, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLBREAKAWAY_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream)) __PYX_ERR(3, 7070, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream = &__pyx_type_5talib_7_ta_lib_CDLBREAKAWAY_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream) < (0)) __PYX_ERR(3, 7070, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLBREAKAWAY_Stream) < (0)) __PYX_ERR(3, 7070, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLBREAKAWAY_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream) < (0)) __PYX_ERR(3, 7070, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream)) __PYX_ERR(3, 7211, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream = &__pyx_type_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream) < (0)) __PYX_ERR(3, 7211, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream) < (0)) __PYX_ERR(3, 7211, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLCLOSINGMARUBOZU_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream) < (0)) __PYX_ERR(3, 7211, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7352, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream)) __PYX_ERR(3, 7352, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream = &__pyx_type_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream) < (0)) __PYX_ERR(3, 7352, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream) < (0)) __PYX_ERR(3, 7352, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLCONCEALBABYSWALL_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream) < (0)) __PYX_ERR(3, 7352, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7493, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream)) __PYX_ERR(3, 7493, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream = &__pyx_type_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream) < (0)) __PYX_ERR(3, 7493, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream) < (0)) __PYX_ERR(3, 7493, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLCOUNTERATTACK_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream) < (0)) __PYX_ERR(3, 7493, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7634, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream)) __PYX_ERR(3, 7634, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream = &__pyx_type_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream) < (0)) __PYX_ERR(3, 7634, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream) < (0)) __PYX_ERR(3, 7634, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLDARKCLOUDCOVER_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream) < (0)) __PYX_ERR(3, 7634, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLDOJI_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLDOJI_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLDOJI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLDOJI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_14CDLDOJI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLDOJI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_14CDLDOJI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7777, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLDOJI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream)) __PYX_ERR(3, 7777, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream = &__pyx_type_5talib_7_ta_lib_CDLDOJI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream) < (0)) __PYX_ERR(3, 7777, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLDOJI_Stream) < (0)) __PYX_ERR(3, 7777, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLDOJI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream) < (0)) __PYX_ERR(3, 7777, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLDOJISTAR_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLDOJISTAR_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLDOJISTAR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLDOJISTAR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_18CDLDOJISTAR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLDOJISTAR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_18CDLDOJISTAR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7918, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLDOJISTAR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream)) __PYX_ERR(3, 7918, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream = &__pyx_type_5talib_7_ta_lib_CDLDOJISTAR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream) < (0)) __PYX_ERR(3, 7918, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLDOJISTAR_Stream) < (0)) __PYX_ERR(3, 7918, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLDOJISTAR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream) < (0)) __PYX_ERR(3, 7918, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8059, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream)) __PYX_ERR(3, 8059, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream = &__pyx_type_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream) < (0)) __PYX_ERR(3, 8059, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream) < (0)) __PYX_ERR(3, 8059, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLDRAGONFLYDOJI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream) < (0)) __PYX_ERR(3, 8059, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLENGULFING_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLENGULFING_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLENGULFING_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLENGULFING_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_19CDLENGULFING_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLENGULFING_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_19CDLENGULFING_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLENGULFING_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream)) __PYX_ERR(3, 8200, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream = &__pyx_type_5talib_7_ta_lib_CDLENGULFING_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream) < (0)) __PYX_ERR(3, 8200, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLENGULFING_Stream) < (0)) __PYX_ERR(3, 8200, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLENGULFING_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream) < (0)) __PYX_ERR(3, 8200, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8341, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream)) __PYX_ERR(3, 8341, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream = &__pyx_type_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream) < (0)) __PYX_ERR(3, 8341, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream) < (0)) __PYX_ERR(3, 8341, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLEVENINGDOJISTAR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream) < (0)) __PYX_ERR(3, 8341, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLEVENINGSTAR_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLEVENINGSTAR_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLEVENINGSTAR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLEVENINGSTAR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLEVENINGSTAR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8484, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLEVENINGSTAR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream)) __PYX_ERR(3, 8484, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream = &__pyx_type_5talib_7_ta_lib_CDLEVENINGSTAR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream) < (0)) __PYX_ERR(3, 8484, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLEVENINGSTAR_Stream) < (0)) __PYX_ERR(3, 8484, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLEVENINGSTAR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream) < (0)) __PYX_ERR(3, 8484, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8627, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream)) __PYX_ERR(3, 8627, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream = &__pyx_type_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream) < (0)) __PYX_ERR(3, 8627, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream) < (0)) __PYX_ERR(3, 8627, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLGAPSIDESIDEWHITE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream) < (0)) __PYX_ERR(3, 8627, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8768, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream)) __PYX_ERR(3, 8768, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream = &__pyx_type_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream) < (0)) __PYX_ERR(3, 8768, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream) < (0)) __PYX_ERR(3, 8768, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLGRAVESTONEDOJI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream) < (0)) __PYX_ERR(3, 8768, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLHAMMER_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLHAMMER_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHAMMER_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHAMMER_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_16CDLHAMMER_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLHAMMER_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_16CDLHAMMER_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8909, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLHAMMER_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream)) __PYX_ERR(3, 8909, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream = &__pyx_type_5talib_7_ta_lib_CDLHAMMER_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream) < (0)) __PYX_ERR(3, 8909, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLHAMMER_Stream) < (0)) __PYX_ERR(3, 8909, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLHAMMER_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream) < (0)) __PYX_ERR(3, 8909, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLHANGINGMAN_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLHANGINGMAN_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHANGINGMAN_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHANGINGMAN_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_20CDLHANGINGMAN_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLHANGINGMAN_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_20CDLHANGINGMAN_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9050, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLHANGINGMAN_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream)) __PYX_ERR(3, 9050, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream = &__pyx_type_5talib_7_ta_lib_CDLHANGINGMAN_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream) < (0)) __PYX_ERR(3, 9050, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLHANGINGMAN_Stream) < (0)) __PYX_ERR(3, 9050, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLHANGINGMAN_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream) < (0)) __PYX_ERR(3, 9050, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLHARAMI_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLHARAMI_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHARAMI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHARAMI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_16CDLHARAMI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLHARAMI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_16CDLHARAMI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLHARAMI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream)) __PYX_ERR(3, 9191, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream = &__pyx_type_5talib_7_ta_lib_CDLHARAMI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream) < (0)) __PYX_ERR(3, 9191, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLHARAMI_Stream) < (0)) __PYX_ERR(3, 9191, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLHARAMI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream) < (0)) __PYX_ERR(3, 9191, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLHARAMICROSS_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLHARAMICROSS_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHARAMICROSS_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHARAMICROSS_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_21CDLHARAMICROSS_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLHARAMICROSS_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_21CDLHARAMICROSS_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLHARAMICROSS_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream)) __PYX_ERR(3, 9332, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream = &__pyx_type_5talib_7_ta_lib_CDLHARAMICROSS_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream) < (0)) __PYX_ERR(3, 9332, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLHARAMICROSS_Stream) < (0)) __PYX_ERR(3, 9332, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLHARAMICROSS_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream) < (0)) __PYX_ERR(3, 9332, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLHIGHWAVE_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLHIGHWAVE_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHIGHWAVE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHIGHWAVE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_18CDLHIGHWAVE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLHIGHWAVE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_18CDLHIGHWAVE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9473, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLHIGHWAVE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream)) __PYX_ERR(3, 9473, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream = &__pyx_type_5talib_7_ta_lib_CDLHIGHWAVE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream) < (0)) __PYX_ERR(3, 9473, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLHIGHWAVE_Stream) < (0)) __PYX_ERR(3, 9473, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLHIGHWAVE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream) < (0)) __PYX_ERR(3, 9473, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLHIKKAKE_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLHIKKAKE_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHIKKAKE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHIKKAKE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_17CDLHIKKAKE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLHIKKAKE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_17CDLHIKKAKE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9614, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLHIKKAKE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream)) __PYX_ERR(3, 9614, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream = &__pyx_type_5talib_7_ta_lib_CDLHIKKAKE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream) < (0)) __PYX_ERR(3, 9614, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLHIKKAKE_Stream) < (0)) __PYX_ERR(3, 9614, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLHIKKAKE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream) < (0)) __PYX_ERR(3, 9614, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9755, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream)) __PYX_ERR(3, 9755, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream = &__pyx_type_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream) < (0)) __PYX_ERR(3, 9755, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream) < (0)) __PYX_ERR(3, 9755, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLHIKKAKEMOD_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream) < (0)) __PYX_ERR(3, 9755, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9896, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream)) __PYX_ERR(3, 9896, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream = &__pyx_type_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream) < (0)) __PYX_ERR(3, 9896, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream) < (0)) __PYX_ERR(3, 9896, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLHOMINGPIGEON_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream) < (0)) __PYX_ERR(3, 9896, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10037, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream)) __PYX_ERR(3, 10037, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream = &__pyx_type_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream) < (0)) __PYX_ERR(3, 10037, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream) < (0)) __PYX_ERR(3, 10037, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLIDENTICAL3CROWS_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream) < (0)) __PYX_ERR(3, 10037, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLINNECK_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLINNECK_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLINNECK_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLINNECK_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_16CDLINNECK_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLINNECK_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_16CDLINNECK_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLINNECK_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream)) __PYX_ERR(3, 10178, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream = &__pyx_type_5talib_7_ta_lib_CDLINNECK_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream) < (0)) __PYX_ERR(3, 10178, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLINNECK_Stream) < (0)) __PYX_ERR(3, 10178, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLINNECK_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream) < (0)) __PYX_ERR(3, 10178, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10319, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream)) __PYX_ERR(3, 10319, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream = &__pyx_type_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream) < (0)) __PYX_ERR(3, 10319, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream) < (0)) __PYX_ERR(3, 10319, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLINVERTEDHAMMER_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream) < (0)) __PYX_ERR(3, 10319, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLKICKING_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLKICKING_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLKICKING_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLKICKING_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_17CDLKICKING_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLKICKING_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_17CDLKICKING_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10460, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLKICKING_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream)) __PYX_ERR(3, 10460, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream = &__pyx_type_5talib_7_ta_lib_CDLKICKING_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream) < (0)) __PYX_ERR(3, 10460, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLKICKING_Stream) < (0)) __PYX_ERR(3, 10460, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLKICKING_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream) < (0)) __PYX_ERR(3, 10460, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream)) __PYX_ERR(3, 10601, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream = &__pyx_type_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream) < (0)) __PYX_ERR(3, 10601, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream) < (0)) __PYX_ERR(3, 10601, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLKICKINGBYLENGTH_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream) < (0)) __PYX_ERR(3, 10601, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10742, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream)) __PYX_ERR(3, 10742, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream = &__pyx_type_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream) < (0)) __PYX_ERR(3, 10742, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream) < (0)) __PYX_ERR(3, 10742, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLLADDERBOTTOM_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream) < (0)) __PYX_ERR(3, 10742, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 10883, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream)) __PYX_ERR(3, 10883, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream = &__pyx_type_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream) < (0)) __PYX_ERR(3, 10883, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream) < (0)) __PYX_ERR(3, 10883, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLLONGLEGGEDDOJI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream) < (0)) __PYX_ERR(3, 10883, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLLONGLINE_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLLONGLINE_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLLONGLINE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLLONGLINE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_18CDLLONGLINE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLLONGLINE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_18CDLLONGLINE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11024, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLLONGLINE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream)) __PYX_ERR(3, 11024, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream = &__pyx_type_5talib_7_ta_lib_CDLLONGLINE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream) < (0)) __PYX_ERR(3, 11024, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLLONGLINE_Stream) < (0)) __PYX_ERR(3, 11024, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLLONGLINE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream) < (0)) __PYX_ERR(3, 11024, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLMARUBOZU_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLMARUBOZU_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLMARUBOZU_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLMARUBOZU_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_18CDLMARUBOZU_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLMARUBOZU_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_18CDLMARUBOZU_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLMARUBOZU_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream)) __PYX_ERR(3, 11165, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream = &__pyx_type_5talib_7_ta_lib_CDLMARUBOZU_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream) < (0)) __PYX_ERR(3, 11165, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLMARUBOZU_Stream) < (0)) __PYX_ERR(3, 11165, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLMARUBOZU_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream) < (0)) __PYX_ERR(3, 11165, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLMATCHINGLOW_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLMATCHINGLOW_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLMATCHINGLOW_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLMATCHINGLOW_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLMATCHINGLOW_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11306, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLMATCHINGLOW_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream)) __PYX_ERR(3, 11306, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream = &__pyx_type_5talib_7_ta_lib_CDLMATCHINGLOW_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream) < (0)) __PYX_ERR(3, 11306, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLMATCHINGLOW_Stream) < (0)) __PYX_ERR(3, 11306, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLMATCHINGLOW_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream) < (0)) __PYX_ERR(3, 11306, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLMATHOLD_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLMATHOLD_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLMATHOLD_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLMATHOLD_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_17CDLMATHOLD_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLMATHOLD_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_17CDLMATHOLD_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLMATHOLD_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream)) __PYX_ERR(3, 11447, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream = &__pyx_type_5talib_7_ta_lib_CDLMATHOLD_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream) < (0)) __PYX_ERR(3, 11447, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLMATHOLD_Stream) < (0)) __PYX_ERR(3, 11447, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLMATHOLD_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream) < (0)) __PYX_ERR(3, 11447, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11590, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream)) __PYX_ERR(3, 11590, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream = &__pyx_type_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream) < (0)) __PYX_ERR(3, 11590, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream) < (0)) __PYX_ERR(3, 11590, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLMORNINGDOJISTAR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream) < (0)) __PYX_ERR(3, 11590, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLMORNINGSTAR_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLMORNINGSTAR_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLMORNINGSTAR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLMORNINGSTAR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLMORNINGSTAR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11733, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLMORNINGSTAR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream)) __PYX_ERR(3, 11733, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream = &__pyx_type_5talib_7_ta_lib_CDLMORNINGSTAR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream) < (0)) __PYX_ERR(3, 11733, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLMORNINGSTAR_Stream) < (0)) __PYX_ERR(3, 11733, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLMORNINGSTAR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream) < (0)) __PYX_ERR(3, 11733, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLONNECK_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLONNECK_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLONNECK_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLONNECK_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_16CDLONNECK_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLONNECK_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_16CDLONNECK_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11876, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLONNECK_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream)) __PYX_ERR(3, 11876, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream = &__pyx_type_5talib_7_ta_lib_CDLONNECK_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream) < (0)) __PYX_ERR(3, 11876, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLONNECK_Stream) < (0)) __PYX_ERR(3, 11876, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLONNECK_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream) < (0)) __PYX_ERR(3, 11876, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLPIERCING_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLPIERCING_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLPIERCING_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLPIERCING_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_18CDLPIERCING_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLPIERCING_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_18CDLPIERCING_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12017, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLPIERCING_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream)) __PYX_ERR(3, 12017, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream = &__pyx_type_5talib_7_ta_lib_CDLPIERCING_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream) < (0)) __PYX_ERR(3, 12017, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLPIERCING_Stream) < (0)) __PYX_ERR(3, 12017, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLPIERCING_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream) < (0)) __PYX_ERR(3, 12017, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream)) __PYX_ERR(3, 12158, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream = &__pyx_type_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream) < (0)) __PYX_ERR(3, 12158, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream) < (0)) __PYX_ERR(3, 12158, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLRICKSHAWMAN_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream) < (0)) __PYX_ERR(3, 12158, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12299, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream)) __PYX_ERR(3, 12299, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream = &__pyx_type_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream) < (0)) __PYX_ERR(3, 12299, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream) < (0)) __PYX_ERR(3, 12299, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLRISEFALL3METHODS_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream) < (0)) __PYX_ERR(3, 12299, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12440, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream)) __PYX_ERR(3, 12440, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream = &__pyx_type_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream) < (0)) __PYX_ERR(3, 12440, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream) < (0)) __PYX_ERR(3, 12440, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLSEPARATINGLINES_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream) < (0)) __PYX_ERR(3, 12440, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12581, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream)) __PYX_ERR(3, 12581, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream = &__pyx_type_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream) < (0)) __PYX_ERR(3, 12581, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream) < (0)) __PYX_ERR(3, 12581, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLSHOOTINGSTAR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream) < (0)) __PYX_ERR(3, 12581, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLSHORTLINE_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLSHORTLINE_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLSHORTLINE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLSHORTLINE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_19CDLSHORTLINE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLSHORTLINE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_19CDLSHORTLINE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12722, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLSHORTLINE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream)) __PYX_ERR(3, 12722, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream = &__pyx_type_5talib_7_ta_lib_CDLSHORTLINE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream) < (0)) __PYX_ERR(3, 12722, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLSHORTLINE_Stream) < (0)) __PYX_ERR(3, 12722, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLSHORTLINE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream) < (0)) __PYX_ERR(3, 12722, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLSPINNINGTOP_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLSPINNINGTOP_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLSPINNINGTOP_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLSPINNINGTOP_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLSPINNINGTOP_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12863, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLSPINNINGTOP_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream)) __PYX_ERR(3, 12863, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream = &__pyx_type_5talib_7_ta_lib_CDLSPINNINGTOP_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream) < (0)) __PYX_ERR(3, 12863, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLSPINNINGTOP_Stream) < (0)) __PYX_ERR(3, 12863, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLSPINNINGTOP_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream) < (0)) __PYX_ERR(3, 12863, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13004, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream)) __PYX_ERR(3, 13004, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream = &__pyx_type_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream) < (0)) __PYX_ERR(3, 13004, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream) < (0)) __PYX_ERR(3, 13004, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLSTALLEDPATTERN_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream) < (0)) __PYX_ERR(3, 13004, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13145, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream)) __PYX_ERR(3, 13145, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream = &__pyx_type_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream) < (0)) __PYX_ERR(3, 13145, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream) < (0)) __PYX_ERR(3, 13145, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLSTICKSANDWICH_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream) < (0)) __PYX_ERR(3, 13145, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLTAKURI_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLTAKURI_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLTAKURI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLTAKURI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_16CDLTAKURI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLTAKURI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_16CDLTAKURI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13286, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLTAKURI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream)) __PYX_ERR(3, 13286, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream = &__pyx_type_5talib_7_ta_lib_CDLTAKURI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream) < (0)) __PYX_ERR(3, 13286, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLTAKURI_Stream) < (0)) __PYX_ERR(3, 13286, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLTAKURI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream) < (0)) __PYX_ERR(3, 13286, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLTASUKIGAP_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLTASUKIGAP_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLTASUKIGAP_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLTASUKIGAP_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_19CDLTASUKIGAP_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLTASUKIGAP_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_19CDLTASUKIGAP_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13427, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLTASUKIGAP_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream)) __PYX_ERR(3, 13427, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream = &__pyx_type_5talib_7_ta_lib_CDLTASUKIGAP_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream) < (0)) __PYX_ERR(3, 13427, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLTASUKIGAP_Stream) < (0)) __PYX_ERR(3, 13427, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLTASUKIGAP_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream) < (0)) __PYX_ERR(3, 13427, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLTHRUSTING_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLTHRUSTING_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLTHRUSTING_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLTHRUSTING_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_19CDLTHRUSTING_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLTHRUSTING_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_19CDLTHRUSTING_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13568, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLTHRUSTING_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream)) __PYX_ERR(3, 13568, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream = &__pyx_type_5talib_7_ta_lib_CDLTHRUSTING_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream) < (0)) __PYX_ERR(3, 13568, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLTHRUSTING_Stream) < (0)) __PYX_ERR(3, 13568, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLTHRUSTING_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream) < (0)) __PYX_ERR(3, 13568, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLTRISTAR_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLTRISTAR_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLTRISTAR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLTRISTAR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_17CDLTRISTAR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLTRISTAR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_17CDLTRISTAR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13709, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLTRISTAR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream)) __PYX_ERR(3, 13709, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream = &__pyx_type_5talib_7_ta_lib_CDLTRISTAR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream) < (0)) __PYX_ERR(3, 13709, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLTRISTAR_Stream) < (0)) __PYX_ERR(3, 13709, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLTRISTAR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream) < (0)) __PYX_ERR(3, 13709, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13850, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream)) __PYX_ERR(3, 13850, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream = &__pyx_type_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream) < (0)) __PYX_ERR(3, 13850, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream) < (0)) __PYX_ERR(3, 13850, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLUNIQUE3RIVER_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream) < (0)) __PYX_ERR(3, 13850, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 13991, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream)) __PYX_ERR(3, 13991, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream = &__pyx_type_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream) < (0)) __PYX_ERR(3, 13991, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream) < (0)) __PYX_ERR(3, 13991, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLUPSIDEGAP2CROWS_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream) < (0)) __PYX_ERR(3, 13991, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream = &__pyx_vtable_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream)) __PYX_ERR(3, 14132, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream = &__pyx_type_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream) < (0)) __PYX_ERR(3, 14132, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream, __pyx_vtabptr_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream) < (0)) __PYX_ERR(3, 14132, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CDLXSIDEGAP3METHODS_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream) < (0)) __PYX_ERR(3, 14132, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CEIL_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CEIL_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CEIL_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CEIL_Stream = &__pyx_vtable_5talib_7_ta_lib_CEIL_Stream; - __pyx_vtable_5talib_7_ta_lib_CEIL_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CEIL_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11CEIL_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CEIL_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11CEIL_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14273, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CEIL_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream)) __PYX_ERR(3, 14273, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream = &__pyx_type_5talib_7_ta_lib_CEIL_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream) < (0)) __PYX_ERR(3, 14273, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream, __pyx_vtabptr_5talib_7_ta_lib_CEIL_Stream) < (0)) __PYX_ERR(3, 14273, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CEIL_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream) < (0)) __PYX_ERR(3, 14273, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CEIL_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CMF_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CMF_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CMF_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CMF_Stream = &__pyx_vtable_5talib_7_ta_lib_CMF_Stream; - __pyx_vtable_5talib_7_ta_lib_CMF_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CMF_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10CMF_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CMF_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10CMF_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMF_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CMF_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMF_Stream)) __PYX_ERR(3, 14408, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMF_Stream = &__pyx_type_5talib_7_ta_lib_CMF_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMF_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMF_Stream) < (0)) __PYX_ERR(3, 14408, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMF_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMF_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMF_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMF_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMF_Stream, __pyx_vtabptr_5talib_7_ta_lib_CMF_Stream) < (0)) __PYX_ERR(3, 14408, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CMF_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMF_Stream) < (0)) __PYX_ERR(3, 14408, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMF_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMF_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CMF_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CMO_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CMO_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CMO_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CMO_Stream = &__pyx_vtable_5talib_7_ta_lib_CMO_Stream; - __pyx_vtable_5talib_7_ta_lib_CMO_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CMO_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10CMO_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CMO_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10CMO_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14551, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMO_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CMO_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMO_Stream)) __PYX_ERR(3, 14551, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMO_Stream = &__pyx_type_5talib_7_ta_lib_CMO_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMO_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMO_Stream) < (0)) __PYX_ERR(3, 14551, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMO_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMO_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMO_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMO_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMO_Stream, __pyx_vtabptr_5talib_7_ta_lib_CMO_Stream) < (0)) __PYX_ERR(3, 14551, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CMO_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMO_Stream) < (0)) __PYX_ERR(3, 14551, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMO_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMO_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CMO_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CMOU_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CMOU_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CMOU_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CMOU_Stream = &__pyx_vtable_5talib_7_ta_lib_CMOU_Stream; - __pyx_vtable_5talib_7_ta_lib_CMOU_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CMOU_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11CMOU_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CMOU_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11CMOU_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14688, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CMOU_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream)) __PYX_ERR(3, 14688, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream = &__pyx_type_5talib_7_ta_lib_CMOU_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream) < (0)) __PYX_ERR(3, 14688, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream, __pyx_vtabptr_5talib_7_ta_lib_CMOU_Stream) < (0)) __PYX_ERR(3, 14688, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CMOU_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream) < (0)) __PYX_ERR(3, 14688, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CMOU_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_COPPOCK_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_COPPOCK_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_COPPOCK_Stream = &__pyx_vtable_5talib_7_ta_lib_COPPOCK_Stream; - __pyx_vtable_5talib_7_ta_lib_COPPOCK_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_COPPOCK_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_14COPPOCK_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_COPPOCK_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_14COPPOCK_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14825, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_COPPOCK_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream)) __PYX_ERR(3, 14825, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream = &__pyx_type_5talib_7_ta_lib_COPPOCK_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream) < (0)) __PYX_ERR(3, 14825, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream, __pyx_vtabptr_5talib_7_ta_lib_COPPOCK_Stream) < (0)) __PYX_ERR(3, 14825, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_COPPOCK_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream) < (0)) __PYX_ERR(3, 14825, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_COPPOCK_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CORREL_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CORREL_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CORREL_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CORREL_Stream = &__pyx_vtable_5talib_7_ta_lib_CORREL_Stream; - __pyx_vtable_5talib_7_ta_lib_CORREL_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CORREL_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_13CORREL_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CORREL_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_13CORREL_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 14964, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CORREL_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream)) __PYX_ERR(3, 14964, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream = &__pyx_type_5talib_7_ta_lib_CORREL_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream) < (0)) __PYX_ERR(3, 14964, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream, __pyx_vtabptr_5talib_7_ta_lib_CORREL_Stream) < (0)) __PYX_ERR(3, 14964, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CORREL_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream) < (0)) __PYX_ERR(3, 14964, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CORREL_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_COS_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_COS_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_COS_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_COS_Stream = &__pyx_vtable_5talib_7_ta_lib_COS_Stream; - __pyx_vtable_5talib_7_ta_lib_COS_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_COS_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10COS_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_COS_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10COS_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COS_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_COS_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COS_Stream)) __PYX_ERR(3, 15104, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COS_Stream = &__pyx_type_5talib_7_ta_lib_COS_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COS_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COS_Stream) < (0)) __PYX_ERR(3, 15104, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COS_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COS_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COS_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COS_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COS_Stream, __pyx_vtabptr_5talib_7_ta_lib_COS_Stream) < (0)) __PYX_ERR(3, 15104, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_COS_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COS_Stream) < (0)) __PYX_ERR(3, 15104, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COS_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COS_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_COS_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_COSH_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_COSH_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_COSH_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_COSH_Stream = &__pyx_vtable_5talib_7_ta_lib_COSH_Stream; - __pyx_vtable_5talib_7_ta_lib_COSH_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_COSH_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11COSH_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_COSH_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11COSH_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15239, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COSH_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_COSH_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COSH_Stream)) __PYX_ERR(3, 15239, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COSH_Stream = &__pyx_type_5talib_7_ta_lib_COSH_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COSH_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COSH_Stream) < (0)) __PYX_ERR(3, 15239, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COSH_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COSH_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COSH_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COSH_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COSH_Stream, __pyx_vtabptr_5talib_7_ta_lib_COSH_Stream) < (0)) __PYX_ERR(3, 15239, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_COSH_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COSH_Stream) < (0)) __PYX_ERR(3, 15239, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COSH_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_COSH_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_COSH_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CUMSUM_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CUMSUM_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CUMSUM_Stream = &__pyx_vtable_5talib_7_ta_lib_CUMSUM_Stream; - __pyx_vtable_5talib_7_ta_lib_CUMSUM_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CUMSUM_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_13CUMSUM_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CUMSUM_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_13CUMSUM_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CUMSUM_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream)) __PYX_ERR(3, 15374, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream = &__pyx_type_5talib_7_ta_lib_CUMSUM_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream) < (0)) __PYX_ERR(3, 15374, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream, __pyx_vtabptr_5talib_7_ta_lib_CUMSUM_Stream) < (0)) __PYX_ERR(3, 15374, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUMSUM_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream) < (0)) __PYX_ERR(3, 15374, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CUMSUM_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CVI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CVI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_CVI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_CVI_Stream = &__pyx_vtable_5talib_7_ta_lib_CVI_Stream; - __pyx_vtable_5talib_7_ta_lib_CVI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_CVI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10CVI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_CVI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10CVI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15509, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CVI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_CVI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CVI_Stream)) __PYX_ERR(3, 15509, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CVI_Stream = &__pyx_type_5talib_7_ta_lib_CVI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CVI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CVI_Stream) < (0)) __PYX_ERR(3, 15509, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CVI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CVI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CVI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CVI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CVI_Stream, __pyx_vtabptr_5talib_7_ta_lib_CVI_Stream) < (0)) __PYX_ERR(3, 15509, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CVI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CVI_Stream) < (0)) __PYX_ERR(3, 15509, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CVI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_CVI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_CVI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DEMA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DEMA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_DEMA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_DEMA_Stream = &__pyx_vtable_5talib_7_ta_lib_DEMA_Stream; - __pyx_vtable_5talib_7_ta_lib_DEMA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_DEMA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11DEMA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_DEMA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11DEMA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15649, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_DEMA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream)) __PYX_ERR(3, 15649, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream = &__pyx_type_5talib_7_ta_lib_DEMA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream) < (0)) __PYX_ERR(3, 15649, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream, __pyx_vtabptr_5talib_7_ta_lib_DEMA_Stream) < (0)) __PYX_ERR(3, 15649, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_DEMA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream) < (0)) __PYX_ERR(3, 15649, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_DEMA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DIV_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DIV_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_DIV_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_DIV_Stream = &__pyx_vtable_5talib_7_ta_lib_DIV_Stream; - __pyx_vtable_5talib_7_ta_lib_DIV_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_DIV_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10DIV_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_DIV_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10DIV_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15786, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DIV_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_DIV_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DIV_Stream)) __PYX_ERR(3, 15786, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DIV_Stream = &__pyx_type_5talib_7_ta_lib_DIV_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DIV_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DIV_Stream) < (0)) __PYX_ERR(3, 15786, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DIV_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DIV_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DIV_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DIV_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DIV_Stream, __pyx_vtabptr_5talib_7_ta_lib_DIV_Stream) < (0)) __PYX_ERR(3, 15786, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_DIV_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DIV_Stream) < (0)) __PYX_ERR(3, 15786, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DIV_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DIV_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_DIV_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_DONCHIAN_Stream = &__pyx_vtable_5talib_7_ta_lib_DONCHIAN_Stream; - __pyx_vtable_5talib_7_ta_lib_DONCHIAN_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_DONCHIAN_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15DONCHIAN_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_DONCHIAN_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15DONCHIAN_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15924, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_DONCHIAN_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream)) __PYX_ERR(3, 15924, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream = &__pyx_type_5talib_7_ta_lib_DONCHIAN_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream) < (0)) __PYX_ERR(3, 15924, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream, __pyx_vtabptr_5talib_7_ta_lib_DONCHIAN_Stream) < (0)) __PYX_ERR(3, 15924, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_DONCHIAN_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream) < (0)) __PYX_ERR(3, 15924, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DPO_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DPO_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_DPO_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_DPO_Stream = &__pyx_vtable_5talib_7_ta_lib_DPO_Stream; - __pyx_vtable_5talib_7_ta_lib_DPO_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_DPO_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10DPO_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_DPO_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10DPO_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16077, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DPO_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_DPO_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DPO_Stream)) __PYX_ERR(3, 16077, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DPO_Stream = &__pyx_type_5talib_7_ta_lib_DPO_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DPO_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DPO_Stream) < (0)) __PYX_ERR(3, 16077, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DPO_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DPO_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DPO_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DPO_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DPO_Stream, __pyx_vtabptr_5talib_7_ta_lib_DPO_Stream) < (0)) __PYX_ERR(3, 16077, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_DPO_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DPO_Stream) < (0)) __PYX_ERR(3, 16077, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DPO_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DPO_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_DPO_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DX_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DX_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_DX_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_DX_Stream = &__pyx_vtable_5talib_7_ta_lib_DX_Stream; - __pyx_vtable_5talib_7_ta_lib_DX_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_DX_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_9DX_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_DX_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_9DX_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DX_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_DX_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DX_Stream)) __PYX_ERR(3, 16214, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DX_Stream = &__pyx_type_5talib_7_ta_lib_DX_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DX_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DX_Stream) < (0)) __PYX_ERR(3, 16214, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DX_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DX_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DX_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DX_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DX_Stream, __pyx_vtabptr_5talib_7_ta_lib_DX_Stream) < (0)) __PYX_ERR(3, 16214, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_DX_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DX_Stream) < (0)) __PYX_ERR(3, 16214, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DX_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_DX_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_DX_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_EFI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_EFI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_EFI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_EFI_Stream = &__pyx_vtable_5talib_7_ta_lib_EFI_Stream; - __pyx_vtable_5talib_7_ta_lib_EFI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_EFI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10EFI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_EFI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10EFI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16355, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EFI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_EFI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EFI_Stream)) __PYX_ERR(3, 16355, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EFI_Stream = &__pyx_type_5talib_7_ta_lib_EFI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EFI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EFI_Stream) < (0)) __PYX_ERR(3, 16355, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EFI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EFI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EFI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EFI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EFI_Stream, __pyx_vtabptr_5talib_7_ta_lib_EFI_Stream) < (0)) __PYX_ERR(3, 16355, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_EFI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EFI_Stream) < (0)) __PYX_ERR(3, 16355, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EFI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EFI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_EFI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_EMA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_EMA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_EMA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_EMA_Stream = &__pyx_vtable_5talib_7_ta_lib_EMA_Stream; - __pyx_vtable_5talib_7_ta_lib_EMA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_EMA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10EMA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_EMA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10EMA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16494, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EMA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_EMA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EMA_Stream)) __PYX_ERR(3, 16494, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EMA_Stream = &__pyx_type_5talib_7_ta_lib_EMA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EMA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EMA_Stream) < (0)) __PYX_ERR(3, 16494, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EMA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EMA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EMA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EMA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EMA_Stream, __pyx_vtabptr_5talib_7_ta_lib_EMA_Stream) < (0)) __PYX_ERR(3, 16494, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_EMA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EMA_Stream) < (0)) __PYX_ERR(3, 16494, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EMA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EMA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_EMA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ER_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ER_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ER_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ER_Stream = &__pyx_vtable_5talib_7_ta_lib_ER_Stream; - __pyx_vtable_5talib_7_ta_lib_ER_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ER_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_9ER_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ER_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_9ER_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16631, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ER_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ER_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ER_Stream)) __PYX_ERR(3, 16631, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ER_Stream = &__pyx_type_5talib_7_ta_lib_ER_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ER_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ER_Stream) < (0)) __PYX_ERR(3, 16631, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ER_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ER_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ER_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ER_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ER_Stream, __pyx_vtabptr_5talib_7_ta_lib_ER_Stream) < (0)) __PYX_ERR(3, 16631, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ER_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ER_Stream) < (0)) __PYX_ERR(3, 16631, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ER_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ER_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ER_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ERI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ERI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ERI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ERI_Stream = &__pyx_vtable_5talib_7_ta_lib_ERI_Stream; - __pyx_vtable_5talib_7_ta_lib_ERI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ERI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10ERI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ERI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10ERI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16768, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ERI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ERI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ERI_Stream)) __PYX_ERR(3, 16768, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ERI_Stream = &__pyx_type_5talib_7_ta_lib_ERI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ERI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ERI_Stream) < (0)) __PYX_ERR(3, 16768, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ERI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ERI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ERI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ERI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ERI_Stream, __pyx_vtabptr_5talib_7_ta_lib_ERI_Stream) < (0)) __PYX_ERR(3, 16768, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ERI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ERI_Stream) < (0)) __PYX_ERR(3, 16768, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ERI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ERI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ERI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_EXP_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_EXP_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_EXP_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_EXP_Stream = &__pyx_vtable_5talib_7_ta_lib_EXP_Stream; - __pyx_vtable_5talib_7_ta_lib_EXP_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_EXP_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10EXP_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_EXP_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10EXP_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 16916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EXP_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_EXP_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EXP_Stream)) __PYX_ERR(3, 16916, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EXP_Stream = &__pyx_type_5talib_7_ta_lib_EXP_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EXP_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EXP_Stream) < (0)) __PYX_ERR(3, 16916, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EXP_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EXP_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EXP_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EXP_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EXP_Stream, __pyx_vtabptr_5talib_7_ta_lib_EXP_Stream) < (0)) __PYX_ERR(3, 16916, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_EXP_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EXP_Stream) < (0)) __PYX_ERR(3, 16916, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EXP_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_EXP_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_EXP_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_FLOOR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_FLOOR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_FLOOR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_FLOOR_Stream = &__pyx_vtable_5talib_7_ta_lib_FLOOR_Stream; - __pyx_vtable_5talib_7_ta_lib_FLOOR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_FLOOR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_12FLOOR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_FLOOR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_12FLOOR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17051, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_FLOOR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream)) __PYX_ERR(3, 17051, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream = &__pyx_type_5talib_7_ta_lib_FLOOR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream) < (0)) __PYX_ERR(3, 17051, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream, __pyx_vtabptr_5talib_7_ta_lib_FLOOR_Stream) < (0)) __PYX_ERR(3, 17051, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_FLOOR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream) < (0)) __PYX_ERR(3, 17051, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_FLOOR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_FOSC_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_FOSC_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_FOSC_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_FOSC_Stream = &__pyx_vtable_5talib_7_ta_lib_FOSC_Stream; - __pyx_vtable_5talib_7_ta_lib_FOSC_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_FOSC_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11FOSC_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_FOSC_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11FOSC_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_FOSC_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream)) __PYX_ERR(3, 17186, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream = &__pyx_type_5talib_7_ta_lib_FOSC_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream) < (0)) __PYX_ERR(3, 17186, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream, __pyx_vtabptr_5talib_7_ta_lib_FOSC_Stream) < (0)) __PYX_ERR(3, 17186, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_FOSC_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream) < (0)) __PYX_ERR(3, 17186, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_FOSC_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_FRACTAL_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_FRACTAL_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_FRACTAL_Stream = &__pyx_vtable_5talib_7_ta_lib_FRACTAL_Stream; - __pyx_vtable_5talib_7_ta_lib_FRACTAL_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_FRACTAL_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_14FRACTAL_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_FRACTAL_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_14FRACTAL_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17323, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_FRACTAL_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream)) __PYX_ERR(3, 17323, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream = &__pyx_type_5talib_7_ta_lib_FRACTAL_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream) < (0)) __PYX_ERR(3, 17323, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream, __pyx_vtabptr_5talib_7_ta_lib_FRACTAL_Stream) < (0)) __PYX_ERR(3, 17323, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_FRACTAL_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream) < (0)) __PYX_ERR(3, 17323, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_FRACTAL_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_HA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_HA_Stream = &__pyx_vtable_5talib_7_ta_lib_HA_Stream; - __pyx_vtable_5talib_7_ta_lib_HA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_HA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_9HA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_HA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_9HA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17470, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_HA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HA_Stream)) __PYX_ERR(3, 17470, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HA_Stream = &__pyx_type_5talib_7_ta_lib_HA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HA_Stream) < (0)) __PYX_ERR(3, 17470, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HA_Stream, __pyx_vtabptr_5talib_7_ta_lib_HA_Stream) < (0)) __PYX_ERR(3, 17470, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HA_Stream) < (0)) __PYX_ERR(3, 17470, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_HA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HMA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HMA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_HMA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_HMA_Stream = &__pyx_vtable_5talib_7_ta_lib_HMA_Stream; - __pyx_vtable_5talib_7_ta_lib_HMA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_HMA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10HMA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_HMA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10HMA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17632, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HMA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_HMA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HMA_Stream)) __PYX_ERR(3, 17632, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HMA_Stream = &__pyx_type_5talib_7_ta_lib_HMA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HMA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HMA_Stream) < (0)) __PYX_ERR(3, 17632, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HMA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HMA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HMA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HMA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HMA_Stream, __pyx_vtabptr_5talib_7_ta_lib_HMA_Stream) < (0)) __PYX_ERR(3, 17632, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HMA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HMA_Stream) < (0)) __PYX_ERR(3, 17632, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HMA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HMA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_HMA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_HT_DCPERIOD_Stream = &__pyx_vtable_5talib_7_ta_lib_HT_DCPERIOD_Stream; - __pyx_vtable_5talib_7_ta_lib_HT_DCPERIOD_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_HT_DCPERIOD_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_18HT_DCPERIOD_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_HT_DCPERIOD_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_18HT_DCPERIOD_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17769, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_HT_DCPERIOD_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream)) __PYX_ERR(3, 17769, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream = &__pyx_type_5talib_7_ta_lib_HT_DCPERIOD_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream) < (0)) __PYX_ERR(3, 17769, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream, __pyx_vtabptr_5talib_7_ta_lib_HT_DCPERIOD_Stream) < (0)) __PYX_ERR(3, 17769, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HT_DCPERIOD_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream) < (0)) __PYX_ERR(3, 17769, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_HT_DCPHASE_Stream = &__pyx_vtable_5talib_7_ta_lib_HT_DCPHASE_Stream; - __pyx_vtable_5talib_7_ta_lib_HT_DCPHASE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_HT_DCPHASE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_17HT_DCPHASE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_HT_DCPHASE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_17HT_DCPHASE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17904, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_HT_DCPHASE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream)) __PYX_ERR(3, 17904, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream = &__pyx_type_5talib_7_ta_lib_HT_DCPHASE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream) < (0)) __PYX_ERR(3, 17904, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream, __pyx_vtabptr_5talib_7_ta_lib_HT_DCPHASE_Stream) < (0)) __PYX_ERR(3, 17904, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HT_DCPHASE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream) < (0)) __PYX_ERR(3, 17904, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_HT_PHASOR_Stream = &__pyx_vtable_5talib_7_ta_lib_HT_PHASOR_Stream; - __pyx_vtable_5talib_7_ta_lib_HT_PHASOR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_HT_PHASOR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_16HT_PHASOR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_HT_PHASOR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_16HT_PHASOR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18039, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_HT_PHASOR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream)) __PYX_ERR(3, 18039, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream = &__pyx_type_5talib_7_ta_lib_HT_PHASOR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream) < (0)) __PYX_ERR(3, 18039, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream, __pyx_vtabptr_5talib_7_ta_lib_HT_PHASOR_Stream) < (0)) __PYX_ERR(3, 18039, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HT_PHASOR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream) < (0)) __PYX_ERR(3, 18039, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_SINE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_SINE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_HT_SINE_Stream = &__pyx_vtable_5talib_7_ta_lib_HT_SINE_Stream; - __pyx_vtable_5talib_7_ta_lib_HT_SINE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_HT_SINE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_14HT_SINE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_HT_SINE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_14HT_SINE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_HT_SINE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream)) __PYX_ERR(3, 18181, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream = &__pyx_type_5talib_7_ta_lib_HT_SINE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream) < (0)) __PYX_ERR(3, 18181, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream, __pyx_vtabptr_5talib_7_ta_lib_HT_SINE_Stream) < (0)) __PYX_ERR(3, 18181, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HT_SINE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream) < (0)) __PYX_ERR(3, 18181, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_HT_SINE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_HT_TRENDLINE_Stream = &__pyx_vtable_5talib_7_ta_lib_HT_TRENDLINE_Stream; - __pyx_vtable_5talib_7_ta_lib_HT_TRENDLINE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_HT_TRENDLINE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_19HT_TRENDLINE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_HT_TRENDLINE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_19HT_TRENDLINE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18323, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_HT_TRENDLINE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream)) __PYX_ERR(3, 18323, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream = &__pyx_type_5talib_7_ta_lib_HT_TRENDLINE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream) < (0)) __PYX_ERR(3, 18323, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream, __pyx_vtabptr_5talib_7_ta_lib_HT_TRENDLINE_Stream) < (0)) __PYX_ERR(3, 18323, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HT_TRENDLINE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream) < (0)) __PYX_ERR(3, 18323, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_HT_TRENDMODE_Stream = &__pyx_vtable_5talib_7_ta_lib_HT_TRENDMODE_Stream; - __pyx_vtable_5talib_7_ta_lib_HT_TRENDMODE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_HT_TRENDMODE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_19HT_TRENDMODE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_HT_TRENDMODE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_19HT_TRENDMODE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_HT_TRENDMODE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream)) __PYX_ERR(3, 18458, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream = &__pyx_type_5talib_7_ta_lib_HT_TRENDMODE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream) < (0)) __PYX_ERR(3, 18458, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream, __pyx_vtabptr_5talib_7_ta_lib_HT_TRENDMODE_Stream) < (0)) __PYX_ERR(3, 18458, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HT_TRENDMODE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream) < (0)) __PYX_ERR(3, 18458, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_IMI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_IMI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_IMI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_IMI_Stream = &__pyx_vtable_5talib_7_ta_lib_IMI_Stream; - __pyx_vtable_5talib_7_ta_lib_IMI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_IMI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10IMI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_IMI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10IMI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18593, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_IMI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_IMI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_IMI_Stream)) __PYX_ERR(3, 18593, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_IMI_Stream = &__pyx_type_5talib_7_ta_lib_IMI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_IMI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_IMI_Stream) < (0)) __PYX_ERR(3, 18593, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_IMI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_IMI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_IMI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_IMI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_IMI_Stream, __pyx_vtabptr_5talib_7_ta_lib_IMI_Stream) < (0)) __PYX_ERR(3, 18593, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_IMI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_IMI_Stream) < (0)) __PYX_ERR(3, 18593, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_IMI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_IMI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_IMI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_KAMA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_KAMA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_KAMA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_KAMA_Stream = &__pyx_vtable_5talib_7_ta_lib_KAMA_Stream; - __pyx_vtable_5talib_7_ta_lib_KAMA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_KAMA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11KAMA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_KAMA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11KAMA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18732, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_KAMA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream)) __PYX_ERR(3, 18732, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream = &__pyx_type_5talib_7_ta_lib_KAMA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream) < (0)) __PYX_ERR(3, 18732, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream, __pyx_vtabptr_5talib_7_ta_lib_KAMA_Stream) < (0)) __PYX_ERR(3, 18732, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_KAMA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream) < (0)) __PYX_ERR(3, 18732, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_KAMA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_KC_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_KC_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_KC_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_KC_Stream = &__pyx_vtable_5talib_7_ta_lib_KC_Stream; - __pyx_vtable_5talib_7_ta_lib_KC_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_KC_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_9KC_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_KC_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_9KC_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18869, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KC_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_KC_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KC_Stream)) __PYX_ERR(3, 18869, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KC_Stream = &__pyx_type_5talib_7_ta_lib_KC_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KC_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KC_Stream) < (0)) __PYX_ERR(3, 18869, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KC_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KC_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KC_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KC_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KC_Stream, __pyx_vtabptr_5talib_7_ta_lib_KC_Stream) < (0)) __PYX_ERR(3, 18869, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_KC_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KC_Stream) < (0)) __PYX_ERR(3, 18869, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KC_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KC_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_KC_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_KDJ_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_KDJ_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_KDJ_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_KDJ_Stream = &__pyx_vtable_5talib_7_ta_lib_KDJ_Stream; - __pyx_vtable_5talib_7_ta_lib_KDJ_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_KDJ_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10KDJ_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_KDJ_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10KDJ_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19026, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_KDJ_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream)) __PYX_ERR(3, 19026, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream = &__pyx_type_5talib_7_ta_lib_KDJ_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream) < (0)) __PYX_ERR(3, 19026, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream, __pyx_vtabptr_5talib_7_ta_lib_KDJ_Stream) < (0)) __PYX_ERR(3, 19026, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_KDJ_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream) < (0)) __PYX_ERR(3, 19026, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_KDJ_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_LINEARREG_Stream = &__pyx_vtable_5talib_7_ta_lib_LINEARREG_Stream; - __pyx_vtable_5talib_7_ta_lib_LINEARREG_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_LINEARREG_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_16LINEARREG_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_LINEARREG_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_16LINEARREG_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_LINEARREG_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream)) __PYX_ERR(3, 19185, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream = &__pyx_type_5talib_7_ta_lib_LINEARREG_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream) < (0)) __PYX_ERR(3, 19185, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream, __pyx_vtabptr_5talib_7_ta_lib_LINEARREG_Stream) < (0)) __PYX_ERR(3, 19185, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_LINEARREG_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream) < (0)) __PYX_ERR(3, 19185, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_LINEARREG_ANGLE_Stream = &__pyx_vtable_5talib_7_ta_lib_LINEARREG_ANGLE_Stream; - __pyx_vtable_5talib_7_ta_lib_LINEARREG_ANGLE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_LINEARREG_ANGLE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_LINEARREG_ANGLE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_LINEARREG_ANGLE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream)) __PYX_ERR(3, 19322, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream = &__pyx_type_5talib_7_ta_lib_LINEARREG_ANGLE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream) < (0)) __PYX_ERR(3, 19322, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream, __pyx_vtabptr_5talib_7_ta_lib_LINEARREG_ANGLE_Stream) < (0)) __PYX_ERR(3, 19322, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_LINEARREG_ANGLE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream) < (0)) __PYX_ERR(3, 19322, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream = &__pyx_vtable_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream; - __pyx_vtable_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream)) __PYX_ERR(3, 19459, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream = &__pyx_type_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream) < (0)) __PYX_ERR(3, 19459, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream, __pyx_vtabptr_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream) < (0)) __PYX_ERR(3, 19459, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_LINEARREG_INTERCEPT_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream) < (0)) __PYX_ERR(3, 19459, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_LINEARREG_SLOPE_Stream = &__pyx_vtable_5talib_7_ta_lib_LINEARREG_SLOPE_Stream; - __pyx_vtable_5talib_7_ta_lib_LINEARREG_SLOPE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_LINEARREG_SLOPE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_LINEARREG_SLOPE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19596, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_LINEARREG_SLOPE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream)) __PYX_ERR(3, 19596, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream = &__pyx_type_5talib_7_ta_lib_LINEARREG_SLOPE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream) < (0)) __PYX_ERR(3, 19596, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream, __pyx_vtabptr_5talib_7_ta_lib_LINEARREG_SLOPE_Stream) < (0)) __PYX_ERR(3, 19596, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_LINEARREG_SLOPE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream) < (0)) __PYX_ERR(3, 19596, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LN_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LN_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_LN_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_LN_Stream = &__pyx_vtable_5talib_7_ta_lib_LN_Stream; - __pyx_vtable_5talib_7_ta_lib_LN_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_LN_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_9LN_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_LN_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_9LN_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19733, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LN_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_LN_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LN_Stream)) __PYX_ERR(3, 19733, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LN_Stream = &__pyx_type_5talib_7_ta_lib_LN_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LN_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LN_Stream) < (0)) __PYX_ERR(3, 19733, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LN_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LN_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LN_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LN_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LN_Stream, __pyx_vtabptr_5talib_7_ta_lib_LN_Stream) < (0)) __PYX_ERR(3, 19733, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_LN_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LN_Stream) < (0)) __PYX_ERR(3, 19733, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LN_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LN_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_LN_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LOG10_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LOG10_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_LOG10_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_LOG10_Stream = &__pyx_vtable_5talib_7_ta_lib_LOG10_Stream; - __pyx_vtable_5talib_7_ta_lib_LOG10_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_LOG10_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_12LOG10_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_LOG10_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_12LOG10_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19868, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_LOG10_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream)) __PYX_ERR(3, 19868, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream = &__pyx_type_5talib_7_ta_lib_LOG10_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream) < (0)) __PYX_ERR(3, 19868, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream, __pyx_vtabptr_5talib_7_ta_lib_LOG10_Stream) < (0)) __PYX_ERR(3, 19868, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_LOG10_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream) < (0)) __PYX_ERR(3, 19868, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_LOG10_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MA_Stream = &__pyx_vtable_5talib_7_ta_lib_MA_Stream; - __pyx_vtable_5talib_7_ta_lib_MA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_9MA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_9MA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MA_Stream)) __PYX_ERR(3, 20003, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MA_Stream = &__pyx_type_5talib_7_ta_lib_MA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MA_Stream) < (0)) __PYX_ERR(3, 20003, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MA_Stream, __pyx_vtabptr_5talib_7_ta_lib_MA_Stream) < (0)) __PYX_ERR(3, 20003, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MA_Stream) < (0)) __PYX_ERR(3, 20003, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MACD_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MACD_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MACD_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MACD_Stream = &__pyx_vtable_5talib_7_ta_lib_MACD_Stream; - __pyx_vtable_5talib_7_ta_lib_MACD_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MACD_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11MACD_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MACD_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11MACD_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20141, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACD_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MACD_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACD_Stream)) __PYX_ERR(3, 20141, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACD_Stream = &__pyx_type_5talib_7_ta_lib_MACD_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACD_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACD_Stream) < (0)) __PYX_ERR(3, 20141, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACD_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACD_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACD_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACD_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACD_Stream, __pyx_vtabptr_5talib_7_ta_lib_MACD_Stream) < (0)) __PYX_ERR(3, 20141, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MACD_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACD_Stream) < (0)) __PYX_ERR(3, 20141, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACD_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACD_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MACD_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MACDEXT_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MACDEXT_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MACDEXT_Stream = &__pyx_vtable_5talib_7_ta_lib_MACDEXT_Stream; - __pyx_vtable_5talib_7_ta_lib_MACDEXT_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MACDEXT_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_14MACDEXT_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MACDEXT_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_14MACDEXT_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20294, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MACDEXT_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream)) __PYX_ERR(3, 20294, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream = &__pyx_type_5talib_7_ta_lib_MACDEXT_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream) < (0)) __PYX_ERR(3, 20294, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream, __pyx_vtabptr_5talib_7_ta_lib_MACDEXT_Stream) < (0)) __PYX_ERR(3, 20294, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MACDEXT_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream) < (0)) __PYX_ERR(3, 20294, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MACDEXT_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MACDFIX_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MACDFIX_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MACDFIX_Stream = &__pyx_vtable_5talib_7_ta_lib_MACDFIX_Stream; - __pyx_vtable_5talib_7_ta_lib_MACDFIX_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MACDFIX_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_14MACDFIX_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MACDFIX_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_14MACDFIX_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20450, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MACDFIX_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream)) __PYX_ERR(3, 20450, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream = &__pyx_type_5talib_7_ta_lib_MACDFIX_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream) < (0)) __PYX_ERR(3, 20450, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream, __pyx_vtabptr_5talib_7_ta_lib_MACDFIX_Stream) < (0)) __PYX_ERR(3, 20450, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MACDFIX_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream) < (0)) __PYX_ERR(3, 20450, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MACDFIX_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAMA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAMA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MAMA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MAMA_Stream = &__pyx_vtable_5talib_7_ta_lib_MAMA_Stream; - __pyx_vtable_5talib_7_ta_lib_MAMA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MAMA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11MAMA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MAMA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11MAMA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MAMA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream)) __PYX_ERR(3, 20601, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream = &__pyx_type_5talib_7_ta_lib_MAMA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream) < (0)) __PYX_ERR(3, 20601, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream, __pyx_vtabptr_5talib_7_ta_lib_MAMA_Stream) < (0)) __PYX_ERR(3, 20601, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MAMA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream) < (0)) __PYX_ERR(3, 20601, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MAMA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MARKETFI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MARKETFI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MARKETFI_Stream = &__pyx_vtable_5talib_7_ta_lib_MARKETFI_Stream; - __pyx_vtable_5talib_7_ta_lib_MARKETFI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MARKETFI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15MARKETFI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MARKETFI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15MARKETFI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20746, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MARKETFI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream)) __PYX_ERR(3, 20746, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream = &__pyx_type_5talib_7_ta_lib_MARKETFI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream) < (0)) __PYX_ERR(3, 20746, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream, __pyx_vtabptr_5talib_7_ta_lib_MARKETFI_Stream) < (0)) __PYX_ERR(3, 20746, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MARKETFI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream) < (0)) __PYX_ERR(3, 20746, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MARKETFI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MASSI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MASSI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MASSI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MASSI_Stream = &__pyx_vtable_5talib_7_ta_lib_MASSI_Stream; - __pyx_vtable_5talib_7_ta_lib_MASSI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MASSI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_12MASSI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MASSI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_12MASSI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 20885, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MASSI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream)) __PYX_ERR(3, 20885, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream = &__pyx_type_5talib_7_ta_lib_MASSI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream) < (0)) __PYX_ERR(3, 20885, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream, __pyx_vtabptr_5talib_7_ta_lib_MASSI_Stream) < (0)) __PYX_ERR(3, 20885, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MASSI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream) < (0)) __PYX_ERR(3, 20885, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MASSI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAVP_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAVP_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MAVP_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MAVP_Stream = &__pyx_vtable_5talib_7_ta_lib_MAVP_Stream; - __pyx_vtable_5talib_7_ta_lib_MAVP_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MAVP_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11MAVP_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MAVP_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11MAVP_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MAVP_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream)) __PYX_ERR(3, 21025, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream = &__pyx_type_5talib_7_ta_lib_MAVP_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream) < (0)) __PYX_ERR(3, 21025, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream, __pyx_vtabptr_5talib_7_ta_lib_MAVP_Stream) < (0)) __PYX_ERR(3, 21025, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MAVP_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream) < (0)) __PYX_ERR(3, 21025, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MAVP_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAX_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAX_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MAX_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MAX_Stream = &__pyx_vtable_5talib_7_ta_lib_MAX_Stream; - __pyx_vtable_5talib_7_ta_lib_MAX_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MAX_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10MAX_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MAX_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10MAX_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAX_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MAX_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAX_Stream)) __PYX_ERR(3, 21167, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAX_Stream = &__pyx_type_5talib_7_ta_lib_MAX_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAX_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAX_Stream) < (0)) __PYX_ERR(3, 21167, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAX_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAX_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAX_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAX_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAX_Stream, __pyx_vtabptr_5talib_7_ta_lib_MAX_Stream) < (0)) __PYX_ERR(3, 21167, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MAX_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAX_Stream) < (0)) __PYX_ERR(3, 21167, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAX_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAX_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MAX_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MAXINDEX_Stream = &__pyx_vtable_5talib_7_ta_lib_MAXINDEX_Stream; - __pyx_vtable_5talib_7_ta_lib_MAXINDEX_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MAXINDEX_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15MAXINDEX_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MAXINDEX_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15MAXINDEX_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21304, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MAXINDEX_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream)) __PYX_ERR(3, 21304, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream = &__pyx_type_5talib_7_ta_lib_MAXINDEX_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream) < (0)) __PYX_ERR(3, 21304, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream, __pyx_vtabptr_5talib_7_ta_lib_MAXINDEX_Stream) < (0)) __PYX_ERR(3, 21304, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MAXINDEX_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream) < (0)) __PYX_ERR(3, 21304, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MEDPRICE_Stream = &__pyx_vtable_5talib_7_ta_lib_MEDPRICE_Stream; - __pyx_vtable_5talib_7_ta_lib_MEDPRICE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MEDPRICE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15MEDPRICE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MEDPRICE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15MEDPRICE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21451, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MEDPRICE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream)) __PYX_ERR(3, 21451, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream = &__pyx_type_5talib_7_ta_lib_MEDPRICE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream) < (0)) __PYX_ERR(3, 21451, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream, __pyx_vtabptr_5talib_7_ta_lib_MEDPRICE_Stream) < (0)) __PYX_ERR(3, 21451, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MEDPRICE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream) < (0)) __PYX_ERR(3, 21451, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MFI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MFI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MFI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MFI_Stream = &__pyx_vtable_5talib_7_ta_lib_MFI_Stream; - __pyx_vtable_5talib_7_ta_lib_MFI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MFI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10MFI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MFI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10MFI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21588, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MFI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MFI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MFI_Stream)) __PYX_ERR(3, 21588, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MFI_Stream = &__pyx_type_5talib_7_ta_lib_MFI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MFI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MFI_Stream) < (0)) __PYX_ERR(3, 21588, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MFI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MFI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MFI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MFI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MFI_Stream, __pyx_vtabptr_5talib_7_ta_lib_MFI_Stream) < (0)) __PYX_ERR(3, 21588, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MFI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MFI_Stream) < (0)) __PYX_ERR(3, 21588, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MFI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MFI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MFI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MIDPOINT_Stream = &__pyx_vtable_5talib_7_ta_lib_MIDPOINT_Stream; - __pyx_vtable_5talib_7_ta_lib_MIDPOINT_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MIDPOINT_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15MIDPOINT_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MIDPOINT_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15MIDPOINT_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21731, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MIDPOINT_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream)) __PYX_ERR(3, 21731, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream = &__pyx_type_5talib_7_ta_lib_MIDPOINT_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream) < (0)) __PYX_ERR(3, 21731, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream, __pyx_vtabptr_5talib_7_ta_lib_MIDPOINT_Stream) < (0)) __PYX_ERR(3, 21731, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MIDPOINT_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream) < (0)) __PYX_ERR(3, 21731, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MIDPRICE_Stream = &__pyx_vtable_5talib_7_ta_lib_MIDPRICE_Stream; - __pyx_vtable_5talib_7_ta_lib_MIDPRICE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MIDPRICE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15MIDPRICE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MIDPRICE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15MIDPRICE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 21868, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MIDPRICE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream)) __PYX_ERR(3, 21868, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream = &__pyx_type_5talib_7_ta_lib_MIDPRICE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream) < (0)) __PYX_ERR(3, 21868, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream, __pyx_vtabptr_5talib_7_ta_lib_MIDPRICE_Stream) < (0)) __PYX_ERR(3, 21868, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MIDPRICE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream) < (0)) __PYX_ERR(3, 21868, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MIN_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MIN_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MIN_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MIN_Stream = &__pyx_vtable_5talib_7_ta_lib_MIN_Stream; - __pyx_vtable_5talib_7_ta_lib_MIN_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MIN_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10MIN_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MIN_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10MIN_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22007, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIN_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MIN_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIN_Stream)) __PYX_ERR(3, 22007, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIN_Stream = &__pyx_type_5talib_7_ta_lib_MIN_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIN_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIN_Stream) < (0)) __PYX_ERR(3, 22007, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIN_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIN_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIN_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIN_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIN_Stream, __pyx_vtabptr_5talib_7_ta_lib_MIN_Stream) < (0)) __PYX_ERR(3, 22007, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MIN_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIN_Stream) < (0)) __PYX_ERR(3, 22007, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIN_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MIN_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MIN_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MININDEX_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MININDEX_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MININDEX_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MININDEX_Stream = &__pyx_vtable_5talib_7_ta_lib_MININDEX_Stream; - __pyx_vtable_5talib_7_ta_lib_MININDEX_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MININDEX_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15MININDEX_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MININDEX_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15MININDEX_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MININDEX_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream)) __PYX_ERR(3, 22144, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream = &__pyx_type_5talib_7_ta_lib_MININDEX_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream) < (0)) __PYX_ERR(3, 22144, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream, __pyx_vtabptr_5talib_7_ta_lib_MININDEX_Stream) < (0)) __PYX_ERR(3, 22144, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MININDEX_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream) < (0)) __PYX_ERR(3, 22144, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MININDEX_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINMAX_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINMAX_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MINMAX_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MINMAX_Stream = &__pyx_vtable_5talib_7_ta_lib_MINMAX_Stream; - __pyx_vtable_5talib_7_ta_lib_MINMAX_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MINMAX_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_13MINMAX_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MINMAX_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_13MINMAX_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22291, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MINMAX_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream)) __PYX_ERR(3, 22291, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream = &__pyx_type_5talib_7_ta_lib_MINMAX_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream) < (0)) __PYX_ERR(3, 22291, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream, __pyx_vtabptr_5talib_7_ta_lib_MINMAX_Stream) < (0)) __PYX_ERR(3, 22291, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MINMAX_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream) < (0)) __PYX_ERR(3, 22291, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MINMAX_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MINMAXINDEX_Stream = &__pyx_vtable_5talib_7_ta_lib_MINMAXINDEX_Stream; - __pyx_vtable_5talib_7_ta_lib_MINMAXINDEX_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MINMAXINDEX_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_18MINMAXINDEX_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MINMAXINDEX_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_18MINMAXINDEX_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22435, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MINMAXINDEX_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream)) __PYX_ERR(3, 22435, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream = &__pyx_type_5talib_7_ta_lib_MINMAXINDEX_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream) < (0)) __PYX_ERR(3, 22435, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream, __pyx_vtabptr_5talib_7_ta_lib_MINMAXINDEX_Stream) < (0)) __PYX_ERR(3, 22435, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MINMAXINDEX_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream) < (0)) __PYX_ERR(3, 22435, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MINUS_DI_Stream = &__pyx_vtable_5talib_7_ta_lib_MINUS_DI_Stream; - __pyx_vtable_5talib_7_ta_lib_MINUS_DI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MINUS_DI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15MINUS_DI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MINUS_DI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15MINUS_DI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22592, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MINUS_DI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream)) __PYX_ERR(3, 22592, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream = &__pyx_type_5talib_7_ta_lib_MINUS_DI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream) < (0)) __PYX_ERR(3, 22592, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream, __pyx_vtabptr_5talib_7_ta_lib_MINUS_DI_Stream) < (0)) __PYX_ERR(3, 22592, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MINUS_DI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream) < (0)) __PYX_ERR(3, 22592, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MINUS_DM_Stream = &__pyx_vtable_5talib_7_ta_lib_MINUS_DM_Stream; - __pyx_vtable_5talib_7_ta_lib_MINUS_DM_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MINUS_DM_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15MINUS_DM_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MINUS_DM_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15MINUS_DM_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22733, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MINUS_DM_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream)) __PYX_ERR(3, 22733, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream = &__pyx_type_5talib_7_ta_lib_MINUS_DM_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream) < (0)) __PYX_ERR(3, 22733, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream, __pyx_vtabptr_5talib_7_ta_lib_MINUS_DM_Stream) < (0)) __PYX_ERR(3, 22733, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MINUS_DM_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream) < (0)) __PYX_ERR(3, 22733, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MOM_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MOM_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MOM_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MOM_Stream = &__pyx_vtable_5talib_7_ta_lib_MOM_Stream; - __pyx_vtable_5talib_7_ta_lib_MOM_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MOM_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10MOM_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MOM_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10MOM_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 22872, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MOM_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MOM_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MOM_Stream)) __PYX_ERR(3, 22872, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MOM_Stream = &__pyx_type_5talib_7_ta_lib_MOM_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MOM_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MOM_Stream) < (0)) __PYX_ERR(3, 22872, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MOM_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MOM_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MOM_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MOM_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MOM_Stream, __pyx_vtabptr_5talib_7_ta_lib_MOM_Stream) < (0)) __PYX_ERR(3, 22872, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MOM_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MOM_Stream) < (0)) __PYX_ERR(3, 22872, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MOM_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MOM_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MOM_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MULT_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MULT_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_MULT_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_MULT_Stream = &__pyx_vtable_5talib_7_ta_lib_MULT_Stream; - __pyx_vtable_5talib_7_ta_lib_MULT_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_MULT_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11MULT_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_MULT_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11MULT_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23009, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MULT_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_MULT_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MULT_Stream)) __PYX_ERR(3, 23009, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MULT_Stream = &__pyx_type_5talib_7_ta_lib_MULT_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MULT_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MULT_Stream) < (0)) __PYX_ERR(3, 23009, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MULT_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MULT_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MULT_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MULT_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MULT_Stream, __pyx_vtabptr_5talib_7_ta_lib_MULT_Stream) < (0)) __PYX_ERR(3, 23009, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_MULT_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MULT_Stream) < (0)) __PYX_ERR(3, 23009, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MULT_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_MULT_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_MULT_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_NATR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_NATR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_NATR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_NATR_Stream = &__pyx_vtable_5talib_7_ta_lib_NATR_Stream; - __pyx_vtable_5talib_7_ta_lib_NATR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_NATR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11NATR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_NATR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11NATR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NATR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_NATR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NATR_Stream)) __PYX_ERR(3, 23147, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NATR_Stream = &__pyx_type_5talib_7_ta_lib_NATR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NATR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NATR_Stream) < (0)) __PYX_ERR(3, 23147, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NATR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NATR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NATR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NATR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NATR_Stream, __pyx_vtabptr_5talib_7_ta_lib_NATR_Stream) < (0)) __PYX_ERR(3, 23147, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_NATR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NATR_Stream) < (0)) __PYX_ERR(3, 23147, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NATR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NATR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_NATR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_NVI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_NVI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_NVI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_NVI_Stream = &__pyx_vtable_5talib_7_ta_lib_NVI_Stream; - __pyx_vtable_5talib_7_ta_lib_NVI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_NVI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10NVI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_NVI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10NVI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NVI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_NVI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NVI_Stream)) __PYX_ERR(3, 23288, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NVI_Stream = &__pyx_type_5talib_7_ta_lib_NVI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NVI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NVI_Stream) < (0)) __PYX_ERR(3, 23288, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NVI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NVI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NVI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NVI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NVI_Stream, __pyx_vtabptr_5talib_7_ta_lib_NVI_Stream) < (0)) __PYX_ERR(3, 23288, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_NVI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NVI_Stream) < (0)) __PYX_ERR(3, 23288, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NVI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_NVI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_NVI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_OBV_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_OBV_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_OBV_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_OBV_Stream = &__pyx_vtable_5talib_7_ta_lib_OBV_Stream; - __pyx_vtable_5talib_7_ta_lib_OBV_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_OBV_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10OBV_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_OBV_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10OBV_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23425, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_OBV_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_OBV_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_OBV_Stream)) __PYX_ERR(3, 23425, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_OBV_Stream = &__pyx_type_5talib_7_ta_lib_OBV_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_OBV_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_OBV_Stream) < (0)) __PYX_ERR(3, 23425, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_OBV_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_OBV_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_OBV_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_OBV_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_OBV_Stream, __pyx_vtabptr_5talib_7_ta_lib_OBV_Stream) < (0)) __PYX_ERR(3, 23425, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_OBV_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_OBV_Stream) < (0)) __PYX_ERR(3, 23425, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_OBV_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_OBV_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_OBV_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_PERCENTILE_Stream = &__pyx_vtable_5talib_7_ta_lib_PERCENTILE_Stream; - __pyx_vtable_5talib_7_ta_lib_PERCENTILE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_PERCENTILE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_17PERCENTILE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_PERCENTILE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_17PERCENTILE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23563, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_PERCENTILE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream)) __PYX_ERR(3, 23563, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream = &__pyx_type_5talib_7_ta_lib_PERCENTILE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream) < (0)) __PYX_ERR(3, 23563, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream, __pyx_vtabptr_5talib_7_ta_lib_PERCENTILE_Stream) < (0)) __PYX_ERR(3, 23563, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PERCENTILE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream) < (0)) __PYX_ERR(3, 23563, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_PERCENTRANK_Stream = &__pyx_vtable_5talib_7_ta_lib_PERCENTRANK_Stream; - __pyx_vtable_5talib_7_ta_lib_PERCENTRANK_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_PERCENTRANK_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_18PERCENTRANK_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_PERCENTRANK_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_18PERCENTRANK_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_PERCENTRANK_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream)) __PYX_ERR(3, 23701, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream = &__pyx_type_5talib_7_ta_lib_PERCENTRANK_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream) < (0)) __PYX_ERR(3, 23701, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream, __pyx_vtabptr_5talib_7_ta_lib_PERCENTRANK_Stream) < (0)) __PYX_ERR(3, 23701, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PERCENTRANK_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream) < (0)) __PYX_ERR(3, 23701, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_PLUS_DI_Stream = &__pyx_vtable_5talib_7_ta_lib_PLUS_DI_Stream; - __pyx_vtable_5talib_7_ta_lib_PLUS_DI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_PLUS_DI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_14PLUS_DI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_PLUS_DI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_14PLUS_DI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_PLUS_DI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream)) __PYX_ERR(3, 23838, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream = &__pyx_type_5talib_7_ta_lib_PLUS_DI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream) < (0)) __PYX_ERR(3, 23838, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream, __pyx_vtabptr_5talib_7_ta_lib_PLUS_DI_Stream) < (0)) __PYX_ERR(3, 23838, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PLUS_DI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream) < (0)) __PYX_ERR(3, 23838, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_PLUS_DM_Stream = &__pyx_vtable_5talib_7_ta_lib_PLUS_DM_Stream; - __pyx_vtable_5talib_7_ta_lib_PLUS_DM_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_PLUS_DM_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_14PLUS_DM_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_PLUS_DM_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_14PLUS_DM_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23979, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_PLUS_DM_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream)) __PYX_ERR(3, 23979, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream = &__pyx_type_5talib_7_ta_lib_PLUS_DM_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream) < (0)) __PYX_ERR(3, 23979, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream, __pyx_vtabptr_5talib_7_ta_lib_PLUS_DM_Stream) < (0)) __PYX_ERR(3, 23979, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PLUS_DM_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream) < (0)) __PYX_ERR(3, 23979, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PPO_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PPO_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_PPO_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_PPO_Stream = &__pyx_vtable_5talib_7_ta_lib_PPO_Stream; - __pyx_vtable_5talib_7_ta_lib_PPO_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_PPO_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10PPO_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_PPO_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10PPO_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PPO_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_PPO_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PPO_Stream)) __PYX_ERR(3, 24118, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PPO_Stream = &__pyx_type_5talib_7_ta_lib_PPO_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PPO_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PPO_Stream) < (0)) __PYX_ERR(3, 24118, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PPO_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PPO_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PPO_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PPO_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PPO_Stream, __pyx_vtabptr_5talib_7_ta_lib_PPO_Stream) < (0)) __PYX_ERR(3, 24118, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PPO_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PPO_Stream) < (0)) __PYX_ERR(3, 24118, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PPO_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PPO_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_PPO_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PVI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PVI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_PVI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_PVI_Stream = &__pyx_vtable_5talib_7_ta_lib_PVI_Stream; - __pyx_vtable_5talib_7_ta_lib_PVI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_PVI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10PVI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_PVI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10PVI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24257, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_PVI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVI_Stream)) __PYX_ERR(3, 24257, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVI_Stream = &__pyx_type_5talib_7_ta_lib_PVI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVI_Stream) < (0)) __PYX_ERR(3, 24257, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVI_Stream, __pyx_vtabptr_5talib_7_ta_lib_PVI_Stream) < (0)) __PYX_ERR(3, 24257, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PVI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVI_Stream) < (0)) __PYX_ERR(3, 24257, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_PVI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PVO_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PVO_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_PVO_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_PVO_Stream = &__pyx_vtable_5talib_7_ta_lib_PVO_Stream; - __pyx_vtable_5talib_7_ta_lib_PVO_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_PVO_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10PVO_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_PVO_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10PVO_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24394, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVO_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_PVO_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVO_Stream)) __PYX_ERR(3, 24394, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVO_Stream = &__pyx_type_5talib_7_ta_lib_PVO_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVO_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVO_Stream) < (0)) __PYX_ERR(3, 24394, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVO_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVO_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVO_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVO_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVO_Stream, __pyx_vtabptr_5talib_7_ta_lib_PVO_Stream) < (0)) __PYX_ERR(3, 24394, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PVO_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVO_Stream) < (0)) __PYX_ERR(3, 24394, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVO_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVO_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_PVO_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PVT_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PVT_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_PVT_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_PVT_Stream = &__pyx_vtable_5talib_7_ta_lib_PVT_Stream; - __pyx_vtable_5talib_7_ta_lib_PVT_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_PVT_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10PVT_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_PVT_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10PVT_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24533, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVT_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_PVT_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVT_Stream)) __PYX_ERR(3, 24533, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVT_Stream = &__pyx_type_5talib_7_ta_lib_PVT_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVT_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVT_Stream) < (0)) __PYX_ERR(3, 24533, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVT_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVT_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVT_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVT_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVT_Stream, __pyx_vtabptr_5talib_7_ta_lib_PVT_Stream) < (0)) __PYX_ERR(3, 24533, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PVT_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVT_Stream) < (0)) __PYX_ERR(3, 24533, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVT_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_PVT_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_PVT_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_QSTICK_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_QSTICK_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_QSTICK_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_QSTICK_Stream = &__pyx_vtable_5talib_7_ta_lib_QSTICK_Stream; - __pyx_vtable_5talib_7_ta_lib_QSTICK_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_QSTICK_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_13QSTICK_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_QSTICK_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_13QSTICK_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24670, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_QSTICK_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream)) __PYX_ERR(3, 24670, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream = &__pyx_type_5talib_7_ta_lib_QSTICK_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream) < (0)) __PYX_ERR(3, 24670, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream, __pyx_vtabptr_5talib_7_ta_lib_QSTICK_Stream) < (0)) __PYX_ERR(3, 24670, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_QSTICK_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream) < (0)) __PYX_ERR(3, 24670, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_QSTICK_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RMA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RMA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_RMA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_RMA_Stream = &__pyx_vtable_5talib_7_ta_lib_RMA_Stream; - __pyx_vtable_5talib_7_ta_lib_RMA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_RMA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10RMA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_RMA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10RMA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RMA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_RMA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RMA_Stream)) __PYX_ERR(3, 24809, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RMA_Stream = &__pyx_type_5talib_7_ta_lib_RMA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RMA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RMA_Stream) < (0)) __PYX_ERR(3, 24809, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RMA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RMA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RMA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RMA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RMA_Stream, __pyx_vtabptr_5talib_7_ta_lib_RMA_Stream) < (0)) __PYX_ERR(3, 24809, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_RMA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RMA_Stream) < (0)) __PYX_ERR(3, 24809, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RMA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RMA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_RMA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROC_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROC_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ROC_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ROC_Stream = &__pyx_vtable_5talib_7_ta_lib_ROC_Stream; - __pyx_vtable_5talib_7_ta_lib_ROC_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ROC_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10ROC_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ROC_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10ROC_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24946, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROC_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ROC_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROC_Stream)) __PYX_ERR(3, 24946, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROC_Stream = &__pyx_type_5talib_7_ta_lib_ROC_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROC_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROC_Stream) < (0)) __PYX_ERR(3, 24946, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROC_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROC_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROC_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROC_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROC_Stream, __pyx_vtabptr_5talib_7_ta_lib_ROC_Stream) < (0)) __PYX_ERR(3, 24946, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ROC_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROC_Stream) < (0)) __PYX_ERR(3, 24946, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROC_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROC_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ROC_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROCP_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROCP_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ROCP_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ROCP_Stream = &__pyx_vtable_5talib_7_ta_lib_ROCP_Stream; - __pyx_vtable_5talib_7_ta_lib_ROCP_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ROCP_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11ROCP_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ROCP_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11ROCP_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ROCP_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream)) __PYX_ERR(3, 25083, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream = &__pyx_type_5talib_7_ta_lib_ROCP_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream) < (0)) __PYX_ERR(3, 25083, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream, __pyx_vtabptr_5talib_7_ta_lib_ROCP_Stream) < (0)) __PYX_ERR(3, 25083, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ROCP_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream) < (0)) __PYX_ERR(3, 25083, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ROCP_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROCR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROCR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ROCR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ROCR_Stream = &__pyx_vtable_5talib_7_ta_lib_ROCR_Stream; - __pyx_vtable_5talib_7_ta_lib_ROCR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ROCR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11ROCR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ROCR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11ROCR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ROCR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream)) __PYX_ERR(3, 25220, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream = &__pyx_type_5talib_7_ta_lib_ROCR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream) < (0)) __PYX_ERR(3, 25220, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream, __pyx_vtabptr_5talib_7_ta_lib_ROCR_Stream) < (0)) __PYX_ERR(3, 25220, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ROCR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream) < (0)) __PYX_ERR(3, 25220, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ROCR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROCR100_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROCR100_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ROCR100_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ROCR100_Stream = &__pyx_vtable_5talib_7_ta_lib_ROCR100_Stream; - __pyx_vtable_5talib_7_ta_lib_ROCR100_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ROCR100_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_14ROCR100_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ROCR100_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_14ROCR100_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25357, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ROCR100_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream)) __PYX_ERR(3, 25357, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream = &__pyx_type_5talib_7_ta_lib_ROCR100_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream) < (0)) __PYX_ERR(3, 25357, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream, __pyx_vtabptr_5talib_7_ta_lib_ROCR100_Stream) < (0)) __PYX_ERR(3, 25357, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ROCR100_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream) < (0)) __PYX_ERR(3, 25357, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ROCR100_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RSI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RSI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_RSI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_RSI_Stream = &__pyx_vtable_5talib_7_ta_lib_RSI_Stream; - __pyx_vtable_5talib_7_ta_lib_RSI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_RSI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10RSI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_RSI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10RSI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25494, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RSI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_RSI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RSI_Stream)) __PYX_ERR(3, 25494, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RSI_Stream = &__pyx_type_5talib_7_ta_lib_RSI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RSI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RSI_Stream) < (0)) __PYX_ERR(3, 25494, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RSI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RSI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RSI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RSI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RSI_Stream, __pyx_vtabptr_5talib_7_ta_lib_RSI_Stream) < (0)) __PYX_ERR(3, 25494, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_RSI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RSI_Stream) < (0)) __PYX_ERR(3, 25494, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RSI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RSI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_RSI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RVI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RVI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_RVI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_RVI_Stream = &__pyx_vtable_5talib_7_ta_lib_RVI_Stream; - __pyx_vtable_5talib_7_ta_lib_RVI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_RVI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10RVI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_RVI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10RVI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25631, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_RVI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVI_Stream)) __PYX_ERR(3, 25631, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVI_Stream = &__pyx_type_5talib_7_ta_lib_RVI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVI_Stream) < (0)) __PYX_ERR(3, 25631, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVI_Stream, __pyx_vtabptr_5talib_7_ta_lib_RVI_Stream) < (0)) __PYX_ERR(3, 25631, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_RVI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVI_Stream) < (0)) __PYX_ERR(3, 25631, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_RVI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RVOL_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RVOL_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_RVOL_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_RVOL_Stream = &__pyx_vtable_5talib_7_ta_lib_RVOL_Stream; - __pyx_vtable_5talib_7_ta_lib_RVOL_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_RVOL_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11RVOL_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_RVOL_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11RVOL_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25769, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_RVOL_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream)) __PYX_ERR(3, 25769, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream = &__pyx_type_5talib_7_ta_lib_RVOL_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream) < (0)) __PYX_ERR(3, 25769, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream, __pyx_vtabptr_5talib_7_ta_lib_RVOL_Stream) < (0)) __PYX_ERR(3, 25769, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_RVOL_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream) < (0)) __PYX_ERR(3, 25769, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_RVOL_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SAR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SAR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_SAR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_SAR_Stream = &__pyx_vtable_5talib_7_ta_lib_SAR_Stream; - __pyx_vtable_5talib_7_ta_lib_SAR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_SAR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10SAR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_SAR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10SAR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25906, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_SAR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAR_Stream)) __PYX_ERR(3, 25906, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAR_Stream = &__pyx_type_5talib_7_ta_lib_SAR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAR_Stream) < (0)) __PYX_ERR(3, 25906, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAR_Stream, __pyx_vtabptr_5talib_7_ta_lib_SAR_Stream) < (0)) __PYX_ERR(3, 25906, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_SAR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAR_Stream) < (0)) __PYX_ERR(3, 25906, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_SAR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SAREXT_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SAREXT_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_SAREXT_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_SAREXT_Stream = &__pyx_vtable_5talib_7_ta_lib_SAREXT_Stream; - __pyx_vtable_5talib_7_ta_lib_SAREXT_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_SAREXT_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_13SAREXT_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_SAREXT_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_13SAREXT_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26046, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_SAREXT_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream)) __PYX_ERR(3, 26046, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream = &__pyx_type_5talib_7_ta_lib_SAREXT_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream) < (0)) __PYX_ERR(3, 26046, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream, __pyx_vtabptr_5talib_7_ta_lib_SAREXT_Stream) < (0)) __PYX_ERR(3, 26046, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_SAREXT_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream) < (0)) __PYX_ERR(3, 26046, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_SAREXT_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SIN_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SIN_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_SIN_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_SIN_Stream = &__pyx_vtable_5talib_7_ta_lib_SIN_Stream; - __pyx_vtable_5talib_7_ta_lib_SIN_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_SIN_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10SIN_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_SIN_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10SIN_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26192, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SIN_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_SIN_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SIN_Stream)) __PYX_ERR(3, 26192, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SIN_Stream = &__pyx_type_5talib_7_ta_lib_SIN_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SIN_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SIN_Stream) < (0)) __PYX_ERR(3, 26192, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SIN_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SIN_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SIN_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SIN_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SIN_Stream, __pyx_vtabptr_5talib_7_ta_lib_SIN_Stream) < (0)) __PYX_ERR(3, 26192, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_SIN_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SIN_Stream) < (0)) __PYX_ERR(3, 26192, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SIN_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SIN_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_SIN_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SINH_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SINH_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_SINH_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_SINH_Stream = &__pyx_vtable_5talib_7_ta_lib_SINH_Stream; - __pyx_vtable_5talib_7_ta_lib_SINH_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_SINH_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11SINH_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_SINH_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11SINH_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SINH_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_SINH_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SINH_Stream)) __PYX_ERR(3, 26327, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SINH_Stream = &__pyx_type_5talib_7_ta_lib_SINH_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SINH_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SINH_Stream) < (0)) __PYX_ERR(3, 26327, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SINH_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SINH_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SINH_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SINH_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SINH_Stream, __pyx_vtabptr_5talib_7_ta_lib_SINH_Stream) < (0)) __PYX_ERR(3, 26327, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_SINH_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SINH_Stream) < (0)) __PYX_ERR(3, 26327, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SINH_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SINH_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_SINH_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SMA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SMA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_SMA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_SMA_Stream = &__pyx_vtable_5talib_7_ta_lib_SMA_Stream; - __pyx_vtable_5talib_7_ta_lib_SMA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_SMA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10SMA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_SMA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10SMA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_SMA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMA_Stream)) __PYX_ERR(3, 26462, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMA_Stream = &__pyx_type_5talib_7_ta_lib_SMA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMA_Stream) < (0)) __PYX_ERR(3, 26462, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMA_Stream, __pyx_vtabptr_5talib_7_ta_lib_SMA_Stream) < (0)) __PYX_ERR(3, 26462, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_SMA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMA_Stream) < (0)) __PYX_ERR(3, 26462, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_SMA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SMI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SMI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_SMI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_SMI_Stream = &__pyx_vtable_5talib_7_ta_lib_SMI_Stream; - __pyx_vtable_5talib_7_ta_lib_SMI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_SMI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10SMI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_SMI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10SMI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26599, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_SMI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMI_Stream)) __PYX_ERR(3, 26599, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMI_Stream = &__pyx_type_5talib_7_ta_lib_SMI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMI_Stream) < (0)) __PYX_ERR(3, 26599, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMI_Stream, __pyx_vtabptr_5talib_7_ta_lib_SMI_Stream) < (0)) __PYX_ERR(3, 26599, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_SMI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMI_Stream) < (0)) __PYX_ERR(3, 26599, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SMI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_SMI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SQRT_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SQRT_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_SQRT_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_SQRT_Stream = &__pyx_vtable_5talib_7_ta_lib_SQRT_Stream; - __pyx_vtable_5talib_7_ta_lib_SQRT_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_SQRT_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11SQRT_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_SQRT_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11SQRT_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_SQRT_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream)) __PYX_ERR(3, 26750, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream = &__pyx_type_5talib_7_ta_lib_SQRT_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream) < (0)) __PYX_ERR(3, 26750, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream, __pyx_vtabptr_5talib_7_ta_lib_SQRT_Stream) < (0)) __PYX_ERR(3, 26750, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_SQRT_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream) < (0)) __PYX_ERR(3, 26750, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_SQRT_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STDDEV_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STDDEV_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_STDDEV_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_STDDEV_Stream = &__pyx_vtable_5talib_7_ta_lib_STDDEV_Stream; - __pyx_vtable_5talib_7_ta_lib_STDDEV_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_STDDEV_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_13STDDEV_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_STDDEV_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_13STDDEV_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26885, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_STDDEV_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream)) __PYX_ERR(3, 26885, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream = &__pyx_type_5talib_7_ta_lib_STDDEV_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream) < (0)) __PYX_ERR(3, 26885, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream, __pyx_vtabptr_5talib_7_ta_lib_STDDEV_Stream) < (0)) __PYX_ERR(3, 26885, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_STDDEV_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream) < (0)) __PYX_ERR(3, 26885, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_STDDEV_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STOCH_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STOCH_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_STOCH_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_STOCH_Stream = &__pyx_vtable_5talib_7_ta_lib_STOCH_Stream; - __pyx_vtable_5talib_7_ta_lib_STOCH_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_STOCH_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_12STOCH_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_STOCH_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_12STOCH_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27023, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_STOCH_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream)) __PYX_ERR(3, 27023, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream = &__pyx_type_5talib_7_ta_lib_STOCH_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream) < (0)) __PYX_ERR(3, 27023, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream, __pyx_vtabptr_5talib_7_ta_lib_STOCH_Stream) < (0)) __PYX_ERR(3, 27023, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_STOCH_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream) < (0)) __PYX_ERR(3, 27023, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_STOCH_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STOCHF_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STOCHF_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_STOCHF_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_STOCHF_Stream = &__pyx_vtable_5talib_7_ta_lib_STOCHF_Stream; - __pyx_vtable_5talib_7_ta_lib_STOCHF_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_STOCHF_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_13STOCHF_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_STOCHF_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_13STOCHF_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27175, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_STOCHF_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream)) __PYX_ERR(3, 27175, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream = &__pyx_type_5talib_7_ta_lib_STOCHF_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream) < (0)) __PYX_ERR(3, 27175, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream, __pyx_vtabptr_5talib_7_ta_lib_STOCHF_Stream) < (0)) __PYX_ERR(3, 27175, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_STOCHF_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream) < (0)) __PYX_ERR(3, 27175, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_STOCHF_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_STOCHRSI_Stream = &__pyx_vtable_5talib_7_ta_lib_STOCHRSI_Stream; - __pyx_vtable_5talib_7_ta_lib_STOCHRSI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_STOCHRSI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15STOCHRSI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_STOCHRSI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15STOCHRSI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27325, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_STOCHRSI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream)) __PYX_ERR(3, 27325, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream = &__pyx_type_5talib_7_ta_lib_STOCHRSI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream) < (0)) __PYX_ERR(3, 27325, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream, __pyx_vtabptr_5talib_7_ta_lib_STOCHRSI_Stream) < (0)) __PYX_ERR(3, 27325, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_STOCHRSI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream) < (0)) __PYX_ERR(3, 27325, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SUB_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SUB_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_SUB_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_SUB_Stream = &__pyx_vtable_5talib_7_ta_lib_SUB_Stream; - __pyx_vtable_5talib_7_ta_lib_SUB_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_SUB_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10SUB_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_SUB_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10SUB_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27472, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUB_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_SUB_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUB_Stream)) __PYX_ERR(3, 27472, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUB_Stream = &__pyx_type_5talib_7_ta_lib_SUB_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUB_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUB_Stream) < (0)) __PYX_ERR(3, 27472, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUB_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUB_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUB_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUB_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUB_Stream, __pyx_vtabptr_5talib_7_ta_lib_SUB_Stream) < (0)) __PYX_ERR(3, 27472, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_SUB_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUB_Stream) < (0)) __PYX_ERR(3, 27472, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUB_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUB_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_SUB_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SUM_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SUM_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_SUM_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_SUM_Stream = &__pyx_vtable_5talib_7_ta_lib_SUM_Stream; - __pyx_vtable_5talib_7_ta_lib_SUM_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_SUM_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10SUM_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_SUM_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10SUM_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27610, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUM_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_SUM_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUM_Stream)) __PYX_ERR(3, 27610, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUM_Stream = &__pyx_type_5talib_7_ta_lib_SUM_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUM_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUM_Stream) < (0)) __PYX_ERR(3, 27610, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUM_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUM_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUM_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUM_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUM_Stream, __pyx_vtabptr_5talib_7_ta_lib_SUM_Stream) < (0)) __PYX_ERR(3, 27610, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_SUM_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUM_Stream) < (0)) __PYX_ERR(3, 27610, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUM_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUM_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_SUM_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_SUPERTREND_Stream = &__pyx_vtable_5talib_7_ta_lib_SUPERTREND_Stream; - __pyx_vtable_5talib_7_ta_lib_SUPERTREND_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_SUPERTREND_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_17SUPERTREND_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_SUPERTREND_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_17SUPERTREND_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27747, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_SUPERTREND_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream)) __PYX_ERR(3, 27747, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream = &__pyx_type_5talib_7_ta_lib_SUPERTREND_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream) < (0)) __PYX_ERR(3, 27747, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream, __pyx_vtabptr_5talib_7_ta_lib_SUPERTREND_Stream) < (0)) __PYX_ERR(3, 27747, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_SUPERTREND_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream) < (0)) __PYX_ERR(3, 27747, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_T3_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_T3_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_T3_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_T3_Stream = &__pyx_vtable_5talib_7_ta_lib_T3_Stream; - __pyx_vtable_5talib_7_ta_lib_T3_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_T3_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_9T3_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_T3_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_9T3_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 27896, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_T3_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_T3_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_T3_Stream)) __PYX_ERR(3, 27896, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_T3_Stream = &__pyx_type_5talib_7_ta_lib_T3_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_T3_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_T3_Stream) < (0)) __PYX_ERR(3, 27896, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_T3_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_T3_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_T3_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_T3_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_T3_Stream, __pyx_vtabptr_5talib_7_ta_lib_T3_Stream) < (0)) __PYX_ERR(3, 27896, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_T3_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_T3_Stream) < (0)) __PYX_ERR(3, 27896, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_T3_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_T3_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_T3_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TAN_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TAN_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_TAN_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_TAN_Stream = &__pyx_vtable_5talib_7_ta_lib_TAN_Stream; - __pyx_vtable_5talib_7_ta_lib_TAN_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_TAN_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10TAN_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_TAN_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10TAN_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28034, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TAN_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_TAN_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TAN_Stream)) __PYX_ERR(3, 28034, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TAN_Stream = &__pyx_type_5talib_7_ta_lib_TAN_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TAN_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TAN_Stream) < (0)) __PYX_ERR(3, 28034, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TAN_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TAN_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TAN_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TAN_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TAN_Stream, __pyx_vtabptr_5talib_7_ta_lib_TAN_Stream) < (0)) __PYX_ERR(3, 28034, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_TAN_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TAN_Stream) < (0)) __PYX_ERR(3, 28034, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TAN_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TAN_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_TAN_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TANH_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TANH_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_TANH_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_TANH_Stream = &__pyx_vtable_5talib_7_ta_lib_TANH_Stream; - __pyx_vtable_5talib_7_ta_lib_TANH_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_TANH_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11TANH_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_TANH_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11TANH_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TANH_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_TANH_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TANH_Stream)) __PYX_ERR(3, 28169, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TANH_Stream = &__pyx_type_5talib_7_ta_lib_TANH_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TANH_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TANH_Stream) < (0)) __PYX_ERR(3, 28169, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TANH_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TANH_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TANH_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TANH_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TANH_Stream, __pyx_vtabptr_5talib_7_ta_lib_TANH_Stream) < (0)) __PYX_ERR(3, 28169, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_TANH_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TANH_Stream) < (0)) __PYX_ERR(3, 28169, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TANH_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TANH_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_TANH_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TEMA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TEMA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_TEMA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_TEMA_Stream = &__pyx_vtable_5talib_7_ta_lib_TEMA_Stream; - __pyx_vtable_5talib_7_ta_lib_TEMA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_TEMA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11TEMA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_TEMA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11TEMA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28304, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_TEMA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream)) __PYX_ERR(3, 28304, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream = &__pyx_type_5talib_7_ta_lib_TEMA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream) < (0)) __PYX_ERR(3, 28304, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream, __pyx_vtabptr_5talib_7_ta_lib_TEMA_Stream) < (0)) __PYX_ERR(3, 28304, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_TEMA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream) < (0)) __PYX_ERR(3, 28304, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_TEMA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TRANGE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TRANGE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_TRANGE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_TRANGE_Stream = &__pyx_vtable_5talib_7_ta_lib_TRANGE_Stream; - __pyx_vtable_5talib_7_ta_lib_TRANGE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_TRANGE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_13TRANGE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_TRANGE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_13TRANGE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28441, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_TRANGE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream)) __PYX_ERR(3, 28441, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream = &__pyx_type_5talib_7_ta_lib_TRANGE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream) < (0)) __PYX_ERR(3, 28441, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream, __pyx_vtabptr_5talib_7_ta_lib_TRANGE_Stream) < (0)) __PYX_ERR(3, 28441, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_TRANGE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream) < (0)) __PYX_ERR(3, 28441, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_TRANGE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TRIMA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TRIMA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_TRIMA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_TRIMA_Stream = &__pyx_vtable_5talib_7_ta_lib_TRIMA_Stream; - __pyx_vtable_5talib_7_ta_lib_TRIMA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_TRIMA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_12TRIMA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_TRIMA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_12TRIMA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28580, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_TRIMA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream)) __PYX_ERR(3, 28580, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream = &__pyx_type_5talib_7_ta_lib_TRIMA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream) < (0)) __PYX_ERR(3, 28580, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream, __pyx_vtabptr_5talib_7_ta_lib_TRIMA_Stream) < (0)) __PYX_ERR(3, 28580, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_TRIMA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream) < (0)) __PYX_ERR(3, 28580, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_TRIMA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TRIX_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TRIX_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_TRIX_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_TRIX_Stream = &__pyx_vtable_5talib_7_ta_lib_TRIX_Stream; - __pyx_vtable_5talib_7_ta_lib_TRIX_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_TRIX_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11TRIX_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_TRIX_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11TRIX_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28717, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_TRIX_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream)) __PYX_ERR(3, 28717, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream = &__pyx_type_5talib_7_ta_lib_TRIX_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream) < (0)) __PYX_ERR(3, 28717, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream, __pyx_vtabptr_5talib_7_ta_lib_TRIX_Stream) < (0)) __PYX_ERR(3, 28717, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_TRIX_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream) < (0)) __PYX_ERR(3, 28717, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_TRIX_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TSF_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TSF_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_TSF_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_TSF_Stream = &__pyx_vtable_5talib_7_ta_lib_TSF_Stream; - __pyx_vtable_5talib_7_ta_lib_TSF_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_TSF_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10TSF_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_TSF_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10TSF_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSF_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_TSF_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSF_Stream)) __PYX_ERR(3, 28854, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSF_Stream = &__pyx_type_5talib_7_ta_lib_TSF_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSF_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSF_Stream) < (0)) __PYX_ERR(3, 28854, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSF_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSF_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSF_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSF_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSF_Stream, __pyx_vtabptr_5talib_7_ta_lib_TSF_Stream) < (0)) __PYX_ERR(3, 28854, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_TSF_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSF_Stream) < (0)) __PYX_ERR(3, 28854, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSF_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSF_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_TSF_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TSI_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TSI_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_TSI_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_TSI_Stream = &__pyx_vtable_5talib_7_ta_lib_TSI_Stream; - __pyx_vtable_5talib_7_ta_lib_TSI_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_TSI_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10TSI_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_TSI_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10TSI_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 28991, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSI_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_TSI_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSI_Stream)) __PYX_ERR(3, 28991, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSI_Stream = &__pyx_type_5talib_7_ta_lib_TSI_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSI_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSI_Stream) < (0)) __PYX_ERR(3, 28991, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSI_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSI_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSI_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSI_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSI_Stream, __pyx_vtabptr_5talib_7_ta_lib_TSI_Stream) < (0)) __PYX_ERR(3, 28991, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_TSI_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSI_Stream) < (0)) __PYX_ERR(3, 28991, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSI_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TSI_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_TSI_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_TYPPRICE_Stream = &__pyx_vtable_5talib_7_ta_lib_TYPPRICE_Stream; - __pyx_vtable_5talib_7_ta_lib_TYPPRICE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_TYPPRICE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15TYPPRICE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_TYPPRICE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15TYPPRICE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_TYPPRICE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream)) __PYX_ERR(3, 29129, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream = &__pyx_type_5talib_7_ta_lib_TYPPRICE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream) < (0)) __PYX_ERR(3, 29129, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream, __pyx_vtabptr_5talib_7_ta_lib_TYPPRICE_Stream) < (0)) __PYX_ERR(3, 29129, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_TYPPRICE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream) < (0)) __PYX_ERR(3, 29129, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ULTOSC_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ULTOSC_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ULTOSC_Stream = &__pyx_vtable_5talib_7_ta_lib_ULTOSC_Stream; - __pyx_vtable_5talib_7_ta_lib_ULTOSC_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ULTOSC_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_13ULTOSC_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ULTOSC_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_13ULTOSC_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ULTOSC_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream)) __PYX_ERR(3, 29268, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream = &__pyx_type_5talib_7_ta_lib_ULTOSC_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream) < (0)) __PYX_ERR(3, 29268, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream, __pyx_vtabptr_5talib_7_ta_lib_ULTOSC_Stream) < (0)) __PYX_ERR(3, 29268, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ULTOSC_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream) < (0)) __PYX_ERR(3, 29268, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ULTOSC_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VAR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VAR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_VAR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_VAR_Stream = &__pyx_vtable_5talib_7_ta_lib_VAR_Stream; - __pyx_vtable_5talib_7_ta_lib_VAR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_VAR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10VAR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_VAR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10VAR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VAR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_VAR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VAR_Stream)) __PYX_ERR(3, 29411, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VAR_Stream = &__pyx_type_5talib_7_ta_lib_VAR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VAR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VAR_Stream) < (0)) __PYX_ERR(3, 29411, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VAR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VAR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VAR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VAR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VAR_Stream, __pyx_vtabptr_5talib_7_ta_lib_VAR_Stream) < (0)) __PYX_ERR(3, 29411, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_VAR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VAR_Stream) < (0)) __PYX_ERR(3, 29411, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VAR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VAR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_VAR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VHF_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VHF_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_VHF_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_VHF_Stream = &__pyx_vtable_5talib_7_ta_lib_VHF_Stream; - __pyx_vtable_5talib_7_ta_lib_VHF_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_VHF_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10VHF_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_VHF_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10VHF_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29549, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VHF_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_VHF_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VHF_Stream)) __PYX_ERR(3, 29549, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VHF_Stream = &__pyx_type_5talib_7_ta_lib_VHF_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VHF_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VHF_Stream) < (0)) __PYX_ERR(3, 29549, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VHF_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VHF_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VHF_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VHF_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VHF_Stream, __pyx_vtabptr_5talib_7_ta_lib_VHF_Stream) < (0)) __PYX_ERR(3, 29549, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_VHF_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VHF_Stream) < (0)) __PYX_ERR(3, 29549, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VHF_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VHF_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_VHF_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VORTEX_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VORTEX_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_VORTEX_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_VORTEX_Stream = &__pyx_vtable_5talib_7_ta_lib_VORTEX_Stream; - __pyx_vtable_5talib_7_ta_lib_VORTEX_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_VORTEX_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_13VORTEX_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_VORTEX_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_13VORTEX_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29686, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_VORTEX_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream)) __PYX_ERR(3, 29686, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream = &__pyx_type_5talib_7_ta_lib_VORTEX_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream) < (0)) __PYX_ERR(3, 29686, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream, __pyx_vtabptr_5talib_7_ta_lib_VORTEX_Stream) < (0)) __PYX_ERR(3, 29686, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_VORTEX_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream) < (0)) __PYX_ERR(3, 29686, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_VORTEX_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VWAP_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VWAP_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_VWAP_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_VWAP_Stream = &__pyx_vtable_5talib_7_ta_lib_VWAP_Stream; - __pyx_vtable_5talib_7_ta_lib_VWAP_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_VWAP_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11VWAP_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_VWAP_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11VWAP_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29834, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_VWAP_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream)) __PYX_ERR(3, 29834, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream = &__pyx_type_5talib_7_ta_lib_VWAP_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream) < (0)) __PYX_ERR(3, 29834, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream, __pyx_vtabptr_5talib_7_ta_lib_VWAP_Stream) < (0)) __PYX_ERR(3, 29834, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_VWAP_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream) < (0)) __PYX_ERR(3, 29834, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_VWAP_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VWMA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VWMA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_VWMA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_VWMA_Stream = &__pyx_vtable_5talib_7_ta_lib_VWMA_Stream; - __pyx_vtable_5talib_7_ta_lib_VWMA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_VWMA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_11VWMA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_VWMA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_11VWMA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 29975, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_VWMA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream)) __PYX_ERR(3, 29975, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream = &__pyx_type_5talib_7_ta_lib_VWMA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream) < (0)) __PYX_ERR(3, 29975, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream, __pyx_vtabptr_5talib_7_ta_lib_VWMA_Stream) < (0)) __PYX_ERR(3, 29975, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_VWMA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream) < (0)) __PYX_ERR(3, 29975, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_VWMA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WAD_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WAD_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_WAD_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_WAD_Stream = &__pyx_vtable_5talib_7_ta_lib_WAD_Stream; - __pyx_vtable_5talib_7_ta_lib_WAD_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_WAD_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10WAD_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_WAD_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10WAD_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30115, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WAD_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_WAD_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WAD_Stream)) __PYX_ERR(3, 30115, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WAD_Stream = &__pyx_type_5talib_7_ta_lib_WAD_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WAD_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WAD_Stream) < (0)) __PYX_ERR(3, 30115, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WAD_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WAD_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WAD_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WAD_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WAD_Stream, __pyx_vtabptr_5talib_7_ta_lib_WAD_Stream) < (0)) __PYX_ERR(3, 30115, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_WAD_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WAD_Stream) < (0)) __PYX_ERR(3, 30115, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WAD_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WAD_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_WAD_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_WCLPRICE_Stream = &__pyx_vtable_5talib_7_ta_lib_WCLPRICE_Stream; - __pyx_vtable_5talib_7_ta_lib_WCLPRICE_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_WCLPRICE_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_15WCLPRICE_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_WCLPRICE_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_15WCLPRICE_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30254, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_WCLPRICE_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream)) __PYX_ERR(3, 30254, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream = &__pyx_type_5talib_7_ta_lib_WCLPRICE_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream) < (0)) __PYX_ERR(3, 30254, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream, __pyx_vtabptr_5talib_7_ta_lib_WCLPRICE_Stream) < (0)) __PYX_ERR(3, 30254, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_WCLPRICE_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream) < (0)) __PYX_ERR(3, 30254, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WILLR_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WILLR_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_WILLR_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_WILLR_Stream = &__pyx_vtable_5talib_7_ta_lib_WILLR_Stream; - __pyx_vtable_5talib_7_ta_lib_WILLR_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_WILLR_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_12WILLR_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_WILLR_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_12WILLR_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30393, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_WILLR_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream)) __PYX_ERR(3, 30393, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream = &__pyx_type_5talib_7_ta_lib_WILLR_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream) < (0)) __PYX_ERR(3, 30393, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream, __pyx_vtabptr_5talib_7_ta_lib_WILLR_Stream) < (0)) __PYX_ERR(3, 30393, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_WILLR_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream) < (0)) __PYX_ERR(3, 30393, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_WILLR_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WMA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WMA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_WMA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_WMA_Stream = &__pyx_vtable_5talib_7_ta_lib_WMA_Stream; - __pyx_vtable_5talib_7_ta_lib_WMA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_WMA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_10WMA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_WMA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_10WMA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WMA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_WMA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WMA_Stream)) __PYX_ERR(3, 30534, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WMA_Stream = &__pyx_type_5talib_7_ta_lib_WMA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WMA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WMA_Stream) < (0)) __PYX_ERR(3, 30534, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WMA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WMA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WMA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WMA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WMA_Stream, __pyx_vtabptr_5talib_7_ta_lib_WMA_Stream) < (0)) __PYX_ERR(3, 30534, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_WMA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WMA_Stream) < (0)) __PYX_ERR(3, 30534, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WMA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_WMA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_WMA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ZLEMA_Stream(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ZLEMA_Stream", 0); - /*--- Exttype __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream ---*/ - __pyx_vtabptr_5talib_7_ta_lib_ZLEMA_Stream = &__pyx_vtable_5talib_7_ta_lib_ZLEMA_Stream; - __pyx_vtable_5talib_7_ta_lib_ZLEMA_Stream.__pyx_base = *__pyx_vtabptr_5talib_7_ta_lib_Stream; - __pyx_vtable_5talib_7_ta_lib_ZLEMA_Stream.__pyx_base._out_range = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *, int *, int *))__pyx_f_5talib_7_ta_lib_12ZLEMA_Stream__out_range; - __pyx_vtable_5talib_7_ta_lib_ZLEMA_Stream.__pyx_base._advance = (TA_RetCode (*)(struct __pyx_obj_5talib_7_ta_lib_Stream *))__pyx_f_5talib_7_ta_lib_12ZLEMA_Stream__advance; - #if CYTHON_USE_TYPE_SPECS - __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 30671, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5talib_7_ta_lib_ZLEMA_Stream_spec, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream)) __PYX_ERR(3, 30671, __pyx_L1_error) - #else - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream = &__pyx_type_5talib_7_ta_lib_ZLEMA_Stream; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream->tp_base = __pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream; - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream) < (0)) __PYX_ERR(3, 30671, __pyx_L1_error) - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream); - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream->tp_dictoffset && __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream->tp_getattro = PyObject_GenericGetAttr; - } - #endif - if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream, __pyx_vtabptr_5talib_7_ta_lib_ZLEMA_Stream) < (0)) __PYX_ERR(3, 30671, __pyx_L1_error) - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ZLEMA_Stream, (PyObject *) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream) < (0)) __PYX_ERR(3, 30671, __pyx_L1_error) - #if CYTHON_USE_TYPE_SLOTS - if (__pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream->tp_weaklistoffset = offsetof(struct __pyx_obj_5talib_7_ta_lib_ZLEMA_Stream, __pyx_base.__weakref__); - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Type_import_code(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Type_import_code", 0); - /*--- Type import code ---*/ - __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_3_0(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyTypeObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - 0, 0, - #else - sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyHeapTypeObject), - #endif - __Pyx_ImportType_CheckSize_Warn_3_3_0); if (!__pyx_mstate->__pyx_ptype_7cpython_4type_type) __PYX_ERR(7, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_mstate->__pyx_ptype_5numpy_dtype = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "dtype", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArray_Descr), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArray_Descr), - #else - sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArray_Descr), - #endif - __Pyx_ImportType_CheckSize_Ignore_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_dtype) __PYX_ERR(4, 229, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_flatiter = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "flatiter", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayIterObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayIterObject), - #else - sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayIterObject), - #endif - __Pyx_ImportType_CheckSize_Ignore_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_flatiter) __PYX_ERR(4, 286, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_broadcast = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "broadcast", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayMultiIterObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayMultiIterObject), - #else - sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayMultiIterObject), - #endif - __Pyx_ImportType_CheckSize_Ignore_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_broadcast) __PYX_ERR(4, 290, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_ndarray = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "ndarray", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayObject), - #else - sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayObject), - #endif - __Pyx_ImportType_CheckSize_Ignore_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_ndarray) __PYX_ERR(4, 329, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_generic = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "generic", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #else - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #endif - __Pyx_ImportType_CheckSize_Warn_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_generic) __PYX_ERR(4, 847, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_number = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "number", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #else - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #endif - __Pyx_ImportType_CheckSize_Warn_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_number) __PYX_ERR(4, 849, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_integer = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "integer", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #else - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #endif - __Pyx_ImportType_CheckSize_Warn_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_integer) __PYX_ERR(4, 851, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_signedinteger = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "signedinteger", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #else - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #endif - __Pyx_ImportType_CheckSize_Warn_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_signedinteger) __PYX_ERR(4, 853, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "unsignedinteger", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #else - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #endif - __Pyx_ImportType_CheckSize_Warn_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(4, 855, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_inexact = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "inexact", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #else - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #endif - __Pyx_ImportType_CheckSize_Warn_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_inexact) __PYX_ERR(4, 857, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_floating = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "floating", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #else - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #endif - __Pyx_ImportType_CheckSize_Warn_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_floating) __PYX_ERR(4, 859, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_complexfloating = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "complexfloating", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #else - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #endif - __Pyx_ImportType_CheckSize_Warn_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_complexfloating) __PYX_ERR(4, 861, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_flexible = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "flexible", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #else - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #endif - __Pyx_ImportType_CheckSize_Warn_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_flexible) __PYX_ERR(4, 863, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_character = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "character", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #else - sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject), - #endif - __Pyx_ImportType_CheckSize_Warn_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_character) __PYX_ERR(4, 865, __pyx_L1_error) - __pyx_mstate->__pyx_ptype_5numpy_ufunc = __Pyx_ImportType_3_3_0(__pyx_t_1, "numpy", "ufunc", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyUFuncObject), - #elif CYTHON_COMPILING_IN_LIMITED_API - sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyUFuncObject), - #else - sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyUFuncObject), - #endif - __Pyx_ImportType_CheckSize_Ignore_3_3_0); if (!__pyx_mstate->__pyx_ptype_5numpy_ufunc) __PYX_ERR(4, 946, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_Variable_import_code(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Variable_import_code", 0); - /*--- Variable import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_Function_import_code(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_modinit_Function_import_code", 0); - /*--- Function import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -#if CYTHON_PEP489_MULTI_PHASE_INIT -static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ -static int __pyx_pymod_exec__ta_lib(PyObject* module); /*proto*/ -static PyModuleDef_Slot __pyx_moduledef_slots[] = { - {Py_mod_create, (void*)__pyx_pymod_create}, - {Py_mod_exec, (void*)__pyx_pymod_exec__ta_lib}, - #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - {Py_mod_gil, __Pyx_FREETHREADING_COMPATIBLE}, - #endif - #if PY_VERSION_HEX >= 0x030C0000 && CYTHON_USE_MODULE_STATE - {Py_mod_multiple_interpreters, Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED}, - #endif - {0, NULL} -}; -#endif - -#ifdef __cplusplus -namespace { - struct PyModuleDef __pyx_moduledef = - #else - static struct PyModuleDef __pyx_moduledef = - #endif - { - PyModuleDef_HEAD_INIT, - "_ta_lib", - 0, /* m_doc */ - #if CYTHON_USE_MODULE_STATE - sizeof(__pyx_mstatetype), /* m_size */ - #else - (CYTHON_PEP489_MULTI_PHASE_INIT) ? 0 : -1, /* m_size */ - #endif - __pyx_methods /* m_methods */, - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_moduledef_slots, /* m_slots */ - #else - NULL, /* m_reload */ - #endif - #if CYTHON_USE_MODULE_STATE - __pyx_m_traverse, /* m_traverse */ - __pyx_m_clear, /* m_clear */ - NULL /* m_free */ - #else - NULL, /* m_traverse */ - NULL, /* m_clear */ - NULL /* m_free */ - #endif - }; - #ifdef __cplusplus -} /* anonymous namespace */ -#endif - -/* PyModInitFuncType */ -#ifndef CYTHON_NO_PYINIT_EXPORT - #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC -#else - #ifdef __cplusplus - #define __Pyx_PyMODINIT_FUNC extern "C" PyObject * - #else - #define __Pyx_PyMODINIT_FUNC PyObject * - #endif -#endif - -__Pyx_PyMODINIT_FUNC PyInit__ta_lib(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC PyInit__ta_lib(void) -#if CYTHON_PEP489_MULTI_PHASE_INIT -{ - return PyModuleDef_Init(&__pyx_moduledef); -} -/* ModuleCreationPEP489 */ -#if CYTHON_COMPILING_IN_LIMITED_API && (__PYX_LIMITED_VERSION_HEX < 0x030A0000 &&\ - (defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS))) -static PY_INT64_T __Pyx_GetCurrentInterpreterId(void) { - { - PyObject *module = PyImport_ImportModule("_interpreters"); // 3.13+ I think - if (!module) { - if (!PyErr_ExceptionMatches(PyExc_Exception)) { - goto bad; // BaseException - } - PyErr_Clear(); // just try the 3.8-3.12 version - module = PyImport_ImportModule("_xxsubinterpreters"); - if (!module) goto bad; - } - PyObject *current = PyObject_CallMethod(module, "get_current", NULL); - Py_DECREF(module); - if (!current) goto bad; - if (PyTuple_Check(current)) { - PyObject *new_current = PySequence_GetItem(current, 0); - Py_DECREF(current); - current = new_current; - if (!new_current) goto bad; - } - long long as_c_int = PyLong_AsLongLong(current); - Py_DECREF(current); - return as_c_int; - } - bad: - PySys_WriteStderr("__Pyx_GetCurrentInterpreterId failed. Try setting the C define CYTHON_PEP489_MULTI_PHASE_INIT=0\n"); - return -1; -} -#endif -#if !CYTHON_USE_MODULE_STATE -static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { - static PY_INT64_T main_interpreter_id = -1; -#if CYTHON_COMPILING_IN_GRAAL && defined(GRAALPY_VERSION_NUM) && GRAALPY_VERSION_NUM > 0x19000000 - PY_INT64_T current_id = GraalPyInterpreterState_GetIDFromThreadState(PyThreadState_Get()); -#elif CYTHON_COMPILING_IN_GRAAL - PY_INT64_T current_id = PyInterpreterState_GetIDFromThreadState(PyThreadState_Get()); -#elif CYTHON_COMPILING_IN_LIMITED_API && (__PYX_LIMITED_VERSION_HEX < 0x030A0000 &&\ - (defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS))) - PY_INT64_T current_id = __Pyx_GetCurrentInterpreterId(); -#elif CYTHON_COMPILING_IN_LIMITED_API - PY_INT64_T current_id = PyInterpreterState_GetID(PyInterpreterState_Get()); -#else - PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); -#endif - if (unlikely(current_id == -1)) { - return -1; - } - if (main_interpreter_id == -1) { - main_interpreter_id = current_id; - return 0; - } else if (unlikely(main_interpreter_id != current_id)) { - PyErr_SetString( - PyExc_ImportError, - "Interpreter change detected - this module can only be loaded into one interpreter per process."); - return -1; - } - return 0; -} -#endif -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) -{ - PyObject *value = PyObject_GetAttrString(spec, from_name); - int result = 0; - if (likely(value)) { - if (allow_none || value != Py_None) { - result = PyDict_SetItemString(moddict, to_name, value); - } - Py_DECREF(value); - } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Clear(); - } else { - result = -1; - } - return result; -} -static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) { - PyObject *module = NULL, *moddict, *modname; - CYTHON_UNUSED_VAR(def); - #if !CYTHON_USE_MODULE_STATE - if (__Pyx_check_single_interpreter()) - return NULL; - #endif - if (__pyx_m) - return __Pyx_NewRef(__pyx_m); - modname = PyObject_GetAttrString(spec, "name"); - if (unlikely(!modname)) goto bad; - module = PyModule_NewObject(modname); - Py_DECREF(modname); - if (unlikely(!module)) goto bad; - moddict = PyModule_GetDict(module); - if (unlikely(!moddict)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; - return module; -bad: - Py_XDECREF(module); - return NULL; -} - - -static CYTHON_SMALL_CODE int __pyx_pymod_exec__ta_lib(PyObject *__pyx_pyinit_module) -#endif -{ - int stringtab_initialized = 0; - #if CYTHON_USE_MODULE_STATE - int pystate_addmodule_run = 0; - #endif - __pyx_mstatetype *__pyx_mstate = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - size_t __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *(*__pyx_t_22)(PyObject *); - Py_ssize_t __pyx_t_23; - double __pyx_t_24; - int __pyx_t_25; - PyObject *__pyx_t_26 = NULL; - PyObject *__pyx_t_27 = NULL; - PyObject *__pyx_t_28 = NULL; - int __pyx_t_29; - PyObject *__pyx_t_30 = NULL; - PyObject *__pyx_t_31 = NULL; - int __pyx_t_32; - int __pyx_t_33; - int __pyx_t_34; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - #if CYTHON_PEP489_MULTI_PHASE_INIT - if (__pyx_m) { - if (__pyx_m == __pyx_pyinit_module) return 0; - PyErr_SetString(PyExc_RuntimeError, "Module '_ta_lib' has already been imported. Re-initialisation is not supported."); - return -1; - } - #else - if (__pyx_m) return __Pyx_NewRef(__pyx_m); - #endif - /*--- Module creation code ---*/ - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_t_1 = __pyx_pyinit_module; - Py_INCREF(__pyx_t_1); - #else - __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #if CYTHON_USE_MODULE_STATE - { - int add_module_result = __Pyx_State_AddModule(__pyx_t_1, &__pyx_moduledef); - __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "_ta_lib" pseudovariable */ - if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - pystate_addmodule_run = 1; - } - #else - __pyx_m = __pyx_t_1; - #endif - #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - PyUnstable_Module_SetGIL(__pyx_m, Py_MOD_GIL_NOT_USED); - #endif - __pyx_mstate = __pyx_mstate_global; - CYTHON_UNUSED_VAR(__pyx_t_1); - __pyx_mstate->__pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_mstate->__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_mstate->__pyx_d); - __pyx_mstate->__pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_mstate->__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_mstate->__pyx_cython_runtime = __Pyx_PyImport_AddModuleRef("cython_runtime"); if (unlikely(!__pyx_mstate->__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) - if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_mstate->__pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /* ImportRefnannyAPI */ - #if CYTHON_REFNANNY - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); - if (!__Pyx_RefNanny) { - if (PyErr_ExceptionMatches(PyExc_Exception)) { - PyErr_Clear(); - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); - } - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); - } - #endif - -__Pyx_RefNannySetupContext("PyInit__ta_lib", 0); - __Pyx_init_runtime_version(); - if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < (0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_mstate->__pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_mstate->__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_mstate->__pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_mstate->__pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Library function declarations ---*/ - /*--- Initialize various global constants etc. ---*/ - if (__Pyx_InitConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error) - stringtab_initialized = 1; - if (__Pyx_InitGlobals() < (0)) __PYX_ERR(0, 1, __pyx_L1_error) - if (__pyx_module_is_main_talib___ta_lib) { - if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_name_2, __pyx_mstate_global->__pyx_n_u_main) < (0)) __PYX_ERR(0, 1, __pyx_L1_error) - } - { - PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) - if (!PyDict_GetItemString(modules, "talib._ta_lib")) { - if (unlikely((PyDict_SetItemString(modules, "talib._ta_lib", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - /*--- Builtin init code ---*/ - if (__Pyx_InitCachedBuiltins(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Constants init code ---*/ - if (__Pyx_InitCachedConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error) - if (__Pyx_CreateCodeObjects(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Global type/function init code ---*/ - (void)__Pyx_modinit_Global_init_code(__pyx_mstate); - (void)__Pyx_modinit_Variable_export_code(__pyx_mstate); - (void)__Pyx_modinit_Function_export_code(__pyx_mstate); - /*--- Type init code ---*/ - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib__TA_ReadLease(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib__TA_WriteLease(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AC_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ACCBANDS_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ACOS_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AD_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADD_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADOSC_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADX_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ADXR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AO_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_APO_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AROON_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AROONOSC_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ASIN_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ATAN_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ATR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AVGDEV_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_AVGPRICE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_BBANDS_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_BETA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_BOP_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CCI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL2CROWS_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3BLACKCROWS_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3INSIDE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3LINESTRIKE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3OUTSIDE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLABANDONEDBABY_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLBELTHOLD_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLBREAKAWAY_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDOJI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDOJISTAR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLENGULFING_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLEVENINGSTAR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHAMMER_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHANGINGMAN_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHARAMI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHARAMICROSS_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHIGHWAVE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHIKKAKE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLINNECK_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLKICKING_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLLONGLINE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMARUBOZU_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMATCHINGLOW_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMATHOLD_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLMORNINGSTAR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLONNECK_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLPIERCING_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSHORTLINE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSPINNINGTOP_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTAKURI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTASUKIGAP_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTHRUSTING_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLTRISTAR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CEIL_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CMF_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CMO_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CMOU_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_COPPOCK_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CORREL_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_COS_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_COSH_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CUMSUM_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_CVI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DEMA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DIV_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DONCHIAN_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DPO_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_DX_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_EFI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_EMA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ER_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ERI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_EXP_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_FLOOR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_FOSC_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_FRACTAL_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HMA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_DCPERIOD_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_DCPHASE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_PHASOR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_SINE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_TRENDLINE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_HT_TRENDMODE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_IMI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_KAMA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_KC_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_KDJ_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_ANGLE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LINEARREG_SLOPE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LN_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_LOG10_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MACD_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MACDEXT_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MACDFIX_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAMA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MARKETFI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MASSI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAVP_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAX_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MAXINDEX_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MEDPRICE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MFI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MIDPOINT_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MIDPRICE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MIN_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MININDEX_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINMAX_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINMAXINDEX_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINUS_DI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MINUS_DM_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MOM_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_MULT_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_NATR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_NVI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_OBV_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PERCENTILE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PERCENTRANK_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PLUS_DI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PLUS_DM_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PPO_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PVI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PVO_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_PVT_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_QSTICK_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RMA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROC_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROCP_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROCR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ROCR100_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RSI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RVI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_RVOL_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SAR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SAREXT_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SIN_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SINH_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SMA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SMI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SQRT_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STDDEV_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STOCH_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STOCHF_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_STOCHRSI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SUB_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SUM_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_SUPERTREND_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_T3_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TAN_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TANH_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TEMA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TRANGE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TRIMA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TRIX_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TSF_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TSI_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_TYPPRICE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ULTOSC_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VAR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VHF_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VORTEX_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VWAP_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_VWMA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WAD_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WCLPRICE_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WILLR_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_WMA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Exttype___pyx_obj_5talib_7_ta_lib_ZLEMA_Stream(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely((__Pyx_modinit_Type_import_code(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - (void)__Pyx_modinit_Variable_import_code(__pyx_mstate); - (void)__Pyx_modinit_Function_import_code(__pyx_mstate); - if (__Pyx_InitAfterSharedUtility() < (0)) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Execution code ---*/ - - __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_warnings, 0, 0, __pyx_mstate_global->__pyx_kp_u_talib_warnings, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error) - __pyx_t_2 = __pyx_t_1; - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_warnings, __pyx_t_2) < (0)) __PYX_ERR(1, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyBytes_FromString(TA_GetVersionString()); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_version, __pyx_t_2) < (0)) __PYX_ERR(1, 7, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_v_5talib_7_ta_lib__ta_readers = 0; - - __pyx_v_5talib_7_ta_lib__ta_live_streams = 0; - - __pyx_v_5talib_7_ta_lib__ta_writing = 0; - - __pyx_v_5talib_7_ta_lib__ta_initialized = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13_TA_ReadLease_1__enter__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TA_ReadLease___enter, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[0])); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_mstate_global->__pyx_n_u_enter, __pyx_t_2) < (0)) __PYX_ERR(1, 62, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13_TA_ReadLease_3__exit__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TA_ReadLease___exit, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1])); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_mstate_global->__pyx_n_u_exit, __pyx_t_2) < (0)) __PYX_ERR(1, 65, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13_TA_ReadLease_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TA_ReadLease___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[2])); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_2) < (0)) __PYX_ERR(5, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13_TA_ReadLease_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TA_ReadLease___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[3])); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_ReadLease, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_2) < (0)) __PYX_ERR(5, 17, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_14_TA_WriteLease_1__enter__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TA_WriteLease___enter, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[4])); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease, __pyx_mstate_global->__pyx_n_u_enter, __pyx_t_2) < (0)) __PYX_ERR(1, 70, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_14_TA_WriteLease_3__exit__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TA_WriteLease___exit, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[5])); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease, __pyx_mstate_global->__pyx_n_u_exit, __pyx_t_2) < (0)) __PYX_ERR(1, 77, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_14_TA_WriteLease_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TA_WriteLease___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[6])); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_2) < (0)) __PYX_ERR(5, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_14_TA_WriteLease_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TA_WriteLease___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[7])); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib__TA_WriteLease, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_2) < (0)) __PYX_ERR(5, 17, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - { - PyObject* __pyx_temp[1] = {((PyObject *)(((PyTypeObject*)PyExc_Exception)))}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_InsufficientHistory, __pyx_mstate_global->__pyx_n_u_InsufficientHistory, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_kp_u_Not_enough_history_to_open_a_str); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_3 != __pyx_t_2) { - if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_2) < 0))) __PYX_ERR(1, 82, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_InsufficientHistory, __pyx_t_3, __pyx_t_5, NULL, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_InsufficientHistory, __pyx_t_2) < (0)) __PYX_ERR(1, 82, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_1_ta_check_success, 0, __pyx_mstate_global->__pyx_n_u_ta_check_success, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[8])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_check_success, __pyx_t_3) < (0)) __PYX_ERR(1, 88, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_3_ta_initialize, 0, __pyx_mstate_global->__pyx_n_u_ta_initialize, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[9])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_initialize, __pyx_t_3) < (0)) __PYX_ERR(1, 135, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyBool_FromLong(((int)0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 145, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_4 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 145, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_5_ta_shutdown, 0, __pyx_mstate_global->__pyx_n_u_ta_shutdown, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[10])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 145, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_shutdown, __pyx_t_3) < (0)) __PYX_ERR(1, 145, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_mstate_global->__pyx_tuple[7]); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_MA_Type, __pyx_mstate_global->__pyx_n_u_MA_Type, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, (PyObject *) NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_3 != __pyx_mstate_global->__pyx_tuple[7]) { - if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_mstate_global->__pyx_tuple[7]) < 0))) __PYX_ERR(1, 167, __pyx_L1_error) - } - - __pyx_t_6 = NULL; - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_int_14}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(&PyRange_Type), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - { - Py_ssize_t index = -1; - PyObject** temps[14] = {&__pyx_t_6,&__pyx_t_8,&__pyx_t_9,&__pyx_t_10,&__pyx_t_11,&__pyx_t_12,&__pyx_t_13,&__pyx_t_14,&__pyx_t_15,&__pyx_t_16,&__pyx_t_17,&__pyx_t_18,&__pyx_t_19,&__pyx_t_20}; - __pyx_t_21 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 168, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_22 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_21); - for (index=0; index < 14; index++) { - PyObject* item = __pyx_t_22(__pyx_t_21); if (unlikely(!item)) goto __pyx_L2_unpacking_failed; - __Pyx_GOTREF(item); - *(temps[index]) = item; - } - if (__Pyx_IternextUnpackEndCheck(__pyx_t_22(__pyx_t_21), 14) < (0)) __PYX_ERR(1, 168, __pyx_L1_error) - __pyx_t_22 = NULL; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - goto __pyx_L3_unpacking_done; - __pyx_L2_unpacking_failed:; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_22 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(1, 168, __pyx_L1_error) - __pyx_L3_unpacking_done:; - } - - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_SMA, __pyx_t_6) < (0)) __PYX_ERR(1, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_EMA, __pyx_t_8) < (0)) __PYX_ERR(1, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_WMA, __pyx_t_9) < (0)) __PYX_ERR(1, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_DEMA, __pyx_t_10) < (0)) __PYX_ERR(1, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_TEMA, __pyx_t_11) < (0)) __PYX_ERR(1, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_TRIMA, __pyx_t_12) < (0)) __PYX_ERR(1, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_KAMA, __pyx_t_13) < (0)) __PYX_ERR(1, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_MAMA, __pyx_t_14) < (0)) __PYX_ERR(1, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_T3, __pyx_t_15) < (0)) __PYX_ERR(1, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_HMA, __pyx_t_16) < (0)) __PYX_ERR(1, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_DISABLED, __pyx_t_17) < (0)) __PYX_ERR(1, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_DEFAULT, __pyx_t_18) < (0)) __PYX_ERR(1, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ZLEMA, __pyx_t_19) < (0)) __PYX_ERR(1, 169, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_RMA, __pyx_t_20) < (0)) __PYX_ERR(1, 169, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_7MA_Type_1__init__, 0, __pyx_mstate_global->__pyx_n_u_MA_Type___init, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[11])); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_init, __pyx_t_2) < (0)) __PYX_ERR(1, 171, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_7MA_Type_3__getitem__, 0, __pyx_mstate_global->__pyx_n_u_MA_Type___getitem, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[12])); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 189, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_getitem, __pyx_t_2) < (0)) __PYX_ERR(1, 189, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_MA_Type, __pyx_t_3, __pyx_t_5, NULL, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MA_Type, __pyx_t_2) < (0)) __PYX_ERR(1, 167, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_4 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_MA_Type); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 192, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 192, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MA_Type, __pyx_t_3) < (0)) __PYX_ERR(1, 192, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyDict_NewPresized(25); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_NONE, __pyx_mstate_global->__pyx_int_neg_1) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_ADX); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ADX, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_ATR); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ATR, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_CMO); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 203, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CMO, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_DX); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_DX, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_EMA); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_EMA, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_HT_DCPERIOD); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_HT_DCPERIOD, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_HT_DCPHASE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_HT_DCPHASE, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_HT_PHASOR); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_HT_PHASOR, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_HT_SINE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 209, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_HT_SINE, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_HT_TRENDLINE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_HT_TRENDLINE, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_HT_TRENDMODE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_HT_TRENDMODE, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_KAMA); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 212, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_KAMA, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_MAMA); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_MAMA, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_MINUS_DI); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_MINUS_DI, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_MINUS_DM); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_MINUS_DM, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_NATR); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_NATR, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_PLUS_DI); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 217, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PLUS_DI, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_PLUS_DM); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 218, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PLUS_DM, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_RSI); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_RSI, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_T3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_T3, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_RMA); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_RMA, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_HA); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_HA, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_RVI); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 223, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_RVI, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_TA_FuncUnstId(TA_FUNC_UNST_ALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ALL, __pyx_t_5) < (0)) __PYX_ERR(1, 200, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_func_unst_ids, __pyx_t_3) < (0)) __PYX_ERR(1, 197, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 233, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ADXR, __pyx_mstate_global->__pyx_kp_u_ADXR_has_no_unstable_period_of_i) < (0)) __PYX_ERR(1, 233, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_MFI, __pyx_mstate_global->__pyx_kp_u_MFI_s_unstable_period_was_retire) < (0)) __PYX_ERR(1, 233, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_STOCHRSI, __pyx_mstate_global->__pyx_kp_u_STOCHRSI_has_no_unstable_period) < (0)) __PYX_ERR(1, 233, __pyx_L1_error) - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_func_unst_retired, __pyx_t_3) < (0)) __PYX_ERR(1, 232, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_7_ta_func_unst_id, 0, __pyx_mstate_global->__pyx_n_u_ta_func_unst_id, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[13])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 238, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_func_unst_id, __pyx_t_3) < (0)) __PYX_ERR(1, 238, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_9_ta_set_unstable_period, 0, __pyx_mstate_global->__pyx_n_u_ta_set_unstable_period, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[14])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_set_unstable_period, __pyx_t_3) < (0)) __PYX_ERR(1, 247, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11_ta_get_unstable_period, 0, __pyx_mstate_global->__pyx_n_u_ta_get_unstable_period, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[15])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_get_unstable_period, __pyx_t_3) < (0)) __PYX_ERR(1, 261, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13_ta_set_compatibility, 0, __pyx_mstate_global->__pyx_n_u_ta_set_compatibility, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[16])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 273, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_set_compatibility, __pyx_t_3) < (0)) __PYX_ERR(1, 273, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15_ta_get_compatibility, 0, __pyx_mstate_global->__pyx_n_u_ta_get_compatibility, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[17])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 281, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_get_compatibility, __pyx_t_3) < (0)) __PYX_ERR(1, 281, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_mstate_global->__pyx_tuple[9]); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CandleSettingType, __pyx_mstate_global->__pyx_n_u_CandleSettingType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, (PyObject *) NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_3 != __pyx_mstate_global->__pyx_tuple[9]) { - if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_mstate_global->__pyx_tuple[9]) < 0))) __PYX_ERR(1, 288, __pyx_L1_error) - } - - __pyx_t_20 = NULL; - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_20, __pyx_mstate_global->__pyx_int_12}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(&PyRange_Type), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 291, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - { - Py_ssize_t index = -1; - PyObject** temps[12] = {&__pyx_t_20,&__pyx_t_19,&__pyx_t_18,&__pyx_t_17,&__pyx_t_16,&__pyx_t_15,&__pyx_t_14,&__pyx_t_13,&__pyx_t_12,&__pyx_t_11,&__pyx_t_10,&__pyx_t_9}; - __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 289, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_22 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); - for (index=0; index < 12; index++) { - PyObject* item = __pyx_t_22(__pyx_t_8); if (unlikely(!item)) goto __pyx_L4_unpacking_failed; - __Pyx_GOTREF(item); - *(temps[index]) = item; - } - if (__Pyx_IternextUnpackEndCheck(__pyx_t_22(__pyx_t_8), 12) < (0)) __PYX_ERR(1, 289, __pyx_L1_error) - __pyx_t_22 = NULL; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L5_unpacking_done; - __pyx_L4_unpacking_failed:; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_22 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(1, 289, __pyx_L1_error) - __pyx_L5_unpacking_done:; - } - - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_BodyLong, __pyx_t_20) < (0)) __PYX_ERR(1, 289, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_BodyVeryLong, __pyx_t_19) < (0)) __PYX_ERR(1, 289, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_BodyShort, __pyx_t_18) < (0)) __PYX_ERR(1, 289, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_BodyDoji, __pyx_t_17) < (0)) __PYX_ERR(1, 289, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ShadowLong, __pyx_t_16) < (0)) __PYX_ERR(1, 289, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ShadowVeryLong, __pyx_t_15) < (0)) __PYX_ERR(1, 289, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ShadowShort, __pyx_t_14) < (0)) __PYX_ERR(1, 290, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ShadowVeryShort, __pyx_t_13) < (0)) __PYX_ERR(1, 290, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_Near, __pyx_t_12) < (0)) __PYX_ERR(1, 290, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_Far, __pyx_t_11) < (0)) __PYX_ERR(1, 290, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_Equal, __pyx_t_10) < (0)) __PYX_ERR(1, 290, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_AllCandleSettings, __pyx_t_9) < (0)) __PYX_ERR(1, 290, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_2 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_CandleSettingType, __pyx_t_3, __pyx_t_4, NULL, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CandleSettingType, __pyx_t_2) < (0)) __PYX_ERR(1, 288, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_5 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CandleSettingType); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 293, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 293, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CandleSettingType, __pyx_t_3) < (0)) __PYX_ERR(1, 293, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_mstate_global->__pyx_tuple[11]); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 295, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 295, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_RangeType, __pyx_mstate_global->__pyx_n_u_RangeType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, (PyObject *) NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 295, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_3 != __pyx_mstate_global->__pyx_tuple[11]) { - if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_mstate_global->__pyx_tuple[11]) < 0))) __PYX_ERR(1, 295, __pyx_L1_error) - } - - __pyx_t_9 = NULL; - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_int_3}; - __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(&PyRange_Type), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 296, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - { - Py_ssize_t index = -1; - __pyx_t_12 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 296, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_22 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_12); - index = 0; __pyx_t_9 = __pyx_t_22(__pyx_t_12); if (unlikely(!__pyx_t_9)) goto __pyx_L6_unpacking_failed; - __Pyx_GOTREF(__pyx_t_9); - index = 1; __pyx_t_10 = __pyx_t_22(__pyx_t_12); if (unlikely(!__pyx_t_10)) goto __pyx_L6_unpacking_failed; - __Pyx_GOTREF(__pyx_t_10); - index = 2; __pyx_t_11 = __pyx_t_22(__pyx_t_12); if (unlikely(!__pyx_t_11)) goto __pyx_L6_unpacking_failed; - __Pyx_GOTREF(__pyx_t_11); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_22(__pyx_t_12), 3) < (0)) __PYX_ERR(1, 296, __pyx_L1_error) - __pyx_t_22 = NULL; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L7_unpacking_done; - __pyx_L6_unpacking_failed:; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_22 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(1, 296, __pyx_L1_error) - __pyx_L7_unpacking_done:; - } - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_RealBody, __pyx_t_9) < (0)) __PYX_ERR(1, 296, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_HighLow, __pyx_t_10) < (0)) __PYX_ERR(1, 296, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_Shadows, __pyx_t_11) < (0)) __PYX_ERR(1, 296, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_2 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_RangeType, __pyx_t_3, __pyx_t_5, NULL, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 295, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_RangeType, __pyx_t_2) < (0)) __PYX_ERR(1, 295, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_4 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_RangeType); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_RangeType, __pyx_t_3) < (0)) __PYX_ERR(1, 298, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_17_ta_set_candle_settings, 0, __pyx_mstate_global->__pyx_n_u_ta_set_candle_settings, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[18])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 300, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_set_candle_settings, __pyx_t_3) < (0)) __PYX_ERR(1, 300, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_19_ta_restore_candle_default_settings, 0, __pyx_mstate_global->__pyx_n_u_ta_restore_candle_default_setti, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[19])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_restore_candle_default_setti, __pyx_t_3) < (0)) __PYX_ERR(1, 307, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - { - PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_nan}; - __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_numpy, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_talib_numpy, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 2, __pyx_L1_error) - } - __pyx_t_3 = __pyx_t_1; - __Pyx_GOTREF(__pyx_t_3); - { - PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_nan}; - __pyx_t_23 = 0; { - __pyx_t_5 = __Pyx_ImportFrom(__pyx_t_3, __pyx_imported_names[__pyx_t_23]); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_23], __pyx_t_5) < (0)) __PYX_ERR(6, 2, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_nan); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_24 = __Pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_24 == (double)-1) && PyErr_Occurred())) __PYX_ERR(6, 7, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_5talib_7_ta_lib_NaN = __pyx_t_24; - - __pyx_t_25 = __pyx_f_5numpy_import_array(); if (unlikely(__pyx_t_25 == ((int)-1))) __PYX_ERR(6, 15, __pyx_L1_error) - - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - { - PyObject* __pyx_temp[3] = {__pyx_t_3, __pyx_t_5, __pyx_t_4}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_21AC, 0, __pyx_mstate_global->__pyx_n_u_AC, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[20])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_AC, __pyx_t_4) < (0)) __PYX_ERR(6, 144, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 190, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - { - PyObject* __pyx_temp[1] = {__pyx_t_4}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_23ACCBANDS, 0, __pyx_mstate_global->__pyx_n_u_ACCBANDS, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[21])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ACCBANDS, __pyx_t_4) < (0)) __PYX_ERR(6, 188, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_25ACOS, 0, __pyx_mstate_global->__pyx_n_u_ACOS, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[22])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ACOS, __pyx_t_4) < (0)) __PYX_ERR(6, 237, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_27AD, 0, __pyx_mstate_global->__pyx_n_u_AD, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[23])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_AD, __pyx_t_4) < (0)) __PYX_ERR(6, 276, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_29ADD, 0, __pyx_mstate_global->__pyx_n_u_ADD, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[24])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ADD, __pyx_t_4) < (0)) __PYX_ERR(6, 318, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[2] = {__pyx_t_4, __pyx_t_2}; - __pyx_t_5 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_31ADOSC, 0, __pyx_mstate_global->__pyx_n_u_ADOSC, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[25])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ADOSC, __pyx_t_2) < (0)) __PYX_ERR(6, 359, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 406, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[1] = {__pyx_t_2}; - __pyx_t_5 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 404, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_33ADR, 0, __pyx_mstate_global->__pyx_n_u_ADR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[26])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 404, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ADR, __pyx_t_2) < (0)) __PYX_ERR(6, 404, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[1] = {__pyx_t_2}; - __pyx_t_5 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_35ADX, 0, __pyx_mstate_global->__pyx_n_u_ADX, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[27])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 446, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ADX, __pyx_t_2) < (0)) __PYX_ERR(6, 446, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 491, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[1] = {__pyx_t_2}; - __pyx_t_5 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 489, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_37ADXR, 0, __pyx_mstate_global->__pyx_n_u_ADXR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[28])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 489, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ADXR, __pyx_t_2) < (0)) __PYX_ERR(6, 489, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[2] = {__pyx_t_2, __pyx_t_5}; - __pyx_t_4 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 532, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_39AO, 0, __pyx_mstate_global->__pyx_n_u_AO, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[29])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 532, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_AO, __pyx_t_5) < (0)) __PYX_ERR(6, 532, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 577, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 577, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyLong_From_int(((int)1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 577, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[3] = {__pyx_t_5, __pyx_t_4, __pyx_t_2}; - __pyx_t_3 = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 575, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_41APO, 0, __pyx_mstate_global->__pyx_n_u_APO, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[30])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 575, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_APO, __pyx_t_2) < (0)) __PYX_ERR(6, 575, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 620, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[1] = {__pyx_t_2}; - __pyx_t_3 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_43AROON, 0, __pyx_mstate_global->__pyx_n_u_AROON, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[31])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_AROON, __pyx_t_2) < (0)) __PYX_ERR(6, 618, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 665, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[1] = {__pyx_t_2}; - __pyx_t_3 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 663, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_45AROONOSC, 0, __pyx_mstate_global->__pyx_n_u_AROONOSC, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[32])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 663, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_AROONOSC, __pyx_t_2) < (0)) __PYX_ERR(6, 663, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_47ASIN, 0, __pyx_mstate_global->__pyx_n_u_ASIN, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[33])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 705, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ASIN, __pyx_t_2) < (0)) __PYX_ERR(6, 705, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_49ATAN, 0, __pyx_mstate_global->__pyx_n_u_ATAN, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[34])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ATAN, __pyx_t_2) < (0)) __PYX_ERR(6, 744, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[1] = {__pyx_t_2}; - __pyx_t_3 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 783, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_51ATR, 0, __pyx_mstate_global->__pyx_n_u_ATR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[35])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 783, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ATR, __pyx_t_2) < (0)) __PYX_ERR(6, 783, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 828, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[1] = {__pyx_t_2}; - __pyx_t_3 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 826, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_53AVGDEV, 0, __pyx_mstate_global->__pyx_n_u_AVGDEV, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[36])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 826, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_AVGDEV, __pyx_t_2) < (0)) __PYX_ERR(6, 826, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_55AVGPRICE, 0, __pyx_mstate_global->__pyx_n_u_AVGPRICE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[37])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 867, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_AVGPRICE, __pyx_t_2) < (0)) __PYX_ERR(6, 867, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 911, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 911, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 911, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyLong_From_int(((int)0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 911, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[4] = {__pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 4); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 909, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_57BBANDS, 0, __pyx_mstate_global->__pyx_n_u_BBANDS, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[38])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 909, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_BBANDS, __pyx_t_5) < (0)) __PYX_ERR(6, 909, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 961, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[1] = {__pyx_t_5}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_59BETA, 0, __pyx_mstate_global->__pyx_n_u_BETA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[39])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_BETA, __pyx_t_5) < (0)) __PYX_ERR(6, 959, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_61BOP, 0, __pyx_mstate_global->__pyx_n_u_BOP, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[40])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1002, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_BOP, __pyx_t_5) < (0)) __PYX_ERR(6, 1002, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1046, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[1] = {__pyx_t_5}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 1044, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_63CCI, 0, __pyx_mstate_global->__pyx_n_u_CCI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[41])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1044, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CCI, __pyx_t_5) < (0)) __PYX_ERR(6, 1044, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_65CDL2CROWS, 0, __pyx_mstate_global->__pyx_n_u_CDL2CROWS, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[42])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDL2CROWS, __pyx_t_5) < (0)) __PYX_ERR(6, 1087, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_67CDL3BLACKCROWS, 0, __pyx_mstate_global->__pyx_n_u_CDL3BLACKCROWS, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[43])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDL3BLACKCROWS, __pyx_t_5) < (0)) __PYX_ERR(6, 1129, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_69CDL3INSIDE, 0, __pyx_mstate_global->__pyx_n_u_CDL3INSIDE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[44])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDL3INSIDE, __pyx_t_5) < (0)) __PYX_ERR(6, 1171, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_71CDL3LINESTRIKE, 0, __pyx_mstate_global->__pyx_n_u_CDL3LINESTRIKE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[45])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDL3LINESTRIKE, __pyx_t_5) < (0)) __PYX_ERR(6, 1213, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_73CDL3OUTSIDE, 0, __pyx_mstate_global->__pyx_n_u_CDL3OUTSIDE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[46])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1255, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDL3OUTSIDE, __pyx_t_5) < (0)) __PYX_ERR(6, 1255, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_75CDL3STARSINSOUTH, 0, __pyx_mstate_global->__pyx_n_u_CDL3STARSINSOUTH, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[47])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1297, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDL3STARSINSOUTH, __pyx_t_5) < (0)) __PYX_ERR(6, 1297, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_77CDL3WHITESOLDIERS, 0, __pyx_mstate_global->__pyx_n_u_CDL3WHITESOLDIERS, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[48])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDL3WHITESOLDIERS, __pyx_t_5) < (0)) __PYX_ERR(6, 1339, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyFloat_FromDouble(((double)0.3)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1383, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[1] = {__pyx_t_5}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 1381, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_79CDLABANDONEDBABY, 0, __pyx_mstate_global->__pyx_n_u_CDLABANDONEDBABY, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[49])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1381, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLABANDONEDBABY, __pyx_t_5) < (0)) __PYX_ERR(6, 1381, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_81CDLADVANCEBLOCK, 0, __pyx_mstate_global->__pyx_n_u_CDLADVANCEBLOCK, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[50])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1425, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLADVANCEBLOCK, __pyx_t_5) < (0)) __PYX_ERR(6, 1425, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_83CDLBELTHOLD, 0, __pyx_mstate_global->__pyx_n_u_CDLBELTHOLD, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[51])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1467, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLBELTHOLD, __pyx_t_5) < (0)) __PYX_ERR(6, 1467, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_85CDLBREAKAWAY, 0, __pyx_mstate_global->__pyx_n_u_CDLBREAKAWAY, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[52])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1509, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLBREAKAWAY, __pyx_t_5) < (0)) __PYX_ERR(6, 1509, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_87CDLCLOSINGMARUBOZU, 0, __pyx_mstate_global->__pyx_n_u_CDLCLOSINGMARUBOZU, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[53])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1551, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLCLOSINGMARUBOZU, __pyx_t_5) < (0)) __PYX_ERR(6, 1551, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_89CDLCONCEALBABYSWALL, 0, __pyx_mstate_global->__pyx_n_u_CDLCONCEALBABYSWALL, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[54])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1593, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLCONCEALBABYSWALL, __pyx_t_5) < (0)) __PYX_ERR(6, 1593, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_91CDLCOUNTERATTACK, 0, __pyx_mstate_global->__pyx_n_u_CDLCOUNTERATTACK, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[55])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1635, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLCOUNTERATTACK, __pyx_t_5) < (0)) __PYX_ERR(6, 1635, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyFloat_FromDouble(((double)0.5)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1679, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[1] = {__pyx_t_5}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 1677, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_93CDLDARKCLOUDCOVER, 0, __pyx_mstate_global->__pyx_n_u_CDLDARKCLOUDCOVER, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[56])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1677, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLDARKCLOUDCOVER, __pyx_t_5) < (0)) __PYX_ERR(6, 1677, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_95CDLDOJI, 0, __pyx_mstate_global->__pyx_n_u_CDLDOJI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[57])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1721, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLDOJI, __pyx_t_5) < (0)) __PYX_ERR(6, 1721, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_97CDLDOJISTAR, 0, __pyx_mstate_global->__pyx_n_u_CDLDOJISTAR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[58])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1763, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLDOJISTAR, __pyx_t_5) < (0)) __PYX_ERR(6, 1763, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_99CDLDRAGONFLYDOJI, 0, __pyx_mstate_global->__pyx_n_u_CDLDRAGONFLYDOJI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[59])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1805, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLDRAGONFLYDOJI, __pyx_t_5) < (0)) __PYX_ERR(6, 1805, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_101CDLENGULFING, 0, __pyx_mstate_global->__pyx_n_u_CDLENGULFING, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[60])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1847, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLENGULFING, __pyx_t_5) < (0)) __PYX_ERR(6, 1847, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyFloat_FromDouble(((double)0.3)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1891, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[1] = {__pyx_t_5}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 1889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_103CDLEVENINGDOJISTAR, 0, __pyx_mstate_global->__pyx_n_u_CDLEVENINGDOJISTAR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[61])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLEVENINGDOJISTAR, __pyx_t_5) < (0)) __PYX_ERR(6, 1889, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyFloat_FromDouble(((double)0.3)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1935, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[1] = {__pyx_t_5}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 1933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_105CDLEVENINGSTAR, 0, __pyx_mstate_global->__pyx_n_u_CDLEVENINGSTAR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[62])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLEVENINGSTAR, __pyx_t_5) < (0)) __PYX_ERR(6, 1933, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_107CDLGAPSIDESIDEWHITE, 0, __pyx_mstate_global->__pyx_n_u_CDLGAPSIDESIDEWHITE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[63])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1977, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLGAPSIDESIDEWHITE, __pyx_t_5) < (0)) __PYX_ERR(6, 1977, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_109CDLGRAVESTONEDOJI, 0, __pyx_mstate_global->__pyx_n_u_CDLGRAVESTONEDOJI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[64])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2019, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLGRAVESTONEDOJI, __pyx_t_5) < (0)) __PYX_ERR(6, 2019, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_111CDLHAMMER, 0, __pyx_mstate_global->__pyx_n_u_CDLHAMMER, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[65])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2061, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLHAMMER, __pyx_t_5) < (0)) __PYX_ERR(6, 2061, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_113CDLHANGINGMAN, 0, __pyx_mstate_global->__pyx_n_u_CDLHANGINGMAN, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[66])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2103, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLHANGINGMAN, __pyx_t_5) < (0)) __PYX_ERR(6, 2103, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_115CDLHARAMI, 0, __pyx_mstate_global->__pyx_n_u_CDLHARAMI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[67])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2145, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLHARAMI, __pyx_t_5) < (0)) __PYX_ERR(6, 2145, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_117CDLHARAMICROSS, 0, __pyx_mstate_global->__pyx_n_u_CDLHARAMICROSS, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[68])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2187, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLHARAMICROSS, __pyx_t_5) < (0)) __PYX_ERR(6, 2187, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_119CDLHIGHWAVE, 0, __pyx_mstate_global->__pyx_n_u_CDLHIGHWAVE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[69])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLHIGHWAVE, __pyx_t_5) < (0)) __PYX_ERR(6, 2229, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_121CDLHIKKAKE, 0, __pyx_mstate_global->__pyx_n_u_CDLHIKKAKE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[70])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2271, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLHIKKAKE, __pyx_t_5) < (0)) __PYX_ERR(6, 2271, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_123CDLHIKKAKEMOD, 0, __pyx_mstate_global->__pyx_n_u_CDLHIKKAKEMOD, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[71])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2313, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLHIKKAKEMOD, __pyx_t_5) < (0)) __PYX_ERR(6, 2313, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_125CDLHOMINGPIGEON, 0, __pyx_mstate_global->__pyx_n_u_CDLHOMINGPIGEON, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[72])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2355, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLHOMINGPIGEON, __pyx_t_5) < (0)) __PYX_ERR(6, 2355, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_127CDLIDENTICAL3CROWS, 0, __pyx_mstate_global->__pyx_n_u_CDLIDENTICAL3CROWS, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[73])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2397, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLIDENTICAL3CROWS, __pyx_t_5) < (0)) __PYX_ERR(6, 2397, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_129CDLINNECK, 0, __pyx_mstate_global->__pyx_n_u_CDLINNECK, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[74])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2439, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLINNECK, __pyx_t_5) < (0)) __PYX_ERR(6, 2439, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_131CDLINVERTEDHAMMER, 0, __pyx_mstate_global->__pyx_n_u_CDLINVERTEDHAMMER, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[75])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLINVERTEDHAMMER, __pyx_t_5) < (0)) __PYX_ERR(6, 2481, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_133CDLKICKING, 0, __pyx_mstate_global->__pyx_n_u_CDLKICKING, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[76])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLKICKING, __pyx_t_5) < (0)) __PYX_ERR(6, 2523, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_135CDLKICKINGBYLENGTH, 0, __pyx_mstate_global->__pyx_n_u_CDLKICKINGBYLENGTH, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[77])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLKICKINGBYLENGTH, __pyx_t_5) < (0)) __PYX_ERR(6, 2565, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_137CDLLADDERBOTTOM, 0, __pyx_mstate_global->__pyx_n_u_CDLLADDERBOTTOM, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[78])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2607, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLLADDERBOTTOM, __pyx_t_5) < (0)) __PYX_ERR(6, 2607, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_139CDLLONGLEGGEDDOJI, 0, __pyx_mstate_global->__pyx_n_u_CDLLONGLEGGEDDOJI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[79])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2649, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLLONGLEGGEDDOJI, __pyx_t_5) < (0)) __PYX_ERR(6, 2649, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_141CDLLONGLINE, 0, __pyx_mstate_global->__pyx_n_u_CDLLONGLINE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[80])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2691, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLLONGLINE, __pyx_t_5) < (0)) __PYX_ERR(6, 2691, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_143CDLMARUBOZU, 0, __pyx_mstate_global->__pyx_n_u_CDLMARUBOZU, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[81])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2733, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLMARUBOZU, __pyx_t_5) < (0)) __PYX_ERR(6, 2733, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_145CDLMATCHINGLOW, 0, __pyx_mstate_global->__pyx_n_u_CDLMATCHINGLOW, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[82])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2775, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLMATCHINGLOW, __pyx_t_5) < (0)) __PYX_ERR(6, 2775, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyFloat_FromDouble(((double)0.5)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2819, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[1] = {__pyx_t_5}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 2817, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_147CDLMATHOLD, 0, __pyx_mstate_global->__pyx_n_u_CDLMATHOLD, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[83])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2817, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLMATHOLD, __pyx_t_5) < (0)) __PYX_ERR(6, 2817, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyFloat_FromDouble(((double)0.3)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2863, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[1] = {__pyx_t_5}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 2861, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_149CDLMORNINGDOJISTAR, 0, __pyx_mstate_global->__pyx_n_u_CDLMORNINGDOJISTAR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[84])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2861, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLMORNINGDOJISTAR, __pyx_t_5) < (0)) __PYX_ERR(6, 2861, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyFloat_FromDouble(((double)0.3)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2907, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[1] = {__pyx_t_5}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 2905, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_151CDLMORNINGSTAR, 0, __pyx_mstate_global->__pyx_n_u_CDLMORNINGSTAR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[85])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2905, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLMORNINGSTAR, __pyx_t_5) < (0)) __PYX_ERR(6, 2905, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_153CDLONNECK, 0, __pyx_mstate_global->__pyx_n_u_CDLONNECK, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[86])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLONNECK, __pyx_t_5) < (0)) __PYX_ERR(6, 2949, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_155CDLPIERCING, 0, __pyx_mstate_global->__pyx_n_u_CDLPIERCING, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[87])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 2991, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLPIERCING, __pyx_t_5) < (0)) __PYX_ERR(6, 2991, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_157CDLRICKSHAWMAN, 0, __pyx_mstate_global->__pyx_n_u_CDLRICKSHAWMAN, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[88])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3033, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLRICKSHAWMAN, __pyx_t_5) < (0)) __PYX_ERR(6, 3033, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_159CDLRISEFALL3METHODS, 0, __pyx_mstate_global->__pyx_n_u_CDLRISEFALL3METHODS, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[89])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3075, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLRISEFALL3METHODS, __pyx_t_5) < (0)) __PYX_ERR(6, 3075, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_161CDLSEPARATINGLINES, 0, __pyx_mstate_global->__pyx_n_u_CDLSEPARATINGLINES, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[90])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLSEPARATINGLINES, __pyx_t_5) < (0)) __PYX_ERR(6, 3117, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_163CDLSHOOTINGSTAR, 0, __pyx_mstate_global->__pyx_n_u_CDLSHOOTINGSTAR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[91])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3159, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLSHOOTINGSTAR, __pyx_t_5) < (0)) __PYX_ERR(6, 3159, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_165CDLSHORTLINE, 0, __pyx_mstate_global->__pyx_n_u_CDLSHORTLINE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[92])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLSHORTLINE, __pyx_t_5) < (0)) __PYX_ERR(6, 3201, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_167CDLSPINNINGTOP, 0, __pyx_mstate_global->__pyx_n_u_CDLSPINNINGTOP, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[93])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3243, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLSPINNINGTOP, __pyx_t_5) < (0)) __PYX_ERR(6, 3243, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_169CDLSTALLEDPATTERN, 0, __pyx_mstate_global->__pyx_n_u_CDLSTALLEDPATTERN, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[94])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3285, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLSTALLEDPATTERN, __pyx_t_5) < (0)) __PYX_ERR(6, 3285, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_171CDLSTICKSANDWICH, 0, __pyx_mstate_global->__pyx_n_u_CDLSTICKSANDWICH, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[95])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLSTICKSANDWICH, __pyx_t_5) < (0)) __PYX_ERR(6, 3327, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_173CDLTAKURI, 0, __pyx_mstate_global->__pyx_n_u_CDLTAKURI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[96])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLTAKURI, __pyx_t_5) < (0)) __PYX_ERR(6, 3369, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_175CDLTASUKIGAP, 0, __pyx_mstate_global->__pyx_n_u_CDLTASUKIGAP, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[97])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLTASUKIGAP, __pyx_t_5) < (0)) __PYX_ERR(6, 3411, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_177CDLTHRUSTING, 0, __pyx_mstate_global->__pyx_n_u_CDLTHRUSTING, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[98])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3453, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLTHRUSTING, __pyx_t_5) < (0)) __PYX_ERR(6, 3453, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_179CDLTRISTAR, 0, __pyx_mstate_global->__pyx_n_u_CDLTRISTAR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[99])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3495, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLTRISTAR, __pyx_t_5) < (0)) __PYX_ERR(6, 3495, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_181CDLUNIQUE3RIVER, 0, __pyx_mstate_global->__pyx_n_u_CDLUNIQUE3RIVER, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[100])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLUNIQUE3RIVER, __pyx_t_5) < (0)) __PYX_ERR(6, 3537, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_183CDLUPSIDEGAP2CROWS, 0, __pyx_mstate_global->__pyx_n_u_CDLUPSIDEGAP2CROWS, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[101])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLUPSIDEGAP2CROWS, __pyx_t_5) < (0)) __PYX_ERR(6, 3579, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_185CDLXSIDEGAP3METHODS, 0, __pyx_mstate_global->__pyx_n_u_CDLXSIDEGAP3METHODS, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[102])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3621, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CDLXSIDEGAP3METHODS, __pyx_t_5) < (0)) __PYX_ERR(6, 3621, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_187CEIL, 0, __pyx_mstate_global->__pyx_n_u_CEIL, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[103])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3663, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CEIL, __pyx_t_5) < (0)) __PYX_ERR(6, 3663, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3704, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[1] = {__pyx_t_5}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 3702, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_189CMF, 0, __pyx_mstate_global->__pyx_n_u_CMF, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[104])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3702, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CMF, __pyx_t_5) < (0)) __PYX_ERR(6, 3702, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3748, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[1] = {__pyx_t_5}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 3746, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_191CMO, 0, __pyx_mstate_global->__pyx_n_u_CMO, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[105])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3746, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CMO, __pyx_t_5) < (0)) __PYX_ERR(6, 3746, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3789, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[1] = {__pyx_t_5}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 3787, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_193CMOU, 0, __pyx_mstate_global->__pyx_n_u_CMOU, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[106])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3787, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CMOU, __pyx_t_5) < (0)) __PYX_ERR(6, 3787, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 3830, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_11 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 3830, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 3830, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - { - PyObject* __pyx_temp[3] = {__pyx_t_5, __pyx_t_11, __pyx_t_4}; - __pyx_t_3 = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 3828, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_195COPPOCK, 0, __pyx_mstate_global->__pyx_n_u_COPPOCK, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[107])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 3828, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_COPPOCK, __pyx_t_4) < (0)) __PYX_ERR(6, 3828, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 3873, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - { - PyObject* __pyx_temp[1] = {__pyx_t_4}; - __pyx_t_3 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 3871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_197CORREL, 0, __pyx_mstate_global->__pyx_n_u_CORREL, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[108])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 3871, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CORREL, __pyx_t_4) < (0)) __PYX_ERR(6, 3871, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_199COS, 0, __pyx_mstate_global->__pyx_n_u_COS, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[109])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 3914, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_COS, __pyx_t_4) < (0)) __PYX_ERR(6, 3914, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_201COSH, 0, __pyx_mstate_global->__pyx_n_u_COSH, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[110])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 3953, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_COSH, __pyx_t_4) < (0)) __PYX_ERR(6, 3953, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_203CUMSUM, 0, __pyx_mstate_global->__pyx_n_u_CUMSUM, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[111])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 3992, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUMSUM, __pyx_t_4) < (0)) __PYX_ERR(6, 3992, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4033, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4033, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[2] = {__pyx_t_4, __pyx_t_3}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4031, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_205CVI, 0, __pyx_mstate_global->__pyx_n_u_CVI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[112])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4031, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CVI, __pyx_t_3) < (0)) __PYX_ERR(6, 4031, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4076, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_207DEMA, 0, __pyx_mstate_global->__pyx_n_u_DEMA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[113])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_DEMA, __pyx_t_3) < (0)) __PYX_ERR(6, 4074, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_209DIV, 0, __pyx_mstate_global->__pyx_n_u_DIV, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[114])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4115, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_DIV, __pyx_t_3) < (0)) __PYX_ERR(6, 4115, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_211DONCHIAN, 0, __pyx_mstate_global->__pyx_n_u_DONCHIAN, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[115])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_DONCHIAN, __pyx_t_3) < (0)) __PYX_ERR(6, 4156, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_213DPO, 0, __pyx_mstate_global->__pyx_n_u_DPO, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[116])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_DPO, __pyx_t_3) < (0)) __PYX_ERR(6, 4204, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4245, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_215DX, 0, __pyx_mstate_global->__pyx_n_u_DX, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[117])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4245, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_DX, __pyx_t_3) < (0)) __PYX_ERR(6, 4245, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4290, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_217EFI, 0, __pyx_mstate_global->__pyx_n_u_EFI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[118])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_EFI, __pyx_t_3) < (0)) __PYX_ERR(6, 4288, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_219EMA, 0, __pyx_mstate_global->__pyx_n_u_EMA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[119])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_EMA, __pyx_t_3) < (0)) __PYX_ERR(6, 4330, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4373, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4371, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_221ER, 0, __pyx_mstate_global->__pyx_n_u_ER, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[120])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4371, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ER, __pyx_t_3) < (0)) __PYX_ERR(6, 4371, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4414, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_223ERI, 0, __pyx_mstate_global->__pyx_n_u_ERI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[121])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ERI, __pyx_t_3) < (0)) __PYX_ERR(6, 4412, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_225EXP, 0, __pyx_mstate_global->__pyx_n_u_EXP, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[122])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_EXP, __pyx_t_3) < (0)) __PYX_ERR(6, 4458, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_227FLOOR, 0, __pyx_mstate_global->__pyx_n_u_FLOOR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[123])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4497, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_FLOOR, __pyx_t_3) < (0)) __PYX_ERR(6, 4497, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4538, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4536, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_229FOSC, 0, __pyx_mstate_global->__pyx_n_u_FOSC, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[124])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4536, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_FOSC, __pyx_t_3) < (0)) __PYX_ERR(6, 4536, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 4579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_11 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - - { - PyObject* __pyx_temp[2] = {__pyx_t_3, __pyx_t_11}; - __pyx_t_4 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4577, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_231FRACTAL, 0, __pyx_mstate_global->__pyx_n_u_FRACTAL, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[125])); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4577, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_FRACTAL, __pyx_t_11) < (0)) __PYX_ERR(6, 4577, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_233HA, 0, __pyx_mstate_global->__pyx_n_u_HA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[126])); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4623, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_HA, __pyx_t_11) < (0)) __PYX_ERR(6, 4623, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4676, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - - { - PyObject* __pyx_temp[1] = {__pyx_t_11}; - __pyx_t_4 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_235HMA, 0, __pyx_mstate_global->__pyx_n_u_HMA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[127])); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4674, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_HMA, __pyx_t_11) < (0)) __PYX_ERR(6, 4674, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_237HT_DCPERIOD, 0, __pyx_mstate_global->__pyx_n_u_HT_DCPERIOD, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[128])); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4715, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_HT_DCPERIOD, __pyx_t_11) < (0)) __PYX_ERR(6, 4715, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_239HT_DCPHASE, 0, __pyx_mstate_global->__pyx_n_u_HT_DCPHASE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[129])); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4754, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_HT_DCPHASE, __pyx_t_11) < (0)) __PYX_ERR(6, 4754, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_241HT_PHASOR, 0, __pyx_mstate_global->__pyx_n_u_HT_PHASOR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[130])); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4793, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_HT_PHASOR, __pyx_t_11) < (0)) __PYX_ERR(6, 4793, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_243HT_SINE, 0, __pyx_mstate_global->__pyx_n_u_HT_SINE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[131])); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4835, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_HT_SINE, __pyx_t_11) < (0)) __PYX_ERR(6, 4835, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_245HT_TRENDLINE, 0, __pyx_mstate_global->__pyx_n_u_HT_TRENDLINE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[132])); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4877, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_HT_TRENDLINE, __pyx_t_11) < (0)) __PYX_ERR(6, 4877, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_247HT_TRENDMODE, 0, __pyx_mstate_global->__pyx_n_u_HT_TRENDMODE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[133])); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_HT_TRENDMODE, __pyx_t_11) < (0)) __PYX_ERR(6, 4916, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4957, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - - { - PyObject* __pyx_temp[1] = {__pyx_t_11}; - __pyx_t_4 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4955, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_249IMI, 0, __pyx_mstate_global->__pyx_n_u_IMI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[134])); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4955, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_IMI, __pyx_t_11) < (0)) __PYX_ERR(6, 4955, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4999, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - - { - PyObject* __pyx_temp[1] = {__pyx_t_11}; - __pyx_t_4 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 4997, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_251KAMA, 0, __pyx_mstate_global->__pyx_n_u_KAMA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[135])); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 4997, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_KAMA, __pyx_t_11) < (0)) __PYX_ERR(6, 4997, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 5040, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5040, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5040, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[3] = {__pyx_t_11, __pyx_t_4, __pyx_t_3}; - __pyx_t_5 = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5038, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_253KC, 0, __pyx_mstate_global->__pyx_n_u_KC, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[136])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5038, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_KC, __pyx_t_3) < (0)) __PYX_ERR(6, 5038, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5091, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5091, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyLong_From_int(((int)13)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5091, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 5091, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyLong_From_int(((int)13)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5091, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[5] = {__pyx_t_3, __pyx_t_5, __pyx_t_4, __pyx_t_11, __pyx_t_2}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 5); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5089, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_255KDJ, 0, __pyx_mstate_global->__pyx_n_u_KDJ, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[137])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5089, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_KDJ, __pyx_t_2) < (0)) __PYX_ERR(6, 5089, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[1] = {__pyx_t_2}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_257LINEARREG, 0, __pyx_mstate_global->__pyx_n_u_LINEARREG, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[138])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_LINEARREG, __pyx_t_2) < (0)) __PYX_ERR(6, 5142, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[1] = {__pyx_t_2}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_259LINEARREG_ANGLE, 0, __pyx_mstate_global->__pyx_n_u_LINEARREG_ANGLE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[139])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_LINEARREG_ANGLE, __pyx_t_2) < (0)) __PYX_ERR(6, 5183, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5226, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[1] = {__pyx_t_2}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_261LINEARREG_INTERCEPT, 0, __pyx_mstate_global->__pyx_n_u_LINEARREG_INTERCEPT, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[140])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_LINEARREG_INTERCEPT, __pyx_t_2) < (0)) __PYX_ERR(6, 5224, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[1] = {__pyx_t_2}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_263LINEARREG_SLOPE, 0, __pyx_mstate_global->__pyx_n_u_LINEARREG_SLOPE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[141])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_LINEARREG_SLOPE, __pyx_t_2) < (0)) __PYX_ERR(6, 5265, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_265LN, 0, __pyx_mstate_global->__pyx_n_u_LN, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[142])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5306, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_LN, __pyx_t_2) < (0)) __PYX_ERR(6, 5306, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_267LOG10, 0, __pyx_mstate_global->__pyx_n_u_LOG10, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[143])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5345, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_LOG10, __pyx_t_2) < (0)) __PYX_ERR(6, 5345, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyLong_From_int(((int)0)); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - - { - PyObject* __pyx_temp[2] = {__pyx_t_2, __pyx_t_10}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 5384, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_269MA, 0, __pyx_mstate_global->__pyx_n_u_MA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[144])); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5384, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MA, __pyx_t_10) < (0)) __PYX_ERR(6, 5384, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5428, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 5428, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5428, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[3] = {__pyx_t_10, __pyx_t_11, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_271MACD, 0, __pyx_mstate_global->__pyx_n_u_MACD, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[145])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MACD, __pyx_t_2) < (0)) __PYX_ERR(6, 5426, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 5477, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyLong_From_int(((int)0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 5477, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 5477, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_10 = __Pyx_PyLong_From_int(((int)0)); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5477, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5477, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyLong_From_int(((int)0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5477, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[6] = {__pyx_t_2, __pyx_t_4, __pyx_t_11, __pyx_t_10, __pyx_t_5, __pyx_t_3}; - __pyx_t_9 = __Pyx_PyTuple_FromArray(__pyx_temp, 6); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_273MACDEXT, 0, __pyx_mstate_global->__pyx_n_u_MACDEXT, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[146])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MACDEXT, __pyx_t_3) < (0)) __PYX_ERR(6, 5475, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5529, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_9 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5527, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_275MACDFIX, 0, __pyx_mstate_global->__pyx_n_u_MACDFIX, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[147])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5527, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MACDFIX, __pyx_t_3) < (0)) __PYX_ERR(6, 5527, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_9 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5576, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[2] = {__pyx_t_3, __pyx_t_9}; - __pyx_t_5 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5574, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_277MAMA, 0, __pyx_mstate_global->__pyx_n_u_MAMA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[148])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5574, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MAMA, __pyx_t_9) < (0)) __PYX_ERR(6, 5574, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_279MARKETFI, 0, __pyx_mstate_global->__pyx_n_u_MARKETFI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[149])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5619, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MARKETFI, __pyx_t_9) < (0)) __PYX_ERR(6, 5619, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5662, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5662, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[2] = {__pyx_t_9, __pyx_t_5}; - __pyx_t_3 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5660, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_281MASSI, 0, __pyx_mstate_global->__pyx_n_u_MASSI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[150])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5660, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MASSI, __pyx_t_5) < (0)) __PYX_ERR(6, 5660, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 5705, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 5705, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_9 = __Pyx_PyLong_From_int(((int)0)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5705, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[3] = {__pyx_t_5, __pyx_t_3, __pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5703, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_283MAVP, 0, __pyx_mstate_global->__pyx_n_u_MAVP, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[151])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5703, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MAVP, __pyx_t_9) < (0)) __PYX_ERR(6, 5703, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5748, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_285MAX, 0, __pyx_mstate_global->__pyx_n_u_MAX, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[152])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5748, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MAX, __pyx_t_9) < (0)) __PYX_ERR(6, 5748, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5791, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5789, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_287MAXINDEX, 0, __pyx_mstate_global->__pyx_n_u_MAXINDEX, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[153])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5789, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MAXINDEX, __pyx_t_9) < (0)) __PYX_ERR(6, 5789, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_289MEDPRICE, 0, __pyx_mstate_global->__pyx_n_u_MEDPRICE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[154])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5834, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MEDPRICE, __pyx_t_9) < (0)) __PYX_ERR(6, 5834, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5876, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5874, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_291MFI, 0, __pyx_mstate_global->__pyx_n_u_MFI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[155])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5874, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MFI, __pyx_t_9) < (0)) __PYX_ERR(6, 5874, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5920, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5918, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_293MIDPOINT, 0, __pyx_mstate_global->__pyx_n_u_MIDPOINT, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[156])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5918, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MIDPOINT, __pyx_t_9) < (0)) __PYX_ERR(6, 5918, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5961, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 5959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_295MIDPRICE, 0, __pyx_mstate_global->__pyx_n_u_MIDPRICE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[157])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 5959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MIDPRICE, __pyx_t_9) < (0)) __PYX_ERR(6, 5959, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_297MIN, 0, __pyx_mstate_global->__pyx_n_u_MIN, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[158])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MIN, __pyx_t_9) < (0)) __PYX_ERR(6, 6001, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6044, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6042, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_299MININDEX, 0, __pyx_mstate_global->__pyx_n_u_MININDEX, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[159])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6042, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MININDEX, __pyx_t_9) < (0)) __PYX_ERR(6, 6042, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6089, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_301MINMAX, 0, __pyx_mstate_global->__pyx_n_u_MINMAX, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[160])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MINMAX, __pyx_t_9) < (0)) __PYX_ERR(6, 6087, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_303MINMAXINDEX, 0, __pyx_mstate_global->__pyx_n_u_MINMAXINDEX, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[161])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MINMAXINDEX, __pyx_t_9) < (0)) __PYX_ERR(6, 6131, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_305MINUS_DI, 0, __pyx_mstate_global->__pyx_n_u_MINUS_DI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[162])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MINUS_DI, __pyx_t_9) < (0)) __PYX_ERR(6, 6183, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6226, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_307MINUS_DM, 0, __pyx_mstate_global->__pyx_n_u_MINUS_DM, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[163])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6226, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MINUS_DM, __pyx_t_9) < (0)) __PYX_ERR(6, 6226, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6270, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_309MOM, 0, __pyx_mstate_global->__pyx_n_u_MOM, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[164])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MOM, __pyx_t_9) < (0)) __PYX_ERR(6, 6268, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_311MULT, 0, __pyx_mstate_global->__pyx_n_u_MULT, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[165])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MULT, __pyx_t_9) < (0)) __PYX_ERR(6, 6309, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6352, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6350, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_313NATR, 0, __pyx_mstate_global->__pyx_n_u_NATR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[166])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6350, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_NATR, __pyx_t_9) < (0)) __PYX_ERR(6, 6350, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_315NVI, 0, __pyx_mstate_global->__pyx_n_u_NVI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[167])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6393, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_NVI, __pyx_t_9) < (0)) __PYX_ERR(6, 6393, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_317OBV, 0, __pyx_mstate_global->__pyx_n_u_OBV, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[168])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_OBV, __pyx_t_9) < (0)) __PYX_ERR(6, 6433, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6476, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = PyFloat_FromDouble(((double)50.0)); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6476, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - - { - PyObject* __pyx_temp[2] = {__pyx_t_9, __pyx_t_10}; - __pyx_t_3 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6474, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_319PERCENTILE, 0, __pyx_mstate_global->__pyx_n_u_PERCENTILE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[169])); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6474, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PERCENTILE, __pyx_t_10) < (0)) __PYX_ERR(6, 6474, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6518, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - - { - PyObject* __pyx_temp[1] = {__pyx_t_10}; - __pyx_t_3 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6516, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_321PERCENTRANK, 0, __pyx_mstate_global->__pyx_n_u_PERCENTRANK, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[170])); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6516, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PERCENTRANK, __pyx_t_10) < (0)) __PYX_ERR(6, 6516, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6559, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - - { - PyObject* __pyx_temp[1] = {__pyx_t_10}; - __pyx_t_3 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6557, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_323PLUS_DI, 0, __pyx_mstate_global->__pyx_n_u_PLUS_DI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[171])); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6557, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PLUS_DI, __pyx_t_10) < (0)) __PYX_ERR(6, 6557, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6602, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - - { - PyObject* __pyx_temp[1] = {__pyx_t_10}; - __pyx_t_3 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_325PLUS_DM, 0, __pyx_mstate_global->__pyx_n_u_PLUS_DM, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[172])); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PLUS_DM, __pyx_t_10) < (0)) __PYX_ERR(6, 6600, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6644, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6644, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_9 = __Pyx_PyLong_From_int(((int)1)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6644, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[3] = {__pyx_t_10, __pyx_t_3, __pyx_t_9}; - __pyx_t_5 = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 6642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_327PPO, 0, __pyx_mstate_global->__pyx_n_u_PPO, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[173])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PPO, __pyx_t_9) < (0)) __PYX_ERR(6, 6642, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_329PVI, 0, __pyx_mstate_global->__pyx_n_u_PVI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[174])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6685, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PVI, __pyx_t_9) < (0)) __PYX_ERR(6, 6685, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 6727, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 6727, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyLong_From_int(((int)1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6727, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[3] = {__pyx_t_9, __pyx_t_5, __pyx_t_3}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6725, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_331PVO, 0, __pyx_mstate_global->__pyx_n_u_PVO, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[175])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6725, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PVO, __pyx_t_3) < (0)) __PYX_ERR(6, 6725, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_333PVT, 0, __pyx_mstate_global->__pyx_n_u_PVT, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[176])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6768, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PVT, __pyx_t_3) < (0)) __PYX_ERR(6, 6768, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6808, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_335QSTICK, 0, __pyx_mstate_global->__pyx_n_u_QSTICK, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[177])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6808, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_QSTICK, __pyx_t_3) < (0)) __PYX_ERR(6, 6808, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6852, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6850, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_337RMA, 0, __pyx_mstate_global->__pyx_n_u_RMA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[178])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6850, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_RMA, __pyx_t_3) < (0)) __PYX_ERR(6, 6850, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6893, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6891, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_339ROC, 0, __pyx_mstate_global->__pyx_n_u_ROC, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[179])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6891, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ROC, __pyx_t_3) < (0)) __PYX_ERR(6, 6891, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6934, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6932, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_341ROCP, 0, __pyx_mstate_global->__pyx_n_u_ROCP, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[180])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6932, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ROCP, __pyx_t_3) < (0)) __PYX_ERR(6, 6932, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6975, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 6973, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_343ROCR, 0, __pyx_mstate_global->__pyx_n_u_ROCR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[181])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 6973, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ROCR, __pyx_t_3) < (0)) __PYX_ERR(6, 6973, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 7016, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 7014, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_345ROCR100, 0, __pyx_mstate_global->__pyx_n_u_ROCR100, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[182])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 7014, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ROCR100, __pyx_t_3) < (0)) __PYX_ERR(6, 7014, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 7057, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - { - PyObject* __pyx_temp[1] = {__pyx_t_3}; - __pyx_t_10 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 7055, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_347RSI, 0, __pyx_mstate_global->__pyx_n_u_RSI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[183])); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 7055, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_3); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_RSI, __pyx_t_3) < (0)) __PYX_ERR(6, 7055, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 7098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 7098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - - { - PyObject* __pyx_temp[2] = {__pyx_t_3, __pyx_t_10}; - __pyx_t_5 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7096, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_349RVI, 0, __pyx_mstate_global->__pyx_n_u_RVI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[184])); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 7096, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_RVI, __pyx_t_10) < (0)) __PYX_ERR(6, 7096, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 7140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - - { - PyObject* __pyx_temp[1] = {__pyx_t_10}; - __pyx_t_5 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_351RVOL, 0, __pyx_mstate_global->__pyx_n_u_RVOL, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[185])); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 7138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_RVOL, __pyx_t_10) < (0)) __PYX_ERR(6, 7138, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = PyFloat_FromDouble(((double)0.02)); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 7181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = PyFloat_FromDouble(((double)0.2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - { - PyObject* __pyx_temp[2] = {__pyx_t_10, __pyx_t_5}; - __pyx_t_3 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 7179, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_353SAR, 0, __pyx_mstate_global->__pyx_n_u_SAR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[186])); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7179, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_SAR, __pyx_t_5) < (0)) __PYX_ERR(6, 7179, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 7224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 7224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 7224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 7224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_4 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 7224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - - { - PyObject* __pyx_temp[8] = {__pyx_t_5, __pyx_t_3, __pyx_t_10, __pyx_t_9, __pyx_t_11, __pyx_t_4, __pyx_t_2, __pyx_t_12}; - __pyx_t_13 = __Pyx_PyTuple_FromArray(__pyx_temp, 8); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 7222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_355SAREXT, 0, __pyx_mstate_global->__pyx_n_u_SAREXT, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[187])); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_12, __pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_SAREXT, __pyx_t_12) < (0)) __PYX_ERR(6, 7222, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_357SIN, 0, __pyx_mstate_global->__pyx_n_u_SIN, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[188])); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7271, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_SIN, __pyx_t_12) < (0)) __PYX_ERR(6, 7271, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_359SINH, 0, __pyx_mstate_global->__pyx_n_u_SINH, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[189])); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7310, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_SINH, __pyx_t_12) < (0)) __PYX_ERR(6, 7310, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - - { - PyObject* __pyx_temp[1] = {__pyx_t_12}; - __pyx_t_13 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 7349, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_361SMA, 0, __pyx_mstate_global->__pyx_n_u_SMA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[190])); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7349, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_12, __pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_SMA, __pyx_t_12) < (0)) __PYX_ERR(6, 7349, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7392, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 7392, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 7392, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7392, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - { - PyObject* __pyx_temp[4] = {__pyx_t_12, __pyx_t_13, __pyx_t_2, __pyx_t_4}; - __pyx_t_11 = __Pyx_PyTuple_FromArray(__pyx_temp, 4); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 7390, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_363SMI, 0, __pyx_mstate_global->__pyx_n_u_SMI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[191])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7390, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_SMI, __pyx_t_4) < (0)) __PYX_ERR(6, 7390, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_365SQRT, 0, __pyx_mstate_global->__pyx_n_u_SQRT, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[192])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7439, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_SQRT, __pyx_t_4) < (0)) __PYX_ERR(6, 7439, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 7480, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - - { - PyObject* __pyx_temp[2] = {__pyx_t_4, __pyx_t_11}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 7478, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_367STDDEV, 0, __pyx_mstate_global->__pyx_n_u_STDDEV, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[193])); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 7478, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_STDDEV, __pyx_t_11) < (0)) __PYX_ERR(6, 7478, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 7522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 7522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyLong_From_int(((int)0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 7522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_12 = __Pyx_PyLong_From_int(((int)0)); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7522, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - - { - PyObject* __pyx_temp[5] = {__pyx_t_11, __pyx_t_2, __pyx_t_4, __pyx_t_13, __pyx_t_12}; - __pyx_t_9 = __Pyx_PyTuple_FromArray(__pyx_temp, 5); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7520, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - } - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_369STOCH, 0, __pyx_mstate_global->__pyx_n_u_STOCH, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[194])); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7520, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_12, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_STOCH, __pyx_t_12) < (0)) __PYX_ERR(6, 7520, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = __Pyx_PyLong_From_int(((int)0)); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 7572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - - { - PyObject* __pyx_temp[3] = {__pyx_t_12, __pyx_t_9, __pyx_t_13}; - __pyx_t_4 = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7570, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_371STOCHF, 0, __pyx_mstate_global->__pyx_n_u_STOCHF, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[195])); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 7570, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_13, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_STOCHF, __pyx_t_13) < (0)) __PYX_ERR(6, 7570, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - __pyx_t_13 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 7620, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 7620, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7620, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_12 = __Pyx_PyLong_From_int(((int)0)); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7620, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - - { - PyObject* __pyx_temp[4] = {__pyx_t_13, __pyx_t_4, __pyx_t_9, __pyx_t_12}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 7618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_373STOCHRSI, 0, __pyx_mstate_global->__pyx_n_u_STOCHRSI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[196])); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_12, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_STOCHRSI, __pyx_t_12) < (0)) __PYX_ERR(6, 7618, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_375SUB, 0, __pyx_mstate_global->__pyx_n_u_SUB, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[197])); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7665, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_SUB, __pyx_t_12) < (0)) __PYX_ERR(6, 7665, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7708, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - - { - PyObject* __pyx_temp[1] = {__pyx_t_12}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 7706, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_377SUM, 0, __pyx_mstate_global->__pyx_n_u_SUM, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[198])); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7706, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_12, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_SUM, __pyx_t_12) < (0)) __PYX_ERR(6, 7706, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7749, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_2 = PyFloat_FromDouble(((double)3.0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 7749, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - { - PyObject* __pyx_temp[2] = {__pyx_t_12, __pyx_t_2}; - __pyx_t_9 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7747, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_379SUPERTREND, 0, __pyx_mstate_global->__pyx_n_u_SUPERTREND, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[199])); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 7747, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_SUPERTREND, __pyx_t_2) < (0)) __PYX_ERR(6, 7747, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 7796, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7796, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_12 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7794, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_381T3, 0, __pyx_mstate_global->__pyx_n_u_T3, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[200])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7794, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_T3, __pyx_t_9) < (0)) __PYX_ERR(6, 7794, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_383TAN, 0, __pyx_mstate_global->__pyx_n_u_TAN, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[201])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7836, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TAN, __pyx_t_9) < (0)) __PYX_ERR(6, 7836, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_385TANH, 0, __pyx_mstate_global->__pyx_n_u_TANH, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[202])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7875, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TANH, __pyx_t_9) < (0)) __PYX_ERR(6, 7875, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_12 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7914, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_387TEMA, 0, __pyx_mstate_global->__pyx_n_u_TEMA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[203])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7914, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TEMA, __pyx_t_9) < (0)) __PYX_ERR(6, 7914, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_389TRANGE, 0, __pyx_mstate_global->__pyx_n_u_TRANGE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[204])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7955, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TRANGE, __pyx_t_9) < (0)) __PYX_ERR(6, 7955, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7998, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_12 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 7996, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_391TRIMA, 0, __pyx_mstate_global->__pyx_n_u_TRIMA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[205])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 7996, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TRIMA, __pyx_t_9) < (0)) __PYX_ERR(6, 7996, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 8039, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_12 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 8037, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_393TRIX, 0, __pyx_mstate_global->__pyx_n_u_TRIX, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[206])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 8037, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TRIX, __pyx_t_9) < (0)) __PYX_ERR(6, 8037, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 8080, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[1] = {__pyx_t_9}; - __pyx_t_12 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 8078, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_395TSF, 0, __pyx_mstate_global->__pyx_n_u_TSF, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[207])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 8078, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TSF, __pyx_t_9) < (0)) __PYX_ERR(6, 8078, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 8121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_12 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 8121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - - { - PyObject* __pyx_temp[2] = {__pyx_t_9, __pyx_t_12}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 8119, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_397TSI, 0, __pyx_mstate_global->__pyx_n_u_TSI, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[208])); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 8119, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_12, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TSI, __pyx_t_12) < (0)) __PYX_ERR(6, 8119, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_399TYPPRICE, 0, __pyx_mstate_global->__pyx_n_u_TYPPRICE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[209])); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 8161, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TYPPRICE, __pyx_t_12) < (0)) __PYX_ERR(6, 8161, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 8204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_2 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 8204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 8204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - { - PyObject* __pyx_temp[3] = {__pyx_t_12, __pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_401ULTOSC, 0, __pyx_mstate_global->__pyx_n_u_ULTOSC, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[210])); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 8202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_9); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ULTOSC, __pyx_t_9) < (0)) __PYX_ERR(6, 8202, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 8249, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_4 = PyFloat_FromDouble(((double)-4e37)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8249, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - { - PyObject* __pyx_temp[2] = {__pyx_t_9, __pyx_t_4}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 8247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_403VAR, 0, __pyx_mstate_global->__pyx_n_u_VAR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[211])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_VAR, __pyx_t_4) < (0)) __PYX_ERR(6, 8247, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8291, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - { - PyObject* __pyx_temp[1] = {__pyx_t_4}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 8289, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_405VHF, 0, __pyx_mstate_global->__pyx_n_u_VHF, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[212])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8289, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_VHF, __pyx_t_4) < (0)) __PYX_ERR(6, 8289, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - { - PyObject* __pyx_temp[1] = {__pyx_t_4}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 8330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_407VORTEX, 0, __pyx_mstate_global->__pyx_n_u_VORTEX, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[213])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_VORTEX, __pyx_t_4) < (0)) __PYX_ERR(6, 8330, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_409VWAP, 0, __pyx_mstate_global->__pyx_n_u_VWAP, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[214])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_VWAP, __pyx_t_4) < (0)) __PYX_ERR(6, 8376, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8420, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - { - PyObject* __pyx_temp[1] = {__pyx_t_4}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 8418, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_411VWMA, 0, __pyx_mstate_global->__pyx_n_u_VWMA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[215])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8418, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_VWMA, __pyx_t_4) < (0)) __PYX_ERR(6, 8418, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_413WAD, 0, __pyx_mstate_global->__pyx_n_u_WAD, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[216])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8461, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_WAD, __pyx_t_4) < (0)) __PYX_ERR(6, 8461, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_415WCLPRICE, 0, __pyx_mstate_global->__pyx_n_u_WCLPRICE, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[217])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8502, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_WCLPRICE, __pyx_t_4) < (0)) __PYX_ERR(6, 8502, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - { - PyObject* __pyx_temp[1] = {__pyx_t_4}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 8543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_417WILLR, 0, __pyx_mstate_global->__pyx_n_u_WILLR, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[218])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_WILLR, __pyx_t_4) < (0)) __PYX_ERR(6, 8543, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8588, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - { - PyObject* __pyx_temp[1] = {__pyx_t_4}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 8586, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_419WMA, 0, __pyx_mstate_global->__pyx_n_u_WMA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[219])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8586, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_WMA, __pyx_t_4) < (0)) __PYX_ERR(6, 8586, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyLong_From_int(((int)-2147483648)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8629, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - { - PyObject* __pyx_temp[1] = {__pyx_t_4}; - __pyx_t_2 = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 8627, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_421ZLEMA, 0, __pyx_mstate_global->__pyx_n_u_ZLEMA, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[220])); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8627, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ZLEMA, __pyx_t_4) < (0)) __PYX_ERR(6, 8627, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - { - PyObject* __pyx_temp[201] = {__pyx_mstate_global->__pyx_n_u_AC, __pyx_mstate_global->__pyx_n_u_ACCBANDS, __pyx_mstate_global->__pyx_n_u_ACOS, __pyx_mstate_global->__pyx_n_u_AD, __pyx_mstate_global->__pyx_n_u_ADD, __pyx_mstate_global->__pyx_n_u_ADOSC, __pyx_mstate_global->__pyx_n_u_ADR, __pyx_mstate_global->__pyx_n_u_ADX, __pyx_mstate_global->__pyx_n_u_ADXR, __pyx_mstate_global->__pyx_n_u_AO, __pyx_mstate_global->__pyx_n_u_APO, __pyx_mstate_global->__pyx_n_u_AROON, __pyx_mstate_global->__pyx_n_u_AROONOSC, __pyx_mstate_global->__pyx_n_u_ASIN, __pyx_mstate_global->__pyx_n_u_ATAN, __pyx_mstate_global->__pyx_n_u_ATR, __pyx_mstate_global->__pyx_n_u_AVGDEV, __pyx_mstate_global->__pyx_n_u_AVGPRICE, __pyx_mstate_global->__pyx_n_u_BBANDS, __pyx_mstate_global->__pyx_n_u_BETA, __pyx_mstate_global->__pyx_n_u_BOP, __pyx_mstate_global->__pyx_n_u_CCI, __pyx_mstate_global->__pyx_n_u_CDL2CROWS, __pyx_mstate_global->__pyx_n_u_CDL3BLACKCROWS, __pyx_mstate_global->__pyx_n_u_CDL3INSIDE, __pyx_mstate_global->__pyx_n_u_CDL3LINESTRIKE, __pyx_mstate_global->__pyx_n_u_CDL3OUTSIDE, __pyx_mstate_global->__pyx_n_u_CDL3STARSINSOUTH, __pyx_mstate_global->__pyx_n_u_CDL3WHITESOLDIERS, __pyx_mstate_global->__pyx_n_u_CDLABANDONEDBABY, __pyx_mstate_global->__pyx_n_u_CDLADVANCEBLOCK, __pyx_mstate_global->__pyx_n_u_CDLBELTHOLD, __pyx_mstate_global->__pyx_n_u_CDLBREAKAWAY, __pyx_mstate_global->__pyx_n_u_CDLCLOSINGMARUBOZU, __pyx_mstate_global->__pyx_n_u_CDLCONCEALBABYSWALL, __pyx_mstate_global->__pyx_n_u_CDLCOUNTERATTACK, __pyx_mstate_global->__pyx_n_u_CDLDARKCLOUDCOVER, __pyx_mstate_global->__pyx_n_u_CDLDOJI, __pyx_mstate_global->__pyx_n_u_CDLDOJISTAR, __pyx_mstate_global->__pyx_n_u_CDLDRAGONFLYDOJI, __pyx_mstate_global->__pyx_n_u_CDLENGULFING, __pyx_mstate_global->__pyx_n_u_CDLEVENINGDOJISTAR, __pyx_mstate_global->__pyx_n_u_CDLEVENINGSTAR, __pyx_mstate_global->__pyx_n_u_CDLGAPSIDESIDEWHITE, __pyx_mstate_global->__pyx_n_u_CDLGRAVESTONEDOJI, __pyx_mstate_global->__pyx_n_u_CDLHAMMER, __pyx_mstate_global->__pyx_n_u_CDLHANGINGMAN, __pyx_mstate_global->__pyx_n_u_CDLHARAMI, __pyx_mstate_global->__pyx_n_u_CDLHARAMICROSS, __pyx_mstate_global->__pyx_n_u_CDLHIGHWAVE, __pyx_mstate_global->__pyx_n_u_CDLHIKKAKE, __pyx_mstate_global->__pyx_n_u_CDLHIKKAKEMOD, __pyx_mstate_global->__pyx_n_u_CDLHOMINGPIGEON, __pyx_mstate_global->__pyx_n_u_CDLIDENTICAL3CROWS, __pyx_mstate_global->__pyx_n_u_CDLINNECK, __pyx_mstate_global->__pyx_n_u_CDLINVERTEDHAMMER, __pyx_mstate_global->__pyx_n_u_CDLKICKING, __pyx_mstate_global->__pyx_n_u_CDLKICKINGBYLENGTH, __pyx_mstate_global->__pyx_n_u_CDLLADDERBOTTOM, __pyx_mstate_global->__pyx_n_u_CDLLONGLEGGEDDOJI, __pyx_mstate_global->__pyx_n_u_CDLLONGLINE, __pyx_mstate_global->__pyx_n_u_CDLMARUBOZU, __pyx_mstate_global->__pyx_n_u_CDLMATCHINGLOW, __pyx_mstate_global->__pyx_n_u_CDLMATHOLD, __pyx_mstate_global->__pyx_n_u_CDLMORNINGDOJISTAR, __pyx_mstate_global->__pyx_n_u_CDLMORNINGSTAR, __pyx_mstate_global->__pyx_n_u_CDLONNECK, __pyx_mstate_global->__pyx_n_u_CDLPIERCING, __pyx_mstate_global->__pyx_n_u_CDLRICKSHAWMAN, __pyx_mstate_global->__pyx_n_u_CDLRISEFALL3METHODS, __pyx_mstate_global->__pyx_n_u_CDLSEPARATINGLINES, __pyx_mstate_global->__pyx_n_u_CDLSHOOTINGSTAR, __pyx_mstate_global->__pyx_n_u_CDLSHORTLINE, __pyx_mstate_global->__pyx_n_u_CDLSPINNINGTOP, __pyx_mstate_global->__pyx_n_u_CDLSTALLEDPATTERN, __pyx_mstate_global->__pyx_n_u_CDLSTICKSANDWICH, __pyx_mstate_global->__pyx_n_u_CDLTAKURI, __pyx_mstate_global->__pyx_n_u_CDLTASUKIGAP, __pyx_mstate_global->__pyx_n_u_CDLTHRUSTING, __pyx_mstate_global->__pyx_n_u_CDLTRISTAR, __pyx_mstate_global->__pyx_n_u_CDLUNIQUE3RIVER, __pyx_mstate_global->__pyx_n_u_CDLUPSIDEGAP2CROWS, __pyx_mstate_global->__pyx_n_u_CDLXSIDEGAP3METHODS, __pyx_mstate_global->__pyx_n_u_CEIL, __pyx_mstate_global->__pyx_n_u_CMF, __pyx_mstate_global->__pyx_n_u_CMO, __pyx_mstate_global->__pyx_n_u_CMOU, __pyx_mstate_global->__pyx_n_u_COPPOCK, __pyx_mstate_global->__pyx_n_u_CORREL, __pyx_mstate_global->__pyx_n_u_COS, __pyx_mstate_global->__pyx_n_u_COSH, __pyx_mstate_global->__pyx_n_u_CUMSUM, __pyx_mstate_global->__pyx_n_u_CVI, __pyx_mstate_global->__pyx_n_u_DEMA, __pyx_mstate_global->__pyx_n_u_DIV, __pyx_mstate_global->__pyx_n_u_DONCHIAN, __pyx_mstate_global->__pyx_n_u_DPO, __pyx_mstate_global->__pyx_n_u_DX, __pyx_mstate_global->__pyx_n_u_EFI, __pyx_mstate_global->__pyx_n_u_EMA, __pyx_mstate_global->__pyx_n_u_ER, __pyx_mstate_global->__pyx_n_u_ERI, __pyx_mstate_global->__pyx_n_u_EXP, __pyx_mstate_global->__pyx_n_u_FLOOR, __pyx_mstate_global->__pyx_n_u_FOSC, __pyx_mstate_global->__pyx_n_u_FRACTAL, __pyx_mstate_global->__pyx_n_u_HA, __pyx_mstate_global->__pyx_n_u_HMA, __pyx_mstate_global->__pyx_n_u_HT_DCPERIOD, __pyx_mstate_global->__pyx_n_u_HT_DCPHASE, __pyx_mstate_global->__pyx_n_u_HT_PHASOR, __pyx_mstate_global->__pyx_n_u_HT_SINE, __pyx_mstate_global->__pyx_n_u_HT_TRENDLINE, __pyx_mstate_global->__pyx_n_u_HT_TRENDMODE, __pyx_mstate_global->__pyx_n_u_IMI, __pyx_mstate_global->__pyx_n_u_KAMA, __pyx_mstate_global->__pyx_n_u_KC, __pyx_mstate_global->__pyx_n_u_KDJ, __pyx_mstate_global->__pyx_n_u_LINEARREG, __pyx_mstate_global->__pyx_n_u_LINEARREG_ANGLE, __pyx_mstate_global->__pyx_n_u_LINEARREG_INTERCEPT, __pyx_mstate_global->__pyx_n_u_LINEARREG_SLOPE, __pyx_mstate_global->__pyx_n_u_LN, __pyx_mstate_global->__pyx_n_u_LOG10, __pyx_mstate_global->__pyx_n_u_MA, __pyx_mstate_global->__pyx_n_u_MACD, __pyx_mstate_global->__pyx_n_u_MACDEXT, __pyx_mstate_global->__pyx_n_u_MACDFIX, __pyx_mstate_global->__pyx_n_u_MAMA, __pyx_mstate_global->__pyx_n_u_MARKETFI, __pyx_mstate_global->__pyx_n_u_MASSI, __pyx_mstate_global->__pyx_n_u_MAVP, __pyx_mstate_global->__pyx_n_u_MAX, __pyx_mstate_global->__pyx_n_u_MAXINDEX, __pyx_mstate_global->__pyx_n_u_MEDPRICE, __pyx_mstate_global->__pyx_n_u_MFI, __pyx_mstate_global->__pyx_n_u_MIDPOINT, __pyx_mstate_global->__pyx_n_u_MIDPRICE, __pyx_mstate_global->__pyx_n_u_MIN, __pyx_mstate_global->__pyx_n_u_MININDEX, __pyx_mstate_global->__pyx_n_u_MINMAX, __pyx_mstate_global->__pyx_n_u_MINMAXINDEX, __pyx_mstate_global->__pyx_n_u_MINUS_DI, __pyx_mstate_global->__pyx_n_u_MINUS_DM, __pyx_mstate_global->__pyx_n_u_MOM, __pyx_mstate_global->__pyx_n_u_MULT, __pyx_mstate_global->__pyx_n_u_NATR, __pyx_mstate_global->__pyx_n_u_NVI, __pyx_mstate_global->__pyx_n_u_OBV, __pyx_mstate_global->__pyx_n_u_PERCENTILE, __pyx_mstate_global->__pyx_n_u_PERCENTRANK, __pyx_mstate_global->__pyx_n_u_PLUS_DI, __pyx_mstate_global->__pyx_n_u_PLUS_DM, __pyx_mstate_global->__pyx_n_u_PPO, __pyx_mstate_global->__pyx_n_u_PVI, __pyx_mstate_global->__pyx_n_u_PVO, __pyx_mstate_global->__pyx_n_u_PVT, __pyx_mstate_global->__pyx_n_u_QSTICK, __pyx_mstate_global->__pyx_n_u_RMA, __pyx_mstate_global->__pyx_n_u_ROC, __pyx_mstate_global->__pyx_n_u_ROCP, __pyx_mstate_global->__pyx_n_u_ROCR, __pyx_mstate_global->__pyx_n_u_ROCR100, __pyx_mstate_global->__pyx_n_u_RSI, __pyx_mstate_global->__pyx_n_u_RVI, __pyx_mstate_global->__pyx_n_u_RVOL, __pyx_mstate_global->__pyx_n_u_SAR, __pyx_mstate_global->__pyx_n_u_SAREXT, __pyx_mstate_global->__pyx_n_u_SIN, __pyx_mstate_global->__pyx_n_u_SINH, __pyx_mstate_global->__pyx_n_u_SMA, __pyx_mstate_global->__pyx_n_u_SMI, __pyx_mstate_global->__pyx_n_u_SQRT, __pyx_mstate_global->__pyx_n_u_STDDEV, __pyx_mstate_global->__pyx_n_u_STOCH, __pyx_mstate_global->__pyx_n_u_STOCHF, __pyx_mstate_global->__pyx_n_u_STOCHRSI, __pyx_mstate_global->__pyx_n_u_SUB, __pyx_mstate_global->__pyx_n_u_SUM, __pyx_mstate_global->__pyx_n_u_SUPERTREND, __pyx_mstate_global->__pyx_n_u_T3, __pyx_mstate_global->__pyx_n_u_TAN, __pyx_mstate_global->__pyx_n_u_TANH, __pyx_mstate_global->__pyx_n_u_TEMA, __pyx_mstate_global->__pyx_n_u_TRANGE, __pyx_mstate_global->__pyx_n_u_TRIMA, __pyx_mstate_global->__pyx_n_u_TRIX, __pyx_mstate_global->__pyx_n_u_TSF, __pyx_mstate_global->__pyx_n_u_TSI, __pyx_mstate_global->__pyx_n_u_TYPPRICE, __pyx_mstate_global->__pyx_n_u_ULTOSC, __pyx_mstate_global->__pyx_n_u_VAR, __pyx_mstate_global->__pyx_n_u_VHF, __pyx_mstate_global->__pyx_n_u_VORTEX, __pyx_mstate_global->__pyx_n_u_VWAP, __pyx_mstate_global->__pyx_n_u_VWMA, __pyx_mstate_global->__pyx_n_u_WAD, __pyx_mstate_global->__pyx_n_u_WCLPRICE, __pyx_mstate_global->__pyx_n_u_WILLR, __pyx_mstate_global->__pyx_n_u_WMA, __pyx_mstate_global->__pyx_n_u_ZLEMA}; - __pyx_t_4 = __Pyx_PyList_FromArray(__pyx_temp, 201); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 8668, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TA_FUNCTION_NAMES, __pyx_t_4) < (0)) __PYX_ERR(6, 8668, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_threading, 0, 0, __pyx_mstate_global->__pyx_kp_u_talib_threading, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error) - __pyx_t_4 = __pyx_t_1; - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_threading, __pyx_t_4) < (0)) __PYX_ERR(2, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_26, &__pyx_t_27); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_26); - __Pyx_XGOTREF(__pyx_t_27); - /*try:*/ { - - { - PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_OrderedDict}; - __pyx_t_28 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_collections, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_talib_collections, -1); if (unlikely(!__pyx_t_28)) __PYX_ERR(2, 6, __pyx_L8_error) - } - __pyx_t_4 = __pyx_t_28; - __Pyx_GOTREF(__pyx_t_4); - { - PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_OrderedDict}; - __pyx_t_23 = 0; { - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_4, __pyx_imported_names[__pyx_t_23]); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_23], __pyx_t_2) < (0)) __PYX_ERR(2, 6, __pyx_L8_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; - __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; - goto __pyx_L13_try_end; - __pyx_L8_error:; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_25 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ImportError)))); - if (__pyx_t_25) { - __Pyx_AddTraceback("talib._ta_lib", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_2, &__pyx_t_9) < 0) __PYX_ERR(2, 7, __pyx_L10_except_error) - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_9); - - { - PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_OrderedDict}; - __pyx_t_28 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_ordereddict, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_talib_ordereddict, -1); if (unlikely(!__pyx_t_28)) __PYX_ERR(2, 8, __pyx_L10_except_error) - } - __pyx_t_12 = __pyx_t_28; - __Pyx_GOTREF(__pyx_t_12); - { - PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_OrderedDict}; - __pyx_t_23 = 0; { - __pyx_t_13 = __Pyx_ImportFrom(__pyx_t_12, __pyx_imported_names[__pyx_t_23]); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 8, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_13); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_23], __pyx_t_13) < (0)) __PYX_ERR(2, 8, __pyx_L10_except_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L9_exception_handled; - } - goto __pyx_L10_except_error; - - __pyx_L10_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_26, __pyx_t_27); - goto __pyx_L1_error; - __pyx_L9_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_26, __pyx_t_27); - __pyx_L13_try_end:; - } - - __pyx_t_27 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_numpy, 0, 0, __pyx_mstate_global->__pyx_kp_u_talib_numpy, -1); if (unlikely(!__pyx_t_27)) __PYX_ERR(2, 10, __pyx_L1_error) - __pyx_t_9 = __pyx_t_27; - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_numpy, __pyx_t_9) < (0)) __PYX_ERR(2, 10, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_27 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_sys, 0, 0, __pyx_mstate_global->__pyx_kp_u_talib_sys, -1); if (unlikely(!__pyx_t_27)) __PYX_ERR(2, 11, __pyx_L1_error) - __pyx_t_9 = __pyx_t_27; - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_sys, __pyx_t_9) < (0)) __PYX_ERR(2, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_25 = __pyx_f_5numpy_import_array(); if (unlikely(__pyx_t_25 == ((int)-1))) __PYX_ERR(2, 17, __pyx_L1_error) - - - __pyx_t_9 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_price, __pyx_mstate_global->__pyx_n_u_close) < (0)) __PYX_ERR(2, 20, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_price0, __pyx_mstate_global->__pyx_n_u_high) < (0)) __PYX_ERR(2, 20, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_price1, __pyx_mstate_global->__pyx_n_u_low) < (0)) __PYX_ERR(2, 20, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_periods, __pyx_mstate_global->__pyx_n_u_periods) < (0)) __PYX_ERR(2, 20, __pyx_L1_error) - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_INPUT_PRICE_SERIES_DEFAULTS, __pyx_t_9) < (0)) __PYX_ERR(2, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - { - PyObject* __pyx_temp[1] = {((PyObject *)(&PyDict_Type))}; - __pyx_t_9 = __Pyx_PyList_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - } - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_INPUT_ARRAYS_TYPES, __pyx_t_9) < (0)) __PYX_ERR(2, 26, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - { - PyObject* __pyx_temp[1] = {((PyObject *)__pyx_mstate_global->__pyx_ptype_5numpy_ndarray)}; - __pyx_t_9 = __Pyx_PyList_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 27, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - } - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ARRAY_TYPES, __pyx_t_9) < (0)) __PYX_ERR(2, 27, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_27, &__pyx_t_26, &__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_27); - __Pyx_XGOTREF(__pyx_t_26); - __Pyx_XGOTREF(__pyx_t_1); - /*try:*/ { - - __pyx_t_28 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_pandas, 0, 0, __pyx_mstate_global->__pyx_kp_u_talib_pandas, -1); if (unlikely(!__pyx_t_28)) __PYX_ERR(2, 31, __pyx_L16_error) - __pyx_t_9 = __pyx_t_28; - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pandas, __pyx_t_9) < (0)) __PYX_ERR(2, 31, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_INPUT_ARRAYS_TYPES); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 32, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_pandas); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 32, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_DataFrame); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 32, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_29 = __Pyx_PyObject_Append(__pyx_t_9, __pyx_t_4); if (unlikely(__pyx_t_29 == ((int)-1))) __PYX_ERR(2, 32, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ARRAY_TYPES); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 33, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_pandas); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 33, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_Series); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 33, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_29 = __Pyx_PyObject_Append(__pyx_t_4, __pyx_t_2); if (unlikely(__pyx_t_29 == ((int)-1))) __PYX_ERR(2, 33, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_pandas); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 34, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_DataFrame); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 34, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PANDAS_DATAFRAME, __pyx_t_4) < (0)) __PYX_ERR(2, 34, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pandas); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 35, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_Series); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 35, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PANDAS_SERIES, __pyx_t_2) < (0)) __PYX_ERR(2, 35, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - } - __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; - __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L21_try_end; - __pyx_L16_error:; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_25 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ImportError)))); - if (__pyx_t_25) { - __Pyx_AddTraceback("talib._ta_lib", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_4, &__pyx_t_9) < 0) __PYX_ERR(2, 36, __pyx_L18_except_error) - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_import_error, __pyx_t_4) < (0)) __PYX_ERR(2, 36, __pyx_L18_except_error) - - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_28, &__pyx_t_30, &__pyx_t_31); - __Pyx_XGOTREF(__pyx_t_28); - __Pyx_XGOTREF(__pyx_t_30); - __Pyx_XGOTREF(__pyx_t_31); - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_import_error); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 38, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_33 = __Pyx_PyExc_ModuleNotFoundError_Check(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_34 = (!__pyx_t_33); - - - if (!__pyx_t_34) { - - } else { - - __pyx_t_32 = __pyx_t_34; - - goto __pyx_L33_bool_binop_done; - } - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_import_error); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 38, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 38, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_34 = __Pyx_PyObject_CompareBoolNe_object_str(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_pandas, Py_NE); if (unlikely((__pyx_t_34 < 0))) __PYX_ERR(2, 38, __pyx_L24_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - __pyx_t_32 = __pyx_t_34; - - __pyx_L33_bool_binop_done:; - if (unlikely(__pyx_t_32)) { - - - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_import_error); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 40, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_Raise(__pyx_t_13, 0, 0, 0); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __PYX_ERR(2, 40, __pyx_L24_error) - - } - - } - __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0; - __Pyx_XDECREF(__pyx_t_30); __pyx_t_30 = 0; - __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0; - goto __pyx_L31_try_end; - __pyx_L24_error:; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - - __pyx_t_25 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_NameError)))); - if (__pyx_t_25) { - __Pyx_ErrRestore(0,0,0); - goto __pyx_L25_exception_handled; - } - goto __pyx_L26_except_error; - - __pyx_L26_except_error:; - __Pyx_XGIVEREF(__pyx_t_28); - __Pyx_XGIVEREF(__pyx_t_30); - __Pyx_XGIVEREF(__pyx_t_31); - __Pyx_ExceptionReset(__pyx_t_28, __pyx_t_30, __pyx_t_31); - goto __pyx_L18_except_error; - __pyx_L25_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_28); - __Pyx_XGIVEREF(__pyx_t_30); - __Pyx_XGIVEREF(__pyx_t_31); - __Pyx_ExceptionReset(__pyx_t_28, __pyx_t_30, __pyx_t_31); - __pyx_L31_try_end:; - } - - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PANDAS_DATAFRAME, Py_None) < (0)) __PYX_ERR(2, 45, __pyx_L18_except_error) - - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PANDAS_SERIES, Py_None) < (0)) __PYX_ERR(2, 46, __pyx_L18_except_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L17_exception_handled; - } - goto __pyx_L18_except_error; - - __pyx_L18_except_error:; - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ExceptionReset(__pyx_t_27, __pyx_t_26, __pyx_t_1); - goto __pyx_L1_error; - __pyx_L17_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ExceptionReset(__pyx_t_27, __pyx_t_26, __pyx_t_1); - __pyx_L21_try_end:; - } - - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_26, &__pyx_t_27); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_26); - __Pyx_XGOTREF(__pyx_t_27); - /*try:*/ { - - __pyx_t_31 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_polars, 0, 0, __pyx_mstate_global->__pyx_kp_u_talib_polars, -1); if (unlikely(!__pyx_t_31)) __PYX_ERR(2, 50, __pyx_L37_error) - __pyx_t_9 = __pyx_t_31; - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_polars, __pyx_t_9) < (0)) __PYX_ERR(2, 50, __pyx_L37_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_INPUT_ARRAYS_TYPES); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 51, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_polars); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 51, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_DataFrame); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 51, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_29 = __Pyx_PyObject_Append(__pyx_t_9, __pyx_t_2); if (unlikely(__pyx_t_29 == ((int)-1))) __PYX_ERR(2, 51, __pyx_L37_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_ARRAY_TYPES); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 52, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_polars); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 52, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_Series); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 52, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_29 = __Pyx_PyObject_Append(__pyx_t_2, __pyx_t_4); if (unlikely(__pyx_t_29 == ((int)-1))) __PYX_ERR(2, 52, __pyx_L37_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_polars); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 53, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_DataFrame); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 53, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_POLARS_DATAFRAME, __pyx_t_2) < (0)) __PYX_ERR(2, 53, __pyx_L37_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_polars); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 54, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_Series); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 54, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_POLARS_SERIES, __pyx_t_4) < (0)) __PYX_ERR(2, 54, __pyx_L37_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; - __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; - goto __pyx_L42_try_end; - __pyx_L37_error:; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_25 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ImportError)))); - if (__pyx_t_25) { - __Pyx_AddTraceback("talib._ta_lib", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_2, &__pyx_t_9) < 0) __PYX_ERR(2, 55, __pyx_L39_except_error) - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_import_error, __pyx_t_2) < (0)) __PYX_ERR(2, 55, __pyx_L39_except_error) - - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_31, &__pyx_t_30, &__pyx_t_28); - __Pyx_XGOTREF(__pyx_t_31); - __Pyx_XGOTREF(__pyx_t_30); - __Pyx_XGOTREF(__pyx_t_28); - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_import_error); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 57, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_34 = __Pyx_PyExc_ModuleNotFoundError_Check(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_33 = (!__pyx_t_34); - - - if (!__pyx_t_33) { - - } else { - - __pyx_t_32 = __pyx_t_33; - - goto __pyx_L54_bool_binop_done; - } - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_import_error); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 57, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 57, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_33 = __Pyx_PyObject_CompareBoolNe_object_str(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_polars, Py_NE); if (unlikely((__pyx_t_33 < 0))) __PYX_ERR(2, 57, __pyx_L45_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_32 = __pyx_t_33; - - __pyx_L54_bool_binop_done:; - if (unlikely(__pyx_t_32)) { - - - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_import_error); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 59, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_Raise(__pyx_t_12, 0, 0, 0); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __PYX_ERR(2, 59, __pyx_L45_error) - - } - - } - __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0; - __Pyx_XDECREF(__pyx_t_30); __pyx_t_30 = 0; - __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0; - goto __pyx_L52_try_end; - __pyx_L45_error:; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - - __pyx_t_25 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_NameError)))); - if (__pyx_t_25) { - __Pyx_ErrRestore(0,0,0); - goto __pyx_L46_exception_handled; - } - goto __pyx_L47_except_error; - - __pyx_L47_except_error:; - __Pyx_XGIVEREF(__pyx_t_31); - __Pyx_XGIVEREF(__pyx_t_30); - __Pyx_XGIVEREF(__pyx_t_28); - __Pyx_ExceptionReset(__pyx_t_31, __pyx_t_30, __pyx_t_28); - goto __pyx_L39_except_error; - __pyx_L46_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_31); - __Pyx_XGIVEREF(__pyx_t_30); - __Pyx_XGIVEREF(__pyx_t_28); - __Pyx_ExceptionReset(__pyx_t_31, __pyx_t_30, __pyx_t_28); - __pyx_L52_try_end:; - } - - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_POLARS_DATAFRAME, Py_None) < (0)) __PYX_ERR(2, 64, __pyx_L39_except_error) - - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_POLARS_SERIES, Py_None) < (0)) __PYX_ERR(2, 65, __pyx_L39_except_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L38_exception_handled; - } - goto __pyx_L39_except_error; - - __pyx_L39_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_26, __pyx_t_27); - goto __pyx_L1_error; - __pyx_L38_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_26, __pyx_t_27); - __pyx_L42_try_end:; - } - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_INPUT_ARRAYS_TYPES); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 67, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 67, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_INPUT_ARRAYS_TYPES, __pyx_t_2) < (0)) __PYX_ERR(2, 67, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_ARRAY_TYPES); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = __Pyx_PySequence_Tuple(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ARRAY_TYPES, __pyx_t_9) < (0)) __PYX_ERR(2, 68, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_sys); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_version); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_32 = __Pyx_PyObject_CompareBoolGe_object_str(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_3, Py_GE); if (unlikely((__pyx_t_32 < 0))) __PYX_ERR(2, 71, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_32) { - - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_423str2bytes, 0, __pyx_mstate_global->__pyx_n_u_str2bytes, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[221])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 73, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_str2bytes, __pyx_t_2) < (0)) __PYX_ERR(2, 73, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_425bytes2str, 0, __pyx_mstate_global->__pyx_n_u_bytes2str, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[222])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_bytes2str, __pyx_t_2) < (0)) __PYX_ERR(2, 76, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - goto __pyx_L58; - } - - /*else*/ { - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_427str2bytes, 0, __pyx_mstate_global->__pyx_n_u_str2bytes, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[223])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_str2bytes, __pyx_t_2) < (0)) __PYX_ERR(2, 81, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_429bytes2str, 0, __pyx_mstate_global->__pyx_n_u_bytes2str, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[224])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 84, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_bytes2str, __pyx_t_2) < (0)) __PYX_ERR(2, 84, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_L58:; - - __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_mstate_global->__pyx_tuple[13]); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_9, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_Function, __pyx_mstate_global->__pyx_n_u_Function, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_kp_u_This_is_a_pythonic_wrapper_arou); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_2 != __pyx_mstate_global->__pyx_tuple[13]) { - if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_mstate_global->__pyx_tuple[13]) < 0))) __PYX_ERR(2, 87, __pyx_L1_error) - } - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_1__init__, 0, __pyx_mstate_global->__pyx_n_u_Function___init, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[225])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 116, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_init, __pyx_t_12) < (0)) __PYX_ERR(2, 116, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_13 = NULL; - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_3__local, 0, __pyx_mstate_global->__pyx_n_u_Function___local, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[226])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_11}; - __pyx_t_12 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_Function__local, __pyx_t_12) < (0)) __PYX_ERR(2, 129, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_11 = NULL; - __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_5info, 0, __pyx_mstate_global->__pyx_n_u_Function_info, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[227])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13); - #endif - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_13}; - __pyx_t_12 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_info, __pyx_t_12) < (0)) __PYX_ERR(2, 171, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_13 = NULL; - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_7function_flags, 0, __pyx_mstate_global->__pyx_n_u_Function_function_flags, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[228])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_11}; - __pyx_t_12 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_function_flags, __pyx_t_12) < (0)) __PYX_ERR(2, 178, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_11 = NULL; - __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_9output_flags, 0, __pyx_mstate_global->__pyx_n_u_Function_output_flags, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[229])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13); - #endif - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_13}; - __pyx_t_12 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_output_flags, __pyx_t_12) < (0)) __PYX_ERR(2, 185, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_11get_input_names, 0, __pyx_mstate_global->__pyx_n_u_Function_get_input_names, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[230])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 192, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_get_input_names, __pyx_t_12) < (0)) __PYX_ERR(2, 192, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_13set_input_names, 0, __pyx_mstate_global->__pyx_n_u_Function_set_input_names, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[231])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 203, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_set_input_names, __pyx_t_12) < (0)) __PYX_ERR(2, 203, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_13 = NULL; - __pyx_t_11 = PyObject_GetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_get_input_names); - if (unlikely(!__pyx_t_11)) { - PyErr_Clear(); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_get_input_names); - } - if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_10 = PyObject_GetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_set_input_names); - if (unlikely(!__pyx_t_10)) { - PyErr_Clear(); - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_set_input_names); - } - if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[3] = {__pyx_t_13, __pyx_t_11, __pyx_t_10}; - __pyx_t_12 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_input_names, __pyx_t_12) < (0)) __PYX_ERR(2, 213, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_15get_input_arrays, 0, __pyx_mstate_global->__pyx_n_u_Function_get_input_arrays, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[232])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_get_input_arrays, __pyx_t_12) < (0)) __PYX_ERR(2, 215, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_17set_input_arrays, 0, __pyx_mstate_global->__pyx_n_u_Function_set_input_arrays, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[233])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 226, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_set_input_arrays, __pyx_t_12) < (0)) __PYX_ERR(2, 226, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_10 = NULL; - __pyx_t_11 = PyObject_GetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_get_input_arrays); - if (unlikely(!__pyx_t_11)) { - PyErr_Clear(); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_get_input_arrays); - } - if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 273, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_13 = PyObject_GetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_set_input_arrays); - if (unlikely(!__pyx_t_13)) { - PyErr_Clear(); - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_set_input_arrays); - } - if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 273, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[3] = {__pyx_t_10, __pyx_t_11, __pyx_t_13}; - __pyx_t_12 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 273, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_input_arrays, __pyx_t_12) < (0)) __PYX_ERR(2, 273, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_19get_parameters, 0, __pyx_mstate_global->__pyx_n_u_Function_get_parameters, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[234])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 275, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_get_parameters, __pyx_t_12) < (0)) __PYX_ERR(2, 275, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_21set_parameters, 0, __pyx_mstate_global->__pyx_n_u_Function_set_parameters, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[235])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 285, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_12, __pyx_mstate_global->__pyx_tuple[14]); - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_set_parameters, __pyx_t_12) < (0)) __PYX_ERR(2, 285, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_13 = NULL; - __pyx_t_11 = PyObject_GetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_get_parameters); - if (unlikely(!__pyx_t_11)) { - PyErr_Clear(); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_get_parameters); - } - if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_10 = PyObject_GetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_set_parameters); - if (unlikely(!__pyx_t_10)) { - PyErr_Clear(); - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_set_parameters); - } - if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[3] = {__pyx_t_13, __pyx_t_11, __pyx_t_10}; - __pyx_t_12 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_parameters, __pyx_t_12) < (0)) __PYX_ERR(2, 298, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_23set_function_args, 0, __pyx_mstate_global->__pyx_n_u_Function_set_function_args, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[236])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 300, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_set_function_args, __pyx_t_12) < (0)) __PYX_ERR(2, 300, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_10 = NULL; - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_25lookback, 0, __pyx_mstate_global->__pyx_n_u_Function_lookback, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[237])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_11}; - __pyx_t_12 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_lookback, __pyx_t_12) < (0)) __PYX_ERR(2, 335, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_11 = NULL; - __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_27output_names, 0, __pyx_mstate_global->__pyx_n_u_Function_output_names, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[238])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 358, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10); - #endif - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_10}; - __pyx_t_12 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 358, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_output_names, __pyx_t_12) < (0)) __PYX_ERR(2, 358, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_10 = NULL; - __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_29outputs, 0, __pyx_mstate_global->__pyx_n_u_Function_outputs, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[239])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 368, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11); - #endif - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_11}; - __pyx_t_12 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 368, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - } - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_outputs, __pyx_t_12) < (0)) __PYX_ERR(2, 368, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_31run, 0, __pyx_mstate_global->__pyx_n_u_Function_run, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[240])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 400, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_12, __pyx_mstate_global->__pyx_tuple[14]); - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_run, __pyx_t_12) < (0)) __PYX_ERR(2, 400, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_33__call__, 0, __pyx_mstate_global->__pyx_n_u_Function___call, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[241])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_call, __pyx_t_12) < (0)) __PYX_ERR(2, 412, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_35__input_price_series_names, 0, __pyx_mstate_global->__pyx_n_u_Function___input_price_series_na, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[242])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 478, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_Function__input_price_series_na, __pyx_t_12) < (0)) __PYX_ERR(2, 478, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_37__call_function, 0, __pyx_mstate_global->__pyx_n_u_Function___call_function, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[243])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_Function__call_function, __pyx_t_12) < (0)) __PYX_ERR(2, 490, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_39__check_opt_input_value, 0, __pyx_mstate_global->__pyx_n_u_Function___check_opt_input_value, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[244])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 521, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_Function__check_opt_input_value, __pyx_t_12) < (0)) __PYX_ERR(2, 521, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_41__get_opt_input_value, 0, __pyx_mstate_global->__pyx_n_u_Function___get_opt_input_value, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[245])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 536, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_Function__get_opt_input_value, __pyx_t_12) < (0)) __PYX_ERR(2, 536, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_43__repr__, 0, __pyx_mstate_global->__pyx_n_u_Function___repr, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[246])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 546, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_repr, __pyx_t_12) < (0)) __PYX_ERR(2, 546, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_45__unicode__, 0, __pyx_mstate_global->__pyx_n_u_Function___unicode, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[247])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 549, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_unicode, __pyx_t_12) < (0)) __PYX_ERR(2, 549, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_8Function_47__str__, 0, __pyx_mstate_global->__pyx_n_u_Function___str, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[248])); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 552, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str, __pyx_t_12) < (0)) __PYX_ERR(2, 552, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_Py3ClassCreate(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_Function, __pyx_t_2, __pyx_t_4, NULL, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_Function, __pyx_t_12) < (0)) __PYX_ERR(2, 87, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_431_ta_getGroupTable, 0, __pyx_mstate_global->__pyx_n_u_ta_getGroupTable, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[249])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 566, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_getGroupTable, __pyx_t_2) < (0)) __PYX_ERR(2, 566, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_433_ta_getFuncTable, 0, __pyx_mstate_global->__pyx_n_u_ta_getFuncTable, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[250])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 586, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_getFuncTable, __pyx_t_2) < (0)) __PYX_ERR(2, 586, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_435__get_flags, 0, __pyx_mstate_global->__pyx_n_u_get_flags, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[251])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 606, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_get_flags, __pyx_t_2) < (0)) __PYX_ERR(2, 606, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyDict_NewPresized(8); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 621, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_1, __pyx_mstate_global->__pyx_kp_u_A_period_of_1_performs_no_smooth) < (0)) __PYX_ERR(2, 621, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_16777216, __pyx_mstate_global->__pyx_kp_u_Output_scale_same_as_input) < (0)) __PYX_ERR(2, 621, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_33554432, __pyx_mstate_global->__pyx_kp_u_Function_has_a_streaming_API) < (0)) __PYX_ERR(2, 621, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_67108864, __pyx_mstate_global->__pyx_kp_u_Output_is_over_volume) < (0)) __PYX_ERR(2, 621, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_134217728, __pyx_mstate_global->__pyx_kp_u_Function_has_an_unstable_period) < (0)) __PYX_ERR(2, 621, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_268435456, __pyx_mstate_global->__pyx_kp_u_Output_is_a_candlestick) < (0)) __PYX_ERR(2, 621, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_536870912, __pyx_mstate_global->__pyx_kp_u_Output_is_path_dependent) < (0)) __PYX_ERR(2, 621, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_1073741824, __pyx_mstate_global->__pyx_kp_u_Output_can_be_NaN_or_infinite) < (0)) __PYX_ERR(2, 621, __pyx_L1_error) - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TA_FUNC_FLAGS, __pyx_t_2) < (0)) __PYX_ERR(2, 620, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyDict_NewPresized(7); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 633, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_1, __pyx_mstate_global->__pyx_n_u_open) < (0)) __PYX_ERR(2, 633, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_2, __pyx_mstate_global->__pyx_n_u_high) < (0)) __PYX_ERR(2, 633, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_4, __pyx_mstate_global->__pyx_n_u_low) < (0)) __PYX_ERR(2, 633, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_8, __pyx_mstate_global->__pyx_n_u_close) < (0)) __PYX_ERR(2, 633, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_16, __pyx_mstate_global->__pyx_n_u_volume) < (0)) __PYX_ERR(2, 633, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_32, __pyx_mstate_global->__pyx_n_u_openInterest) < (0)) __PYX_ERR(2, 633, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_64, __pyx_mstate_global->__pyx_n_u_timeStamp) < (0)) __PYX_ERR(2, 633, __pyx_L1_error) - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TA_INPUT_FLAGS, __pyx_t_2) < (0)) __PYX_ERR(2, 632, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyDict_NewPresized(14); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_1, __pyx_mstate_global->__pyx_n_u_Line) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_2, __pyx_mstate_global->__pyx_kp_u_Dotted_Line) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_4, __pyx_mstate_global->__pyx_kp_u_Dashed_Line) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_8, __pyx_mstate_global->__pyx_n_u_Dot) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_16, __pyx_mstate_global->__pyx_n_u_Histogram) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_32, __pyx_mstate_global->__pyx_kp_u_Pattern_Bool) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_64, __pyx_mstate_global->__pyx_kp_u_Bull_Bear_Pattern_Bearish_0_Neut) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_128, __pyx_mstate_global->__pyx_kp_u_Strength_Pattern_200_100_Bearish) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_256, __pyx_mstate_global->__pyx_kp_u_Output_can_be_positive) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_512, __pyx_mstate_global->__pyx_kp_u_Output_can_be_negative) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_1024, __pyx_mstate_global->__pyx_kp_u_Output_can_be_zero) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_2048, __pyx_mstate_global->__pyx_kp_u_Values_represent_an_upper_limit) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_4096, __pyx_mstate_global->__pyx_kp_u_Values_represent_a_lower_limit) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_int_8192, __pyx_mstate_global->__pyx_kp_u_Output_is_optional_nullable) < (0)) __PYX_ERR(2, 643, __pyx_L1_error) - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TA_OUTPUT_FLAGS, __pyx_t_2) < (0)) __PYX_ERR(2, 642, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_437_ta_getFuncInfo, 0, __pyx_mstate_global->__pyx_n_u_ta_getFuncInfo, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[252])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 659, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_getFuncInfo, __pyx_t_2) < (0)) __PYX_ERR(2, 659, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_439_ta_getInputParameterInfo, 0, __pyx_mstate_global->__pyx_n_u_ta_getInputParameterInfo, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[253])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 682, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_getInputParameterInfo, __pyx_t_2) < (0)) __PYX_ERR(2, 682, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_441_ta_getOptInputParameterInfo, 0, __pyx_mstate_global->__pyx_n_u_ta_getOptInputParameterInfo, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[254])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 707, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_getOptInputParameterInfo, __pyx_t_2) < (0)) __PYX_ERR(2, 707, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_443_ta_getOutputParameterInfo, 0, __pyx_mstate_global->__pyx_n_u_ta_getOutputParameterInfo, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[255])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 733, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ta_getOutputParameterInfo, __pyx_t_2) < (0)) __PYX_ERR(2, 733, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_445_get_defaults_and_docs, 0, __pyx_mstate_global->__pyx_n_u_get_defaults_and_docs, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[256])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 757, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_get_defaults_and_docs, __pyx_t_2) < (0)) __PYX_ERR(2, 757, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_27 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_numpy, 0, 0, __pyx_mstate_global->__pyx_kp_u_talib_numpy, -1); if (unlikely(!__pyx_t_27)) __PYX_ERR(3, 3, __pyx_L1_error) - __pyx_t_2 = __pyx_t_27; - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_numpy, __pyx_t_2) < (0)) __PYX_ERR(3, 3, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - { - PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_namedtuple}; - __pyx_t_27 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_collections, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_talib_collections, -1); if (unlikely(!__pyx_t_27)) __PYX_ERR(3, 4, __pyx_L1_error) - } - __pyx_t_2 = __pyx_t_27; - __Pyx_GOTREF(__pyx_t_2); - { - PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_namedtuple}; - __pyx_t_23 = 0; { - __pyx_t_9 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_23]); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_23], __pyx_t_9) < (0)) __PYX_ERR(3, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_25 = __pyx_f_5numpy_import_array(); if (unlikely(__pyx_t_25 == ((int)-1))) __PYX_ERR(3, 12, __pyx_L1_error) - - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_namedtuple); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 2456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 2456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_module_2, __pyx_t_4) < (0)) __PYX_ERR(3, 2456, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[15], __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_OutRange, __pyx_t_4) < (0)) __PYX_ERR(3, 2456, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_6Stream_5__copy__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Stream___copy, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[257])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2542, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream, __pyx_mstate_global->__pyx_n_u_copy_2, __pyx_t_4) < (0)) __PYX_ERR(3, 2542, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_6Stream_7__deepcopy__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Stream___deepcopy, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[258])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream, __pyx_mstate_global->__pyx_n_u_deepcopy, __pyx_t_4) < (0)) __PYX_ERR(3, 2545, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_6Stream_9__reduce__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Stream___reduce, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[259])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2548, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_Stream, __pyx_mstate_global->__pyx_n_u_reduce, __pyx_t_4) < (0)) __PYX_ERR(3, 2548, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_9AC_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_AC_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[260])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2606, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[16]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 2606, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 2606, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2606, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 2606, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15ACCBANDS_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ACCBANDS_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[261])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 2750, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 2750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACCBANDS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 2750, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11ACOS_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ACOS_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[262])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2897, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 2897, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 2897, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 2897, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ACOS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 2897, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_9AD_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_AD_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[263])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3035, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3035, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 3035, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3035, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3035, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10ADD_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ADD_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[264])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3175, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3175, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 3175, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3175, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3175, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_12ADOSC_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ADOSC_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[265])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3317, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[18]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3317, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 3317, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3317, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADOSC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3317, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10ADR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ADR_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[266])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3458, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 3458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3458, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10ADX_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ADX_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[267])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3598, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3598, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 3598, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3598, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3598, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11ADXR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ADXR_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[268])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3739, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3739, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 3739, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3739, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ADXR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3739, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_9AO_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_AO_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[269])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3880, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[18]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3880, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 3880, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 3880, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 3880, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10APO_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_APO_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[270])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4020, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[19]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_APO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4020, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_APO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 4020, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4020, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_APO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4020, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_12AROON_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_AROON_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[271])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROON_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4160, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROON_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 4160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROON_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4160, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15AROONOSC_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_AROONOSC_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[272])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4304, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4304, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 4304, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4304, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AROONOSC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4304, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11ASIN_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ASIN_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[273])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4440, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4440, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 4440, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4440, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ASIN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4440, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11ATAN_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ATAN_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[274])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4575, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4575, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 4575, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4575, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4575, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10ATR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ATR_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[275])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4714, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4714, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 4714, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4714, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ATR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4714, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13AVGDEV_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_AVGDEV_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[276])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4853, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4853, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 4853, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4853, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGDEV_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4853, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15AVGPRICE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_AVGPRICE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[277])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4991, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4991, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 4991, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 4991, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_AVGPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 4991, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13BBANDS_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BBANDS_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[278])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[20]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5138, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 5138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BBANDS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5138, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11BETA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BETA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[279])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5287, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BETA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5287, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BETA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 5287, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5287, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BETA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5287, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10BOP_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BOP_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[280])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BOP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5426, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BOP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 5426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_BOP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5426, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10CCI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[281])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5568, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CCI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5568, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CCI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 5568, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5568, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CCI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5568, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_16CDL2CROWS_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDL2CROWS_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[282])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5708, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5708, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 5708, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5708, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL2CROWS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5708, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_21CDL3BLACKCROWS_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDL3BLACKCROWS_Stream_open_and_f, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[283])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5849, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5849, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 5849, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5849, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3BLACKCROWS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5849, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_17CDL3INSIDE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDL3INSIDE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[284])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5990, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5990, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 5990, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 5990, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3INSIDE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 5990, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_21CDL3LINESTRIKE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDL3LINESTRIKE_Stream_open_and_f, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[285])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6131, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 6131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3LINESTRIKE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6131, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_18CDL3OUTSIDE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDL3OUTSIDE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[286])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6272, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 6272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3OUTSIDE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6272, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_23CDL3STARSINSOUTH_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDL3STARSINSOUTH_Stream_open_and, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[287])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6413, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6413, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 6413, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6413, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3STARSINSOUTH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6413, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_24CDL3WHITESOLDIERS_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDL3WHITESOLDIERS_Stream_open_an, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[288])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6554, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6554, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 6554, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6554, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDL3WHITESOLDIERS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6554, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_23CDLABANDONEDBABY_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLABANDONEDBABY_Stream_open_and, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[289])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[21]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6697, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 6697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLABANDONEDBABY_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6697, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_22CDLADVANCEBLOCK_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLADVANCEBLOCK_Stream_open_and, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[290])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6838, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 6838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLADVANCEBLOCK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6838, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_18CDLBELTHOLD_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLBELTHOLD_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[291])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6979, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6979, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 6979, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 6979, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBELTHOLD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 6979, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_19CDLBREAKAWAY_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLBREAKAWAY_Stream_open_and_fil, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[292])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7120, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 7120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLBREAKAWAY_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7120, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_25CDLCLOSINGMARUBOZU_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLCLOSINGMARUBOZU_Stream_open_a, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[293])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7261, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 7261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCLOSINGMARUBOZU_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7261, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_26CDLCONCEALBABYSWALL_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLCONCEALBABYSWALL_Stream_open, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[294])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7402, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7402, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 7402, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7402, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCONCEALBABYSWALL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7402, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_23CDLCOUNTERATTACK_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLCOUNTERATTACK_Stream_open_and, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[295])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7543, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 7543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLCOUNTERATTACK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7543, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_24CDLDARKCLOUDCOVER_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLDARKCLOUDCOVER_Stream_open_an, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[296])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7686, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[22]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7686, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 7686, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7686, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDARKCLOUDCOVER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7686, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_14CDLDOJI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLDOJI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[297])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7827, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 7827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7827, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_18CDLDOJISTAR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLDOJISTAR_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[298])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7968, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7968, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 7968, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 7968, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDOJISTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 7968, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_23CDLDRAGONFLYDOJI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLDRAGONFLYDOJI_Stream_open_and, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[299])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8109, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 8109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLDRAGONFLYDOJI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8109, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_19CDLENGULFING_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLENGULFING_Stream_open_and_fil, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[300])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8250, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 8250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLENGULFING_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8250, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_25CDLEVENINGDOJISTAR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLEVENINGDOJISTAR_Stream_open_a, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[301])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8393, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[21]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8393, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 8393, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8393, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGDOJISTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8393, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_21CDLEVENINGSTAR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLEVENINGSTAR_Stream_open_and_f, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[302])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8536, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[21]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8536, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 8536, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8536, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLEVENINGSTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8536, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_26CDLGAPSIDESIDEWHITE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLGAPSIDESIDEWHITE_Stream_open, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[303])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8677, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8677, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 8677, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8677, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGAPSIDESIDEWHITE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8677, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_24CDLGRAVESTONEDOJI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLGRAVESTONEDOJI_Stream_open_an, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[304])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8818, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8818, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 8818, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8818, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLGRAVESTONEDOJI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8818, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_16CDLHAMMER_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLHAMMER_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[305])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8959, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 8959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 8959, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHAMMER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 8959, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_20CDLHANGINGMAN_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLHANGINGMAN_Stream_open_and_fi, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[306])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9100, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 9100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHANGINGMAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9100, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_16CDLHARAMI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLHARAMI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[307])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9241, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9241, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 9241, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9241, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9241, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_21CDLHARAMICROSS_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLHARAMICROSS_Stream_open_and_f, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[308])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9382, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 9382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9382, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHARAMICROSS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9382, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_18CDLHIGHWAVE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLHIGHWAVE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[309])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9523, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 9523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9523, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIGHWAVE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9523, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_17CDLHIKKAKE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLHIKKAKE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[310])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9664, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9664, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 9664, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9664, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9664, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_20CDLHIKKAKEMOD_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLHIKKAKEMOD_Stream_open_and_fi, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[311])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9805, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9805, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 9805, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9805, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHIKKAKEMOD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9805, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_22CDLHOMINGPIGEON_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLHOMINGPIGEON_Stream_open_and, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[312])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9946, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9946, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 9946, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 9946, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLHOMINGPIGEON_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 9946, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_25CDLIDENTICAL3CROWS_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLIDENTICAL3CROWS_Stream_open_a, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[313])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10087, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 10087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLIDENTICAL3CROWS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10087, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_16CDLINNECK_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLINNECK_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[314])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10228, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 10228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINNECK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10228, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_24CDLINVERTEDHAMMER_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLINVERTEDHAMMER_Stream_open_an, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[315])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10369, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 10369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLINVERTEDHAMMER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10369, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_17CDLKICKING_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLKICKING_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[316])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10510, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10510, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 10510, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10510, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKING_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10510, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_25CDLKICKINGBYLENGTH_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLKICKINGBYLENGTH_Stream_open_a, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[317])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10651, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 10651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLKICKINGBYLENGTH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10651, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_22CDLLADDERBOTTOM_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLLADDERBOTTOM_Stream_open_and, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[318])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10792, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10792, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 10792, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10792, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLADDERBOTTOM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10792, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_24CDLLONGLEGGEDDOJI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLLONGLEGGEDDOJI_Stream_open_an, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[319])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10933, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 10933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 10933, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLEGGEDDOJI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 10933, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_18CDLLONGLINE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLLONGLINE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[320])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11074, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 11074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLLONGLINE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11074, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_18CDLMARUBOZU_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLMARUBOZU_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[321])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11215, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 11215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMARUBOZU_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11215, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_21CDLMATCHINGLOW_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLMATCHINGLOW_Stream_open_and_f, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[322])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11356, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11356, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 11356, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11356, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATCHINGLOW_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11356, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_17CDLMATHOLD_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLMATHOLD_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[323])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11499, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[22]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11499, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 11499, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11499, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMATHOLD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11499, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_25CDLMORNINGDOJISTAR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLMORNINGDOJISTAR_Stream_open_a, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[324])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[21]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11642, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 11642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGDOJISTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11642, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_21CDLMORNINGSTAR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLMORNINGSTAR_Stream_open_and_f, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[325])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[21]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11785, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 11785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11785, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLMORNINGSTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11785, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_16CDLONNECK_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLONNECK_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[326])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11926, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11926, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 11926, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 11926, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLONNECK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 11926, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_18CDLPIERCING_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLPIERCING_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[327])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12067, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12067, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 12067, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12067, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLPIERCING_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12067, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_21CDLRICKSHAWMAN_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLRICKSHAWMAN_Stream_open_and_f, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[328])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12208, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 12208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRICKSHAWMAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12208, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_26CDLRISEFALL3METHODS_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLRISEFALL3METHODS_Stream_open, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[329])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12349, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12349, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 12349, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12349, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLRISEFALL3METHODS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12349, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_25CDLSEPARATINGLINES_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLSEPARATINGLINES_Stream_open_a, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[330])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12490, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 12490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSEPARATINGLINES_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12490, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_22CDLSHOOTINGSTAR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLSHOOTINGSTAR_Stream_open_and, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[331])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12631, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12631, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 12631, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12631, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHOOTINGSTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12631, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_19CDLSHORTLINE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLSHORTLINE_Stream_open_and_fil, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[332])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12772, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 12772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSHORTLINE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12772, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_21CDLSPINNINGTOP_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLSPINNINGTOP_Stream_open_and_f, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[333])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12913, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12913, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 12913, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 12913, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSPINNINGTOP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 12913, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_24CDLSTALLEDPATTERN_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLSTALLEDPATTERN_Stream_open_an, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[334])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13054, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13054, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 13054, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13054, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTALLEDPATTERN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13054, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_23CDLSTICKSANDWICH_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLSTICKSANDWICH_Stream_open_and, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[335])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13195, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 13195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLSTICKSANDWICH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13195, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_16CDLTAKURI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLTAKURI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[336])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13336, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13336, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 13336, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13336, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTAKURI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13336, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_19CDLTASUKIGAP_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLTASUKIGAP_Stream_open_and_fil, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[337])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13477, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13477, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 13477, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13477, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTASUKIGAP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13477, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_19CDLTHRUSTING_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLTHRUSTING_Stream_open_and_fil, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[338])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13618, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 13618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTHRUSTING_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13618, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_17CDLTRISTAR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLTRISTAR_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[339])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13759, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13759, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 13759, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13759, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLTRISTAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13759, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_22CDLUNIQUE3RIVER_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLUNIQUE3RIVER_Stream_open_and, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[340])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13900, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13900, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 13900, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 13900, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUNIQUE3RIVER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 13900, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_25CDLUPSIDEGAP2CROWS_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLUPSIDEGAP2CROWS_Stream_open_a, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[341])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14041, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14041, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 14041, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14041, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLUPSIDEGAP2CROWS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14041, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_26CDLXSIDEGAP3METHODS_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CDLXSIDEGAP3METHODS_Stream_open, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[342])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14182, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14182, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 14182, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14182, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CDLXSIDEGAP3METHODS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14182, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11CEIL_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CEIL_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[343])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14320, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14320, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 14320, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14320, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CEIL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14320, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10CMF_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CMF_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[344])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14460, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMF_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14460, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMF_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 14460, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14460, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMF_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14460, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10CMO_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CMO_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[345])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14600, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 14600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14600, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11CMOU_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CMOU_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[346])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14737, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14737, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 14737, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14737, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CMOU_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14737, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_14COPPOCK_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_COPPOCK_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[347])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14876, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[16]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14876, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 14876, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 14876, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COPPOCK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 14876, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13CORREL_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CORREL_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[348])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15015, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15015, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 15015, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15015, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CORREL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15015, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10COS_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_COS_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[349])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15151, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 15151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COS_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15151, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11COSH_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_COSH_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[350])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15286, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COSH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15286, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COSH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 15286, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15286, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_COSH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15286, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13CUMSUM_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUMSUM_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[351])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15421, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 15421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CUMSUM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15421, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10CVI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CVI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[352])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15560, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[18]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CVI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15560, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CVI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 15560, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15560, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_CVI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15560, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11DEMA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_DEMA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[353])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15698, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15698, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 15698, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15698, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DEMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15698, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10DIV_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_DIV_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[354])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15835, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DIV_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15835, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DIV_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 15835, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15835, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DIV_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15835, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15DONCHIAN_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_DONCHIAN_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[355])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15978, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15978, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 15978, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 15978, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DONCHIAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 15978, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10DPO_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_DPO_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[356])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DPO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16126, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DPO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 16126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DPO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16126, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_9DX_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_DX_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[357])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16265, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 16265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_DX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16265, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10EFI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EFI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[358])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16405, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EFI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16405, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EFI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 16405, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16405, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EFI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16405, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10EMA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EMA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[359])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16543, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 16543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16543, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_9ER_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ER_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[360])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16680, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16680, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 16680, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16680, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ER_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16680, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10ERI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ERI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[361])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16821, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ERI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16821, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ERI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 16821, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16821, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ERI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16821, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10EXP_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EXP_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[362])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16963, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EXP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16963, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EXP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 16963, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 16963, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_EXP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 16963, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_12FLOOR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FLOOR_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[363])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17098, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 17098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FLOOR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17098, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11FOSC_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FOSC_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[364])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17235, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17235, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 17235, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17235, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FOSC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17235, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_14FRACTAL_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FRACTAL_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[365])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[18]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17376, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 17376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_FRACTAL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17376, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_9HA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[366])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17526, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17526, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 17526, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17526, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17526, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10HMA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HMA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[367])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17681, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17681, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 17681, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17681, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17681, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_18HT_DCPERIOD_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HT_DCPERIOD_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[368])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17816, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17816, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 17816, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17816, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPERIOD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17816, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_17HT_DCPHASE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HT_DCPHASE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[369])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17951, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17951, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 17951, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 17951, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_DCPHASE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 17951, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_16HT_PHASOR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HT_PHASOR_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[370])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18088, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18088, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 18088, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18088, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_PHASOR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18088, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_14HT_SINE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HT_SINE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[371])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18230, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 18230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_SINE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18230, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_19HT_TRENDLINE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HT_TRENDLINE_Stream_open_and_fil, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[372])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18370, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18370, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 18370, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18370, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDLINE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18370, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_19HT_TRENDMODE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HT_TRENDMODE_Stream_open_and_fil, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[373])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18505, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 18505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18505, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_HT_TRENDMODE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18505, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10IMI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IMI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[374])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_IMI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18643, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_IMI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 18643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_IMI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18643, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11KAMA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_KAMA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[375])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18781, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 18781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KAMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18781, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_9KC_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_KC_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[376])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18926, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[23]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18926, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 18926, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18926, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 18926, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10KDJ_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_KDJ_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[377])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19085, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[24]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19085, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 19085, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19085, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_KDJ_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19085, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_16LINEARREG_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LINEARREG_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[378])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19234, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19234, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 19234, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19234, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19234, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_22LINEARREG_ANGLE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LINEARREG_ANGLE_Stream_open_and, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[379])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19371, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19371, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 19371, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19371, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_ANGLE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19371, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_26LINEARREG_INTERCEPT_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LINEARREG_INTERCEPT_Stream_open, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[380])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19508, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19508, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 19508, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19508, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_INTERCEPT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19508, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_22LINEARREG_SLOPE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LINEARREG_SLOPE_Stream_open_and, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[381])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19645, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 19645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LINEARREG_SLOPE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19645, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_9LN_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LN_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[382])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19780, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19780, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 19780, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19780, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19780, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_12LOG10_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LOG10_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[383])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19915, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19915, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 19915, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19915, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_LOG10_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 19915, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_9MA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[384])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20053, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[25]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20053, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 20053, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20053, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20053, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11MACD_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MACD_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[385])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[16]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20196, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 20196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20196, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_14MACDEXT_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MACDEXT_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[386])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20352, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[26]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20352, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 20352, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20352, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDEXT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20352, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_14MACDFIX_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MACDFIX_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[387])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20503, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20503, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 20503, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20503, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MACDFIX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20503, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11MAMA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MAMA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[388])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[27]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20653, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 20653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20653, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15MARKETFI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MARKETFI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[389])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20795, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20795, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 20795, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20795, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MARKETFI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20795, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_12MASSI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MASSI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[390])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20936, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[18]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20936, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 20936, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 20936, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MASSI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 20936, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11MAVP_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MAVP_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[391])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21078, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[28]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21078, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 21078, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21078, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAVP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21078, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10MAX_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MAX_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[392])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21216, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 21216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21216, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15MAXINDEX_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MAXINDEX_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[393])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21353, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 21353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MAXINDEX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21353, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15MEDPRICE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MEDPRICE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[394])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21499, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21499, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 21499, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21499, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MEDPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21499, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10MFI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MFI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[395])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21640, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MFI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21640, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MFI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 21640, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21640, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MFI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21640, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15MIDPOINT_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MIDPOINT_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[396])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21780, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21780, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 21780, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21780, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPOINT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21780, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15MIDPRICE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MIDPRICE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[397])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21918, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21918, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 21918, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 21918, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIDPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 21918, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10MIN_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MIN_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[398])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22056, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 22056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22056, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MIN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22056, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15MININDEX_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MININDEX_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[399])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22193, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 22193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MININDEX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22193, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13MINMAX_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MINMAX_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[400])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22342, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22342, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 22342, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22342, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22342, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_18MINMAXINDEX_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MINMAXINDEX_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[401])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22486, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22486, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 22486, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22486, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINMAXINDEX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22486, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15MINUS_DI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MINUS_DI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[402])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22643, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 22643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22643, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15MINUS_DM_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MINUS_DM_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[403])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22783, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22783, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 22783, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22783, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MINUS_DM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22783, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10MOM_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MOM_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[404])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22921, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MOM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22921, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MOM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 22921, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 22921, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MOM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 22921, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11MULT_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_MULT_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[405])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23058, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MULT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23058, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MULT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 23058, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23058, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_MULT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23058, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11NATR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_NATR_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[406])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NATR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23198, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NATR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 23198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NATR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23198, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10NVI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_NVI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[407])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23336, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NVI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23336, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NVI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 23336, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23336, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_NVI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23336, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10OBV_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_OBV_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[408])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23474, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_OBV_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23474, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_OBV_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 23474, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23474, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_OBV_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23474, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_17PERCENTILE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PERCENTILE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[409])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[29]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23613, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 23613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTILE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23613, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_18PERCENTRANK_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PERCENTRANK_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[410])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23750, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 23750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PERCENTRANK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23750, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_14PLUS_DI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PLUS_DI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[411])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23889, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 23889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 23889, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_14PLUS_DM_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PLUS_DM_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[412])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24029, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24029, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 24029, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24029, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PLUS_DM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24029, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10PPO_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PPO_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[413])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[19]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PPO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24169, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PPO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 24169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PPO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24169, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10PVI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PVI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[414])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24305, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 24305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24305, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10PVO_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PVO_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[415])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[19]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24445, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 24445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVO_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24445, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10PVT_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PVT_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[416])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24581, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24581, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 24581, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24581, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_PVT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24581, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13QSTICK_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_QSTICK_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[417])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24720, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24720, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 24720, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24720, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_QSTICK_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24720, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10RMA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_RMA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[418])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24858, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24858, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 24858, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24858, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24858, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10ROC_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ROC_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[419])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24995, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24995, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 24995, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 24995, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 24995, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11ROCP_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ROCP_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[420])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25132, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 25132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25132, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11ROCR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ROCR_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[421])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25269, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 25269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25269, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_14ROCR100_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ROCR100_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[422])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25406, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25406, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 25406, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25406, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ROCR100_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25406, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10RSI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_RSI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[423])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RSI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25543, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RSI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 25543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RSI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25543, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10RVI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_RVI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[424])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25681, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[18]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25681, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 25681, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25681, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25681, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11RVOL_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_RVOL_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[425])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25818, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25818, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 25818, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25818, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_RVOL_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25818, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10SAR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_SAR_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[426])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25957, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[30]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25957, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 25957, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 25957, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 25957, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13SAREXT_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_SAREXT_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[427])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26103, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[31]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26103, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 26103, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26103, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SAREXT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26103, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10SIN_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_SIN_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[428])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26239, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SIN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26239, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SIN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 26239, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26239, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SIN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26239, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11SINH_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_SINH_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[429])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SINH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26374, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SINH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 26374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SINH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26374, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10SMA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_SMA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[430])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26511, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26511, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 26511, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26511, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26511, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10SMI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_SMI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[431])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26655, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[32]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26655, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 26655, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26655, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SMI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26655, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11SQRT_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_SQRT_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[432])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26797, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26797, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 26797, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26797, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SQRT_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26797, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13STDDEV_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_STDDEV_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[433])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26935, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[33]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26935, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 26935, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 26935, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STDDEV_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 26935, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_12STOCH_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_STOCH_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[434])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27080, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[34]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27080, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 27080, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27080, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27080, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13STOCHF_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_STOCHF_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[435])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[28]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27230, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 27230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHF_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27230, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15STOCHRSI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_STOCHRSI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[436])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27379, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[35]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27379, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 27379, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27379, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_STOCHRSI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27379, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10SUB_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_SUB_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[437])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27521, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUB_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27521, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUB_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 27521, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27521, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUB_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27521, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10SUM_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_SUM_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[438])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27659, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27659, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 27659, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27659, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUM_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27659, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_17SUPERTREND_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_SUPERTREND_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[439])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27801, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[36]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27801, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 27801, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27801, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_SUPERTREND_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27801, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_9T3_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_T3_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[440])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27946, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[33]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_T3_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27946, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_T3_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 27946, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 27946, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_T3_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 27946, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10TAN_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TAN_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[441])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28081, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28081, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 28081, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28081, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TAN_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28081, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11TANH_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TANH_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[442])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TANH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28216, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TANH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 28216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TANH_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28216, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11TEMA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TEMA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[443])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28353, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 28353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TEMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28353, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13TRANGE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TRANGE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[444])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28490, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 28490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRANGE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28490, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_12TRIMA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TRIMA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[445])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28629, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28629, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 28629, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28629, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28629, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11TRIX_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TRIX_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[446])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28766, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28766, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 28766, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28766, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TRIX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28766, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10TSF_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TSF_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[447])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28903, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSF_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28903, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSF_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 28903, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 28903, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSF_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 28903, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10TSI_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TSI_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[448])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29041, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[18]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29041, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 29041, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29041, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TSI_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29041, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15TYPPRICE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_TYPPRICE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[449])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29178, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 29178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_TYPPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29178, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13ULTOSC_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ULTOSC_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[450])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29321, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[16]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29321, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 29321, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29321, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ULTOSC_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29321, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10VAR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VAR_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[451])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29461, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[33]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29461, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 29461, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29461, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VAR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29461, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10VHF_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VHF_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[452])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29598, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VHF_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29598, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VHF_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 29598, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29598, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VHF_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29598, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_13VORTEX_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VORTEX_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[453])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29739, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29739, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 29739, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29739, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VORTEX_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29739, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11VWAP_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VWAP_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[454])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29884, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29884, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 29884, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 29884, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWAP_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 29884, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_11VWMA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VWMA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[455])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 30026, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 30026, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 30026, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 30026, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_VWMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 30026, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10WAD_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_WAD_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[456])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 30164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WAD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 30164, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WAD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 30164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 30164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WAD_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 30164, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_15WCLPRICE_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_WCLPRICE_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[457])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 30303, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 30303, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 30303, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 30303, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WCLPRICE_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 30303, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_12WILLR_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_WILLR_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[458])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 30444, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 30444, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 30444, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 30444, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WILLR_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 30444, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_10WMA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_WMA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[459])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 30583, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 30583, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = NULL; - __Pyx_GetNameInClass(__pyx_t_9, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 30583, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 30583, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_WMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 30583, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_12ZLEMA_Stream_5open_and_fill, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ZLEMA_Stream_open_and_fill, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[460])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 30720, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17]); - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 30720, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = NULL; - __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 30720, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = 1; - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 30720, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_5talib_7_ta_lib_ZLEMA_Stream, __pyx_mstate_global->__pyx_n_u_open_and_fill, __pyx_t_4) < (0)) __PYX_ERR(3, 30720, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_TA_FUNCTION_NAMES); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_all, __pyx_t_4) < (0)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_447__pyx_unpickle__TA_ReadLease, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle__TA_ReadLease, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[461])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle__TA_ReadLease, __pyx_t_4) < (0)) __PYX_ERR(5, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_5talib_7_ta_lib_449__pyx_unpickle__TA_WriteLease, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle__TA_WriteLease, NULL, __pyx_mstate_global->__pyx_n_u_talib__ta_lib, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[462])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 - PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); - #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle__TA_WriteLease, __pyx_t_4) < (0)) __PYX_ERR(5, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_test, __pyx_t_4) < (0)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /*--- Wrapped vars code ---*/ - - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_XDECREF(__pyx_t_19); - __Pyx_XDECREF(__pyx_t_20); - __Pyx_XDECREF(__pyx_t_21); - if (__pyx_m) { - if (__pyx_mstate->__pyx_d && stringtab_initialized) { - __Pyx_AddTraceback("init talib._ta_lib", __pyx_clineno, __pyx_lineno, __pyx_filename); - } - #if !CYTHON_USE_MODULE_STATE - Py_CLEAR(__pyx_m); - #else - Py_DECREF(__pyx_m); - if (pystate_addmodule_run) { - PyObject *tp, *value, *tb; - __Pyx_PyErr_FetchException(&tp, &value, &tb); - __Pyx_State_RemoveModule(&__pyx_moduledef); - __Pyx_PyErr_RestoreException(tp, value, tb); - } - #endif - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init talib._ta_lib"); - } - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - #if CYTHON_PEP489_MULTI_PHASE_INIT - return (__pyx_m != NULL) ? 0 : -1; - #else - return __pyx_m; - #endif -} -/* #### Code section: pystring_table ### */ -/* #### Code section: cached_builtins ### */ - -static int __Pyx_InitCachedBuiltins(__pyx_mstatetype *__pyx_mstate) { - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_object); if (!__pyx_builtin_object) __PYX_ERR(1, 167, __pyx_L1_error) - __pyx_builtin_property = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_property); if (!__pyx_builtin_property) __PYX_ERR(2, 129, __pyx_L1_error) - __pyx_builtin_staticmethod = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_staticmethod); if (!__pyx_builtin_staticmethod) __PYX_ERR(3, 2606, __pyx_L1_error) - __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(2, 322, __pyx_L1_error) - - /* Cached unbound methods */ - __pyx_mstate->__pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type; - __pyx_mstate->__pyx_umethod_PyDict_Type_items.method_name = &__pyx_mstate->__pyx_n_u_items; - __pyx_mstate->__pyx_umethod_PyDict_Type_pop.type = (PyObject*)&PyDict_Type; - __pyx_mstate->__pyx_umethod_PyDict_Type_pop.method_name = &__pyx_mstate->__pyx_n_u_pop; - __pyx_mstate->__pyx_umethod_PyDict_Type_values.type = (PyObject*)&PyDict_Type; - __pyx_mstate->__pyx_umethod_PyDict_Type_values.method_name = &__pyx_mstate->__pyx_n_u_values; - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: cached_constants ### */ - -static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - { - PyObject* __pyx_temp[3] = {Py_None, Py_None, Py_None}; - __pyx_mstate_global->__pyx_tuple[0] = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_mstate_global->__pyx_tuple[0])) __PYX_ERR(1, 138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[0]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[0]); - - { - PyObject* __pyx_temp[1] = {__pyx_mstate_global->__pyx_n_u_stacklevel}; - __pyx_mstate_global->__pyx_tuple[1] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[1])) __PYX_ERR(1, 240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[1]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[1]); - - { - PyObject* __pyx_temp[1] = {__pyx_mstate_global->__pyx_n_u_index}; - __pyx_mstate_global->__pyx_tuple[2] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[2])) __PYX_ERR(2, 385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[2]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[2]); - - { - PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_n_u_index, __pyx_mstate_global->__pyx_n_u_columns}; - __pyx_mstate_global->__pyx_tuple[3] = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_mstate_global->__pyx_tuple[3])) __PYX_ERR(2, 387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[3]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[3]); - - { - PyObject* __pyx_temp[1] = {__pyx_mstate_global->__pyx_n_u_schema}; - __pyx_mstate_global->__pyx_tuple[4] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[4])) __PYX_ERR(2, 395, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[4]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[4]); - - { - PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_n_u_real, __pyx_mstate_global->__pyx_n_u_price}; - __pyx_mstate_global->__pyx_tuple[5] = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_mstate_global->__pyx_tuple[5])) __PYX_ERR(2, 698, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[5]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[5]); - - { - PyObject* __pyx_temp[1] = {__pyx_builtin_object}; - __pyx_mstate_global->__pyx_tuple[6] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[6])) __PYX_ERR(1, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[6]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[6]); - { - PyObject* __pyx_temp[1] = {__pyx_builtin_object}; - __pyx_mstate_global->__pyx_tuple[7] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[7])) __PYX_ERR(1, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[7]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[7]); - - { - PyObject* __pyx_temp[1] = {__pyx_builtin_object}; - __pyx_mstate_global->__pyx_tuple[8] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[8])) __PYX_ERR(1, 288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[8]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[8]); - { - PyObject* __pyx_temp[1] = {__pyx_builtin_object}; - __pyx_mstate_global->__pyx_tuple[9] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[9])) __PYX_ERR(1, 288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[9]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[9]); - - { - PyObject* __pyx_temp[1] = {__pyx_builtin_object}; - __pyx_mstate_global->__pyx_tuple[10] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[10])) __PYX_ERR(1, 295, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[10]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[10]); - { - PyObject* __pyx_temp[1] = {__pyx_builtin_object}; - __pyx_mstate_global->__pyx_tuple[11] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[11])) __PYX_ERR(1, 295, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[11]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[11]); - - { - PyObject* __pyx_temp[1] = {__pyx_builtin_object}; - __pyx_mstate_global->__pyx_tuple[12] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[12])) __PYX_ERR(2, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[12]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[12]); - { - PyObject* __pyx_temp[1] = {__pyx_builtin_object}; - __pyx_mstate_global->__pyx_tuple[13] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[13])) __PYX_ERR(2, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[13]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[13]); - - { - PyObject* __pyx_temp[1] = {Py_None}; - __pyx_mstate_global->__pyx_tuple[14] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[14])) __PYX_ERR(2, 285, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[14]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[14]); - - { - PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_n_u_OutRange, __pyx_mstate_global->__pyx_kp_u_begidx_nbelement}; - __pyx_mstate_global->__pyx_tuple[15] = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_mstate_global->__pyx_tuple[15])) __PYX_ERR(3, 2456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[15]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[15]); - - { - PyObject* __pyx_temp[3] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_neg_2147483648}; - __pyx_mstate_global->__pyx_tuple[16] = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_mstate_global->__pyx_tuple[16])) __PYX_ERR(3, 2606, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[16]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[16]); - - { - PyObject* __pyx_temp[1] = {__pyx_mstate_global->__pyx_int_neg_2147483648}; - __pyx_mstate_global->__pyx_tuple[17] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[17])) __PYX_ERR(3, 2750, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[17]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[17]); - - { - PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_neg_2147483648}; - __pyx_mstate_global->__pyx_tuple[18] = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_mstate_global->__pyx_tuple[18])) __PYX_ERR(3, 3317, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[18]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[18]); - - { - PyObject* __pyx_temp[3] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_1}; - __pyx_mstate_global->__pyx_tuple[19] = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_mstate_global->__pyx_tuple[19])) __PYX_ERR(3, 4020, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[19]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[19]); - - { - PyObject* __pyx_temp[4] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_float_neg_4e37, __pyx_mstate_global->__pyx_float_neg_4e37, __pyx_mstate_global->__pyx_int_0}; - __pyx_mstate_global->__pyx_tuple[20] = __Pyx_PyTuple_FromArray(__pyx_temp, 4); if (unlikely(!__pyx_mstate_global->__pyx_tuple[20])) __PYX_ERR(3, 5138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[20]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[20]); - - { - PyObject* __pyx_temp[1] = {__pyx_mstate_global->__pyx_float_0_3}; - __pyx_mstate_global->__pyx_tuple[21] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[21])) __PYX_ERR(3, 6697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[21]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[21]); - - { - PyObject* __pyx_temp[1] = {__pyx_mstate_global->__pyx_float_0_5}; - __pyx_mstate_global->__pyx_tuple[22] = __Pyx_PyTuple_FromArray(__pyx_temp, 1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[22])) __PYX_ERR(3, 7686, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[22]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[22]); - - { - PyObject* __pyx_temp[3] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_float_neg_4e37}; - __pyx_mstate_global->__pyx_tuple[23] = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_mstate_global->__pyx_tuple[23])) __PYX_ERR(3, 18926, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[23]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[23]); - - { - PyObject* __pyx_temp[5] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_13, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_13}; - __pyx_mstate_global->__pyx_tuple[24] = __Pyx_PyTuple_FromArray(__pyx_temp, 5); if (unlikely(!__pyx_mstate_global->__pyx_tuple[24])) __PYX_ERR(3, 19085, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[24]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[24]); - - { - PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_0}; - __pyx_mstate_global->__pyx_tuple[25] = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_mstate_global->__pyx_tuple[25])) __PYX_ERR(3, 20053, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[25]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[25]); - - { - PyObject* __pyx_temp[6] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_0}; - __pyx_mstate_global->__pyx_tuple[26] = __Pyx_PyTuple_FromArray(__pyx_temp, 6); if (unlikely(!__pyx_mstate_global->__pyx_tuple[26])) __PYX_ERR(3, 20352, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[26]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[26]); - - { - PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_float_neg_4e37, __pyx_mstate_global->__pyx_float_neg_4e37}; - __pyx_mstate_global->__pyx_tuple[27] = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_mstate_global->__pyx_tuple[27])) __PYX_ERR(3, 20653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[27]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[27]); - - { - PyObject* __pyx_temp[3] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_0}; - __pyx_mstate_global->__pyx_tuple[28] = __Pyx_PyTuple_FromArray(__pyx_temp, 3); if (unlikely(!__pyx_mstate_global->__pyx_tuple[28])) __PYX_ERR(3, 21078, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[28]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[28]); - - { - PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_float_50_0}; - __pyx_mstate_global->__pyx_tuple[29] = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_mstate_global->__pyx_tuple[29])) __PYX_ERR(3, 23613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[29]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[29]); - - { - PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_float_0_02, __pyx_mstate_global->__pyx_float_0_2}; - __pyx_mstate_global->__pyx_tuple[30] = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_mstate_global->__pyx_tuple[30])) __PYX_ERR(3, 25957, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[30]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[30]); - - { - PyObject* __pyx_temp[8] = {__pyx_mstate_global->__pyx_float_neg_4e37, __pyx_mstate_global->__pyx_float_neg_4e37, __pyx_mstate_global->__pyx_float_neg_4e37, __pyx_mstate_global->__pyx_float_neg_4e37, __pyx_mstate_global->__pyx_float_neg_4e37, __pyx_mstate_global->__pyx_float_neg_4e37, __pyx_mstate_global->__pyx_float_neg_4e37, __pyx_mstate_global->__pyx_float_neg_4e37}; - __pyx_mstate_global->__pyx_tuple[31] = __Pyx_PyTuple_FromArray(__pyx_temp, 8); if (unlikely(!__pyx_mstate_global->__pyx_tuple[31])) __PYX_ERR(3, 26103, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[31]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[31]); - - { - PyObject* __pyx_temp[4] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_neg_2147483648}; - __pyx_mstate_global->__pyx_tuple[32] = __Pyx_PyTuple_FromArray(__pyx_temp, 4); if (unlikely(!__pyx_mstate_global->__pyx_tuple[32])) __PYX_ERR(3, 26655, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[32]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[32]); - - { - PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_float_neg_4e37}; - __pyx_mstate_global->__pyx_tuple[33] = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_mstate_global->__pyx_tuple[33])) __PYX_ERR(3, 26935, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[33]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[33]); - - { - PyObject* __pyx_temp[5] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_0}; - __pyx_mstate_global->__pyx_tuple[34] = __Pyx_PyTuple_FromArray(__pyx_temp, 5); if (unlikely(!__pyx_mstate_global->__pyx_tuple[34])) __PYX_ERR(3, 27080, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[34]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[34]); - - { - PyObject* __pyx_temp[4] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_int_0}; - __pyx_mstate_global->__pyx_tuple[35] = __Pyx_PyTuple_FromArray(__pyx_temp, 4); if (unlikely(!__pyx_mstate_global->__pyx_tuple[35])) __PYX_ERR(3, 27379, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[35]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[35]); - - { - PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_neg_2147483648, __pyx_mstate_global->__pyx_float_3_0}; - __pyx_mstate_global->__pyx_tuple[36] = __Pyx_PyTuple_FromArray(__pyx_temp, 2); if (unlikely(!__pyx_mstate_global->__pyx_tuple[36])) __PYX_ERR(3, 27801, __pyx_L1_error) - __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[36]); - } - __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[36]); - #if CYTHON_IMMORTAL_CONSTANTS - { - PyObject **table = __pyx_mstate->__pyx_tuple; - for (Py_ssize_t i=0; i<37; ++i) { - #if PY_VERSION_HEX >= 0x030F0000 - PyUnstable_SetImmortal(table[i]); - #elif CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - if ((PY_SSIZE_T_MAX <= _Py_IMMORTAL_REFCNT_LOCAL)) break; - #if PY_VERSION_HEX < 0x030E0000 - if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1) - #else - if (PyUnstable_Object_IsUniquelyReferenced(table[i])) - #endif - { - Py_SET_REFCNT(table[i], ((Py_ssize_t)_Py_IMMORTAL_REFCNT_LOCAL + 1)); - } - #else - if ((PY_SSIZE_T_MAX < _Py_IMMORTAL_INITIAL_REFCNT)) break; - Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT); - #endif - } - } - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} -/* #### Code section: init_constants ### */ - -static int __Pyx_InitConstants(__pyx_mstatetype *__pyx_mstate) { - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - CYTHON_UNUSED_VAR(__pyx_mstate); - { - const struct { const unsigned int length: 11; } str_length_index[] = {{0},{1},{1467},{1},{4},{6},{2},{11},{27},{33},{63},{29},{2},{10},{12},{35},{1},{4},{13},{15},{1},{2},{2},{6},{1},{1},{2},{1},{1},{35},{84},{31},{26},{28},{57},{28},{11},{11},{33},{26},{38},{28},{31},{36},{19},{55},{7},{46},{34},{34},{40},{54},{50},{60},{28},{31},{47},{28},{46},{28},{4},{32},{113},{37},{179},{50},{54},{57},{29},{22},{22},{18},{23},{29},{21},{24},{26},{8},{11},{14},{88},{21},{132},{61},{41},{35},{25},{33},{52},{13},{30},{30},{31},{23},{32},{35},{1},{14},{1},{8},{16},{76},{105},{57},{7},{6},{2},{32},{33},{30},{64},{48},{35},{9},{36},{39},{34},{17},{11},{17},{12},{12},{9},{15},{14},{19},{17},{15},{17},{21},{17},{2},{8},{15},{29},{4},{11},{25},{9},{23},{2},{3},{10},{24},{5},{12},{26},{3},{10},{24},{3},{4},{11},{25},{10},{24},{9},{23},{3},{2},{9},{23},{3},{10},{24},{5},{8},{15},{29},{12},{26},{4},{11},{25},{4},{11},{25},{3},{10},{24},{6},{13},{27},{8},{15},{29},{17},{6},{13},{27},{4},{11},{25},{3},{10},{24},{8},{8},{9},{12},{3},{10},{24},{9},{16},{30},{14},{21},{35},{10},{17},{31},{14},{21},{35},{11},{18},{32},{16},{23},{37},{17},{24},{38},{16},{23},{37},{15},{22},{36},{11},{18},{32},{12},{19},{33},{18},{25},{39},{19},{26},{40},{16},{23},{37},{17},{24},{38},{7},{11},{18},{32},{14},{28},{16},{23},{37},{12},{19},{33},{18},{25},{39},{14},{21},{35},{19},{26},{40},{17},{24},{38},{9},{16},{30},{13},{20},{34},{9},{14},{21},{35},{16},{30},{11},{18},{32},{10},{13},{20},{34},{17},{31},{15},{22},{36},{18},{25},{39},{9},{16},{30},{17},{24},{38},{10},{18},{25},{39},{17},{31},{15},{22},{36},{17},{24},{38},{11},{18},{32},{11},{18},{32},{14},{21},{35},{10},{17},{31},{18},{25},{39},{14},{21},{35},{9},{16},{30},{11},{18},{32},{14},{21},{35},{19},{26},{40},{18},{25},{39},{15},{22},{36},{12},{19},{33},{14},{21},{35},{17},{24},{38},{16},{23},{37},{9},{16},{30},{12},{19},{33},{12},{19},{33},{10},{17},{31},{15},{22},{36},{18},{25},{39},{19},{26},{40},{4},{11},{25},{3},{10},{24},{3},{4},{11},{25},{10},{24},{7},{14},{28},{6},{13},{27},{3},{4},{11},{25},{10},{24},{6},{13},{27},{3},{10},{24},{17},{7},{4},{11},{25},{8},{3},{10},{24},{8},{15},{29},{3},{10},{24},{2},{9},{23},{9},{3},{3},{10},{24},{3},{10},{24},{2},{3},{10},{24},{9},{23},{3},{10},{24},{5},{5},{12},{26},{4},{11},{25},{7},{14},{28},{3},{8},{17},{24},{32},{30},{17},{35},{16},{17},{16},{20},{23},{25},{24},{23},{13},{17},{21},{21},{16},{12},{26},{25},{24},{23},{2},{9},{23},{3},{10},{24},{11},{18},{32},{10},{17},{31},{9},{16},{30},{7},{14},{28},{12},{19},{33},{12},{19},{33},{7},{9},{3},{10},{24},{19},{4},{11},{25},{2},{9},{23},{3},{10},{24},{9},{15},{22},{36},{19},{26},{40},{15},{22},{36},{16},{30},{2},{9},{23},{5},{12},{26},{4},{2},{4},{7},{14},{28},{7},{14},{28},{11},{25},{4},{11},{25},{8},{15},{29},{5},{12},{26},{4},{11},{25},{3},{8},{15},{29},{10},{24},{9},{23},{7},{19},{16},{8},{15},{29},{3},{10},{24},{8},{15},{29},{8},{15},{29},{3},{8},{15},{29},{6},{11},{18},{32},{13},{27},{8},{15},{29},{8},{15},{29},{10},{24},{3},{10},{24},{4},{11},{25},{4},{11},{25},{4},{3},{10},{24},{4},{3},{10},{24},{11},{8},{10},{17},{31},{11},{18},{32},{7},{14},{28},{7},{14},{28},{3},{10},{24},{3},{10},{24},{3},{10},{24},{3},{10},{24},{6},{13},{27},{3},{10},{24},{3},{4},{11},{25},{4},{7},{14},{28},{11},{25},{10},{24},{3},{10},{24},{3},{10},{24},{4},{11},{25},{9},{8},{3},{6},{13},{27},{10},{24},{3},{4},{11},{25},{10},{24},{3},{10},{24},{3},{10},{24},{4},{11},{25},{6},{13},{27},{5},{6},{13},{27},{8},{15},{29},{12},{26},{3},{10},{24},{3},{10},{24},{10},{17},{31},{6},{10},{11},{14},{15},{7},{6},{15},{19},{17},{2},{9},{23},{3},{4},{11},{25},{10},{24},{5},{11},{17},{16},{23},{16},{18},{17},{7},{13},{12},{19},{12},{14},{13},{11},{10},{17},{10},{12},{11},{5},{6},{12},{11},{18},{11},{13},{12},{8},{14},{13},{20},{13},{15},{14},{6},{12},{11},{18},{11},{13},{12},{6},{7},{13},{12},{19},{12},{14},{13},{12},{11},{18},{11},{13},{12},{11},{10},{17},{10},{12},{11},{5},{11},{10},{17},{10},{12},{11},{6},{12},{11},{18},{11},{13},{12},{8},{11},{17},{16},{23},{16},{18},{17},{14},{13},{20},{13},{15},{14},{7},{13},{12},{19},{12},{14},{13},{7},{13},{12},{19},{12},{14},{13},{6},{12},{11},{18},{11},{13},{12},{9},{15},{14},{21},{14},{16},{15},{11},{17},{16},{23},{16},{18},{17},{9},{15},{14},{21},{14},{16},{15},{7},{13},{12},{19},{12},{14},{13},{6},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{12},{18},{17},{24},{17},{19},{18},{17},{23},{22},{29},{22},{24},{23},{13},{19},{18},{25},{18},{20},{19},{17},{23},{22},{29},{22},{24},{23},{14},{20},{19},{26},{19},{21},{20},{19},{25},{24},{31},{24},{26},{25},{20},{26},{25},{32},{25},{27},{26},{19},{25},{24},{31},{24},{26},{25},{18},{24},{23},{30},{23},{25},{24},{14},{20},{19},{26},{19},{21},{20},{15},{21},{20},{27},{20},{22},{21},{21},{27},{26},{33},{26},{28},{27},{22},{28},{27},{34},{27},{29},{28},{19},{25},{24},{31},{24},{26},{25},{20},{26},{25},{32},{25},{27},{26},{10},{14},{20},{19},{26},{19},{21},{20},{16},{15},{22},{15},{17},{16},{19},{25},{24},{31},{24},{26},{25},{15},{21},{20},{27},{20},{22},{21},{21},{27},{26},{33},{26},{28},{27},{17},{23},{22},{29},{22},{24},{23},{22},{28},{27},{34},{27},{29},{28},{20},{26},{25},{32},{25},{27},{26},{12},{18},{17},{24},{17},{19},{18},{16},{22},{21},{28},{21},{23},{22},{12},{17},{23},{22},{29},{22},{24},{23},{18},{17},{24},{17},{19},{18},{14},{20},{19},{26},{19},{21},{20},{13},{16},{22},{21},{28},{21},{23},{22},{19},{18},{25},{18},{20},{19},{18},{24},{23},{30},{23},{25},{24},{21},{27},{26},{33},{26},{28},{27},{12},{18},{17},{24},{17},{19},{18},{20},{26},{25},{32},{25},{27},{26},{13},{21},{27},{26},{33},{26},{28},{27},{19},{18},{25},{18},{20},{19},{18},{24},{23},{30},{23},{25},{24},{20},{26},{25},{32},{25},{27},{26},{14},{20},{19},{26},{19},{21},{20},{14},{20},{19},{26},{19},{21},{20},{17},{23},{22},{29},{22},{24},{23},{13},{19},{18},{25},{18},{20},{19},{21},{27},{26},{33},{26},{28},{27},{17},{23},{22},{29},{22},{24},{23},{12},{18},{17},{24},{17},{19},{18},{14},{20},{19},{26},{19},{21},{20},{17},{23},{22},{29},{22},{24},{23},{22},{28},{27},{34},{27},{29},{28},{21},{27},{26},{33},{26},{28},{27},{18},{24},{23},{30},{23},{25},{24},{15},{21},{20},{27},{20},{22},{21},{17},{23},{22},{29},{22},{24},{23},{20},{26},{25},{32},{25},{27},{26},{19},{25},{24},{31},{24},{26},{25},{12},{18},{17},{24},{17},{19},{18},{15},{21},{20},{27},{20},{22},{21},{15},{21},{20},{27},{20},{22},{21},{13},{19},{18},{25},{18},{20},{19},{18},{24},{23},{30},{23},{25},{24},{21},{27},{26},{33},{26},{28},{27},{22},{28},{27},{34},{27},{29},{28},{7},{13},{12},{19},{12},{14},{13},{6},{12},{11},{18},{11},{13},{12},{6},{7},{13},{12},{19},{12},{14},{13},{12},{11},{18},{11},{13},{12},{10},{16},{15},{22},{15},{17},{16},{9},{15},{14},{21},{14},{16},{15},{6},{7},{13},{12},{19},{12},{14},{13},{12},{11},{18},{11},{13},{12},{9},{15},{14},{21},{14},{16},{15},{6},{12},{11},{18},{11},{13},{12},{7},{13},{12},{19},{12},{14},{13},{6},{12},{11},{18},{11},{13},{12},{11},{17},{16},{23},{16},{18},{17},{6},{12},{11},{18},{11},{13},{12},{5},{11},{10},{17},{10},{12},{11},{6},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{5},{6},{12},{11},{18},{11},{13},{12},{11},{10},{17},{10},{12},{11},{6},{12},{11},{18},{11},{13},{12},{8},{14},{13},{20},{13},{15},{14},{7},{13},{12},{19},{12},{14},{13},{10},{16},{15},{22},{15},{17},{16},{13},{17},{16},{16},{14},{24},{14},{27},{25},{18},{17},{5},{11},{10},{17},{10},{12},{11},{6},{12},{11},{18},{11},{13},{12},{14},{20},{19},{26},{19},{21},{20},{13},{19},{18},{25},{18},{20},{19},{12},{18},{17},{24},{17},{19},{18},{10},{16},{15},{22},{15},{17},{16},{15},{21},{20},{27},{20},{22},{21},{15},{21},{20},{27},{20},{22},{21},{6},{12},{11},{18},{11},{13},{12},{14},{13},{7},{13},{12},{19},{12},{14},{13},{5},{11},{10},{17},{10},{12},{11},{6},{12},{11},{18},{11},{13},{12},{12},{18},{24},{23},{30},{23},{25},{24},{18},{22},{28},{27},{34},{27},{29},{28},{17},{24},{17},{18},{24},{23},{30},{23},{25},{24},{19},{18},{5},{11},{10},{17},{10},{12},{11},{8},{14},{13},{20},{13},{15},{14},{5},{7},{10},{16},{15},{22},{15},{17},{16},{10},{16},{15},{22},{15},{17},{16},{13},{12},{19},{12},{14},{13},{7},{13},{12},{19},{12},{14},{13},{11},{17},{16},{23},{16},{18},{17},{8},{14},{13},{20},{13},{15},{14},{7},{13},{12},{19},{12},{14},{13},{6},{11},{17},{16},{23},{16},{18},{17},{12},{11},{18},{11},{13},{12},{11},{10},{17},{10},{12},{11},{11},{17},{16},{23},{16},{18},{17},{6},{12},{11},{18},{11},{13},{12},{11},{17},{16},{23},{16},{18},{17},{11},{17},{16},{23},{16},{18},{17},{6},{11},{17},{16},{23},{16},{18},{17},{9},{14},{20},{19},{26},{19},{21},{20},{15},{14},{21},{14},{16},{15},{11},{17},{16},{23},{16},{18},{17},{11},{17},{16},{23},{16},{18},{17},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{7},{13},{12},{19},{12},{14},{13},{7},{13},{12},{19},{12},{14},{13},{6},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{15},{13},{19},{18},{25},{18},{20},{19},{14},{20},{19},{26},{19},{21},{20},{10},{16},{15},{22},{15},{17},{16},{10},{16},{15},{22},{15},{17},{16},{6},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{19},{18},{9},{15},{14},{21},{14},{16},{15},{6},{12},{11},{18},{11},{13},{12},{6},{7},{13},{12},{19},{12},{14},{13},{7},{10},{16},{15},{22},{15},{17},{16},{13},{12},{19},{12},{14},{13},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{7},{13},{12},{19},{12},{14},{13},{31},{6},{9},{15},{14},{21},{14},{16},{15},{12},{11},{18},{11},{13},{12},{6},{7},{13},{12},{19},{12},{14},{13},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{7},{13},{12},{19},{12},{14},{13},{9},{15},{14},{21},{14},{16},{15},{8},{9},{15},{14},{21},{14},{16},{15},{11},{17},{16},{23},{16},{18},{17},{14},{13},{20},{13},{15},{14},{6},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{13},{19},{18},{25},{18},{20},{19},{20},{19},{26},{23},{20},{11},{5},{11},{10},{17},{10},{12},{11},{6},{7},{13},{12},{19},{12},{14},{13},{12},{11},{18},{11},{13},{12},{7},{13},{12},{19},{12},{14},{13},{9},{15},{14},{21},{14},{16},{15},{8},{14},{13},{20},{13},{15},{14},{7},{13},{12},{19},{12},{14},{13},{6},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{11},{17},{16},{23},{16},{18},{17},{9},{15},{14},{21},{14},{16},{15},{6},{12},{11},{18},{11},{13},{12},{6},{12},{11},{18},{11},{13},{12},{9},{15},{14},{21},{14},{16},{15},{7},{13},{12},{19},{12},{14},{13},{7},{13},{12},{19},{12},{14},{13},{6},{12},{11},{18},{11},{13},{12},{11},{17},{16},{23},{16},{18},{17},{8},{14},{13},{20},{13},{15},{14},{6},{12},{11},{18},{11},{13},{12},{8},{14},{13},{20},{13},{15},{14},{4},{11},{25},{6},{13},{27},{5},{12},{26},{4},{11},{25},{3},{10},{24},{3},{10},{24},{8},{15},{29},{6},{13},{27},{3},{10},{24},{3},{10},{24},{6},{13},{27},{4},{11},{25},{4},{11},{25},{3},{10},{24},{8},{15},{29},{5},{12},{26},{3},{10},{24},{5},{12},{26},{12},{24},{32},{30},{35},{16},{20},{15},{18},{19},{28},{17},{14},{17},{14},{13},{23},{22},{31},{33},{14},{24},{23},{32},{34},{20},{21},{7},{12},{8},{15},{23},{17},{8},{12},{8},{7},{9},{8},{8},{11},{21},{11},{12},{8},{26},{7},{8},{13},{10},{15},{8},{7},{11},{14},{12},{11},{10},{28},{29},{14},{12},{10},{17},{13},{8},{12},{12},{19},{7},{14},{8},{11},{5},{22},{13},{7},{17},{16},{17},{21},{15},{16},{17},{25},{28},{26},{21},{23},{14},{35},{23},{21},{23},{12},{7},{6},{5},{6},{9},{6},{7},{7},{8},{12},{20},{21},{16},{19},{20},{17},{8},{6},{3},{4},{6},{5},{6},{18},{7},{9},{9},{1},{6},{3},{9},{8},{7},{11},{18},{5},{5},{11},{12},{7},{4},{1},{6},{13},{8},{11},{12},{4},{13},{5},{6},{8},{9},{6},{12},{12},{12},{9},{10},{10},{11},{4},{5},{17},{9},{9},{9},{11},{14},{13},{9},{16},{15},{14},{5},{6},{6},{4},{4},{10},{6},{1},{2},{3},{12},{2},{5},{4},{12},{10},{11},{24},{7},{8},{5},{3},{4},{6},{8},{6},{5},{8},{3},{5},{6},{7},{9},{4},{9},{7},{12},{6},{3},{10},{1},{4},{10},{3},{5},{7},{7},{24},{10},{14},{11},{5},{6},{15},{4},{12},{13},{5},{9},{16},{10},{11},{3},{12},{10},{12},{9},{12},{4},{7},{8},{8},{10},{9},{8},{9},{10},{10},{15},{4},{4},{11},{12},{7},{11},{13},{7},{6},{9},{14},{13},{6},{9},{14},{10},{12},{9},{6},{12},{11},{12},{7},{13},{13},{7},{16},{17},{16},{7},{8},{8},{6},{12},{13},{12},{11},{8},{12},{6},{5},{10},{10},{6},{11},{10},{6},{7},{6},{3},{5},{6},{6},{12},{24},{6},{8},{9},{4},{5},{5},{7},{7},{3},{7},{8},{9},{10},{10},{9},{3},{1},{6},{12},{4},{6},{17},{16},{15},{14},{10},{11},{12},{12},{10},{12},{12},{12},{12},{9},{10},{10},{10},{10},{5},{12},{12},{9},{6},{3},{5},{13},{9},{9},{10},{11},{11},{11},{8},{4},{5},{7},{6},{11},{5},{12},{5},{6},{7},{7},{6},{4},{8},{9}}; - const struct { const unsigned int length: 10; } bytes_length_index[] = {{42},{53},{279},{11},{11},{35},{56},{57},{23},{37},{30},{212},{223},{223},{213},{224},{224},{233},{224},{213},{362},{282},{214},{242},{214},{214},{272},{225},{372},{214},{334},{243},{414},{243},{214},{318},{215},{226},{219},{335},{222},{222},{270},{282},{255},{271},{271},{255},{314},{272},{395},{256},{255},{255},{256},{326},{256},{256},{377},{283},{260},{309},{462},{310},{368},{417},{496},{310},{311},{436},{369},{344},{402},{315},{315},{436},{385},{365},{369},{379},{380},{380},{380},{386},{56},{66},{94},{94},{372},{127},{131},{131},{147},{104},{102},{52},{352},{353},{298},{299},{303},{303},{240},{352},{357},{357},{361},{362},{362},{363},{364},{364},{364},{364},{364},{353},{358},{202},{195},{196},{197},{198},{202},{203},{203},{204},{239},{239},{239},{240},{260},{261},{532},{105},{23},{7},{13},{11},{13},{13},{13},{15},{18},{79},{260},{104},{7},{10},{10},{307},{272},{273},{273},{273},{274},{274},{276},{306},{281},{285},{286},{288},{329},{401},{287},{288},{289},{287},{469},{306},{435},{421},{288},{381},{300},{288},{393},{274},{306},{343},{391},{317},{322},{324},{381},{458},{328},{327},{332},{340},{321},{322},{321},{321},{322},{345},{457},{321},{328},{364},{365},{365},{365},{370},{372},{429},{430},{525},{541},{466},{449},{391},{455},{488},{567},{413},{425},{420},{421},{425},{426},{427},{69},{363},{260},{261},{261},{261},{262},{269},{269},{269},{268},{321},{325},{312},{353},{354},{360},{400},{401},{360},{401},{405},{408},{408},{408},{408},{408},{408},{409},{413},{413},{414},{415},{415},{663},{309},{309},{309},{309},{28},{56},{64},{48},{55},{285},{44},{17},{21},{17},{51},{146},{241},{497},{167},{36},{86},{96}}; - #ifndef CYTHON_COMPRESS_STRINGS - #define CYTHON_COMPRESS_STRINGS 90 - #endif - #if (CYTHON_COMPRESS_STRINGS) == 2 /* compression: bz2 (21035 bytes) */ -static const char cstring[] = "BZh91AY&SY\353HC\006\000!q\177\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\300@@@@@@@@@@@@\000@\000`h\236\361\366\313\304\316\340\000\000\000\360o\033\200\001\030T\000\357\023\273\0009\001\320\034\360\005\274{v\264P\351O8\003M\357Z\335\366\325]\257\261\224\326\000t^\373\275\346\220\357x\335\351\244}\276\267\337M\2705\212\203\341\333\275\231\261\233\353\336\372\237a@\371\354\017{v\275\336o>\360\373\273\214\370\275pU\362l\000\000\000\033OS\317\274\364}\356t\222\232$_\030\330\000h\000\005\337u\036\361OE\333\336\314Yr{\331\333\315\360\000^$\276y\337m\325\255\253\332\047\235\225\344\353\266{\267\244\253 \344\325t\367v\367\272\366\250\357\240\316{\243[\355\357`\325,\331$\263q\221@\000\000iJ\000\000\001\247Q\000\005\322\305T\273\313\351\264ew\326\247/\266\003\256Vh\0006\360I\"\004\020`&\000L\004\323@C\006\230 \224\362\214Bz\236\211\223\3654\365@\361LA\246#ji\241\265\032h\364\203M\004\320\020\"&E2\236I=\204\365\nz\232zO&\033\365U\032\030\215\244\320\032\000\003FA\243j\003\020\315F\206@\032\233\324\365)\010\004i2z$zM2\036\240\036\223#\324\0004\000\000\000\000\000\000\000\000\000\t4\222\010\201&I\351\2404h\023)\346\246L\211\246\ni\344\312h\003\324zM\000\001\240\000\320\006\200\000\001\022H\022\n\032\232\247\352mS\364e3Ll$\217F\304R~D\243\366MS\364f\230\023\023BhQ\352F\375\004\362\230\231\242\236\206\244\366\223\364S\322\202%\020L &F\2020\010\231OL\223\rI\2621F\2312\203\322z\203\032O\0244\003\020yA\240\00014?\270\242\n\234\216K\247\007V>\235z\234\312\365+\233Xa\216\026\247b\233_J\030\300\304\330D\255\"\326V\033\341\313\267\034~\267\047\010rp\372\276O4=\212\036de\355\332c6\326\332\205g\202M0S\031\n\326\025\025b\324\251Y[l)i\024X\244\rSb\223\377\237s\330\273\300^1\005d@d\001i\026\221\025)\000T\017z \245ET\204@\000$P(\252@J+HA\214\220\021\200E\000\210\311 5l!\002\304\220\021$\201JP\200\260 \202\0002\264\210B\250D\252\241U-\025D.~\317\247\302I\366\177O\347\374\276\277\347\366*U\177s\366\244\013~\350\025\375\357\306F\306\216\005\005\266K\321\022\303Tm\254""\216\367\032\232$P\341)\233\004fh\030\245\210\016\005.(,\212\266\275\205\020D]A\024\250\026f[D\304\207\240TXV \211%\251G\212*l\241\350%\032\205@\2414l\324c\241v\201\216}\327\346\361\177o\302%\177\320P>!A\373\304.P?\001p\377\2610\302\377\300\260\t2.\034\257\240*\250\2507\212\tW\232\311$&\027O&\361\201\311fBB\211\r\202\"\273\327`+\243\226f m\232\300$/\033\355\256g\0207\234d\331!\002\350\000\342\377\357\377\207\375\347)c\260\207\347f\303\227u\023\222\352\363\322\336{\047\350\036\213\210\325\007\244\233\023\201\376\000\003l}\272\253\177\207%\000\376\030\370\t\023\275_\374c\005\023\250\301\256\303\374\203p\232P\214$\343\034\253~\250\341-\241\262\200\350\202\232\"k\240\341\177\312*\023[e\322*A\236\377\346\265Q446th\301\t\326\373\252\345\217\353X\0018\334p3\201\006Q\005\260:^t\025l0E\306n7\\\001\372\342\0163q\376z\216@)\221\233\2368L\004\254\315Y@ n0\177\321\271\272\005\337\001\2200\272\236!\354$(\005\017\026?\351\002deF\370N\006\355\204QQ\207[\025\"\377\352\025\024\004\013\216h\373\252\016\004\243`*\262\256\336uJ\201\276\221\220fO!\305\206\343\366\005\\\250#\375tGJ\250\260\350\035s`\024T#]T\201\376\301\"\332Pz\006\022\364@\310\177d@q\262(\224\336\361#}\305\203\202\240\217\304L\240\260\300\210\326(\361.A\001\225?\332\t\034\315\304\260\251\252N\343|\271\377r`\300\271L\330H\231\027[\0130\"\314\276_\357\nG8\275YJ\034\202\324}\264\343\245\002\266\377\202\023\326\344Y@\240\201\276\245\034\251\357\377\021\352;\246\334\256\231**6\331Xf\346\206,C\377\310v)\345<\216\002\266\301\222\242\243aV\n\265?\037\355 \275|\3679\035\312\335\355\2538\334\005\014S\366\315\257\260\n\207\254\005\224\326\227t\270?\270\246\267;\354\227-\233\212g6A\3770\301B\333]\020oi\031\030\026\260F8\377\242\r\014u|\242\221}&\240R\244\340\362\350v\270\341\224U03\022<\002\016\337\365R\3507\270\344\205\026\030\024\315\324~\350$VH\320\353\013aL\t\037\304\375\344z\326\272Os\256:\004`Z\271\276\311\\%?\031\027I\034\343-\203;\202.\301\231\024\377\330\032\201\207\215\234\021\316q\2213u\035\277\357\350\341R\300_r\250\243""\254\250\031\024\340\215\310\307\345\240R*\222\010\337\241\201\313\014\201<\033\033l\242\237\276\212\010\273\034v)\306@\246j\243\377\000\021(\364Q^\201\033\244\350,\267\376R\214F7\026\013\2412,G\376\214\323\005E\266\005\304S@N\354\177\202\273\215\266P\334hEx\256\312\031\236\252\347\330j/[2\\#\010\374\353\351E\315J/\337\354\235eFBY&\210\026\273]\377\207\262S}\303\014 \240\245H\241\374\361\355U\354\226\331B\233\243D\r\301\031u\034}\320\247\003\262r8]hD\332\240M\377\366\201\351\332\333\250\234\006\260\204\250\261\017\205\360\244\036\301.\356-\225\177\242\256\354\004t\023l\334V\000\237\240%\342\314\033\204\027E\321\021\237\010a|\376\235\203u\202\001\032\016/\365\223\271;)\305\221\226;&\260\324\360\004\216y\352bM\0167\017Q\206\360(.\355b\236K\264\3676\304\216\225\276\357e\300a\016\333R\341\320\220\027\002\251[\317\214\221\005\r\246\275\004\344\322\303\036\022\245\235@\276\257\341\005\363\206pC\366\305\004\260\201\317\2163I\0133\016i\360\313g\232^Ok.\212HfLqw\322\307G\257\326$x#\326z\300\365\372\371N^+\367\375S\3129\241\245^\237$G\037M|\374\216\311\321w5\3363>\036\212\234\367\314\231:\255t\356\370v\301j\325^\2332\031\347\370Q\244znBxC\203l<\0300\370a\303\212m\2142Tu\376\032\032\254s\325\356/\332\330\222<\020\007\210\001\344\222\014\002J\342\000\266 ,\200\253\t\007R@l\004\274P\"x\010\234 7\322\003\305\010<\020\2030\217\254\027\320\253\344)\344\213\336+\347A\363\200\037*/\230\027\330\243\313T\323E\377\020\036\220.\300\017-C\317E\330\021\330\001\327\0209 \007,SQS]CYSa\007\330U\346\210\364\200u\201y\312\232\312<\344\016\220\2175\023\232\211\373A?j\207\355\000\360\022<\022K\300H\356\000\360H:J\315{\375Jx\267{.mx\247\200u\326\270\305<\030\363\265$S\301\350Y\367\265|\016B-\365Y\221\362\324\316\347\021\3019\177)>\002\364\032\225\022\360\225\237\262\234\331\353\275\267\214-\274\047m\255\331x\236)I\036\007V\016\265\335b\347\317\300\357\301\322\366!\235<\016B4Sm\242^G\200<\343\243[\274xB{\047/\025\017E\360\234\320\025\036\006\322\365\267\017\036\006\367\304*5\267\3606\001\350\264\360\234%jW\300r9\003W\017O\tC\035^[\302G\000h/\320\277J\027\234\356\026\217\371\220Xo\216$\324\307\337\023\312m\277 \370\270V\013/\310\274\217\240s\013\272\265*>\203M\242i\341v\337\362.\243\337;\366\263\262}\261\270\323\263\017\240D8~\362\322\246\223&\311\024$:S\232j\231\024eo =k\314\363\321\256<\035\231\361s\324\333\t\263\\\374\316\350n~N\354\225\242\241\255\271.\313\307\277\273\315K\025\351w.\353\305\213V,T\266\353\323O\276\225?Ts4\372\266\326\325\223\232\224\375]\035R\365m\335\355\207E\315\017\311\242\326\215\0274V\245g\246\262\027R\021\322$YI\\\000\310\223\366+\347\000{\n\036`\047\230\t\260\001\244\017E]d\r\201uQ\324SL\r4y\312\351#\351\013\260/D\003Y]az(\373\010\373\013\321S\325_\\\017\\\017]]\205y\242\364\021\330G\232\2175\036j\006\302\233\010\354.\302\032\352k\241\254\2070\036b\363\020\375\312z\300\372\350iB\355A\244ZR\322\007zZ@\322\203J\016\375>\344}\177\304\030H\026DQ#\021\025\204E\t\002@Qf\334(\302\224A7vP\371\273\333^\321o\3545\311\010L\327\267f\306$#\217a\016\320\201\373Y\246\022\235\264ck\210e\303\264\227$$3fm\332C\273\261\232\\\335\331\262\022\365K5\305\256t2\245\300L5\006\315d\270\235&\331\260\354\177\006\315d\270\242\334\333\257[\337\257k\215\2235\303)\361Ji\273\233v\356j\227\250\333\006\255\255\257l[\007C\024s\340\222\206\335r\265lm]Z\267\341\221\373\016\315\255\352\211\322vk\231\346\200\362<\221\355\027\261{\017e\3354z}=V""\373y}\225=\031ZN\275\275[\263tk\302\350,t\372/;l\331\251F\211\020KZ\305\255\033\002z\326\215\201\300\005\024\253\013p\244\212KJ4\233\002\301\2505\255h\254\033\002\322\256\266-kZ\303\260\320\032\226\003f\223)\250\324\266l]\346\305\314k\\\235\353B\331\250\330i6\036\243`u\235g\206\337\002\207\300$%\333\331\241\335\232;F\355{uG\324\367uz\241\364\277\320z$\351\344\317\342\006\243\305x\257\025\340\037\n@\226\337N\345]0\367\324\241\266*\305\202\262\256X$U\312\244\262\305\213\004\353\026,P\366$\254\007\232AXA\000$\227\361\016\261\353:\316\260\274\301\017\302~(\2522\022,\212\013# \213\005 \244\"\201\t\025dP\000\026@\221HDd\022HFBH\241\000\202\301UE\"\261\005RE\202\305\026\022*\260PQUbH\002$\222\014\211 \204\212\257\3701\\\360p\020\034\027\361\343\247\004\005\360\024\200\223*D\204?%EG#^\267Hi\023EtA\321WD\321\007|A|\200T\361{\277l6<\204\327\366/\370\0167\245\037\007w\221\264}\333|\341\226V\020\225j\325\216\017\235\000\225\257\215\004i$\216\000d\310d\025\030\004b\001}\376c\314\340/\231\270\275\201\325\313\324)\232\207\\\000$d\004\0004\261XAQ\244\245(j\354\024\034\0000@b\352T\325\230=`\330\026\351\016\254EG(AQ\204\210+D\206l2\034\333\300M\004\000\007n\223J\013\263S}\3554\376\371\261M&e\331\311\036M:M<\231\273\264\377\n\212&h\003\257%5\2204\322\220#\010\306\022*\214\210\223\027\rE\210\003\254\344\334\250\004\211\010\242\211\213J\024\267\024\304\277(\2310c#\t\t#x*:\000\026&\205\313-z\366St\261v\221\205\332\224\322i\344\256\244\254!\002\n\214\320-\312d\001\210!\212\251\210\356F\353\315\014\224/.\317\005\n\305\204\222\2264\214\207\223\246\032\333c\256\264\244\220\2325\306\361\235m^\014d8\336\005,\201\317\033\342\333h4\232\2349\023}j\350i\240\331\376\221\242Dm\326\n\032\334\317\341\326\241\254\257%\034\200\027B\2309i\323\257\001\020\303\017\343\025\004\324!\236\262\3021\rp$(*0\272\3716\232\204R\201a\031o \240\273\342b\221Tt\n\215\254\264\224)\030\334mt\013\265v\210\216\3216\216\322\3670r\024\\\215\271\264\251@\266\021CX\232] \272](7]\240\214\247\3722P[\0247\014r\264\246@&@\344)""\213\257Z\206\264t\246\200\210\201\206\315*\234KMSU\002\205\332\351M\270\n\215jJ\0336*m\255\345\345\004 S~\200h\013}\371\240\250\320\250\314(\264\261\203\222\233S\005M\240;Wi\24042m\177V\221\032\22638&\226\0024\200\216\227J\346.bf\203\230\\\203\\\304\310Eq,\014\262\220\025\030*4\304\035\"\226\211P\200$\200\302\002\222\005\267*n8\177\252\347\nR\361Q\232\334A\304\326i]i\200^0 \355t\213\236B\243c\236fje\213\261\014\202\3646\006M\002\242&;\341\233P@\310TrMb+\226W\230\256<\247\360\034\205*\333R\031\n\216F@9f\032\214\265\030\212\216F\215\002\223\"\020\024RE\357v\013\2039\354:\351\227\t\206\026\211}\2577\310D\347B\275c\340\177\366C\360\314\213\346q\004\307\237_\327\365\3259e8@\216VS=\001\371\250\300\210X\010\276I\376;\303\004H\007[\225a\375\221\n\047\272\216\233r\025%\307\352H\314~\264\005\300\275(>\3536\tdwK:JR\030@>q\265\244k\372\376\333\n\272\201~\213\350\034X\311?\231\253I\245[I\346$?Y\3666\254t\312\016\274\3308\334\225\241\316\320\337\260P-U\007\302\302\365K\032\376\232\303_f\370\361B\203\033*\300\374b\021\201\344\250\266\270\207\201\222\242\271\375\370\201_Ia\330\\r\273b\005\026\035F8_\322\207U\246\377\223Q\267\363\177Ni\255w\341+\372\031\333\256*\352\230\202\3363\020\373\367\030\263\224.\036\322#\343)\377\321\270\343\330\036\177_\204\336:\007\334\362\233|\366\376\347\267\216\200\311\003\007\340\356\250G\021\2771\037,\345\275 `\202S\017\313-\327\370)\363\020;\031\351x\317\251\315;\341-\021\247\023\371\312\240\260\037>*\\Yn\320Y{\275\375\265\34428\325\202\330\346f\032T|m\206\256\205\312\035XB\210x`\230\367\271\236\320M\232\363\345\216*\221\364~\240I\035\235\232\\m\356\021\023 K\366\363\233N\262\022H\047\327\372\377?\320\026\210&\223,E1\202+p\027\201\202\007@\017\310~\274\354;7\341\022R\330ql\332\023Z\337}\255\303Z\343W\rl\214\330(\224\241\261\266\214\326\374Ha\301\266\3275M\320\3304l\227j\361\271Q\342\353\022\033\004\336\033\016\264\333\266\375C\275\352\000\245\302\213\216\000f\014\263\t\246t\374q\004\204P\320\004\321\360\210\206\177\357d n\202\031\231\202a\367\340`""\340\032\024\277i\021\330\202\337D\265- \337\r\363\252o.\267\036\275\257\263b\241\366(\321\024\202>\225j\222u:h)\203\345yM\002\017\335\262*\371&\206\200\247\233\236\277c3\324\36344\0371\023\314R\377\276?\315\246\256\372\274\002C\014\253\014\222c\217\217dv\000\022\247M#\341\246\220$\361zNW\201\303\231\376N\221\r\247t\356\340pA\205U+\313\313_\016\212Il3@\352t\351\245I\n\2328\235w\211\374\034\t\027\020U8\021p\005\255yP\047\270uZ.h9\252\235\377\335\235Y\010<~O\277\267\334{\345D\343\305\3167a\314?\007\332\333\034\270>\014\013\001\200\025\320/`]\"H_\265b0 \300`H8\303\010aB/\231\201[\270\216\335\250i\r\177=5d\370\227\213\241$\213\204i\366\220^\010\250\344\247\373\210\233\361\315\353\200)B@\177\306t\215\372\200\252%>/\365\244\032/]M\302\330\217\311\321\350\361\207\236\327\256\331h\267\t\212\330\222\025\265F\310\221n\300#\r\242\023f+\202HV\203\020\007\340\013\2065\373\304\276\300}\3240\rdjc\277?\310\334>\372\344E\317\270\217iy\332\025\366\267m\025\355\244s\363!<\264XI\n\305\205\\\370\214\301\203\036W\036\211\335^/\370-\332I\356\347\047\267\356\037\265\354\364\336\317\3330*\251iQ;\317\321\321\367\264M\263x\020\023C\001tg\223\235\366\342r #k\205\300\262\\\002\341\373\236\\>\331z\365\342\351{\031_\321`\255<>\031\352x)\315\332\323g\216\372\260Q(\223\324f\022\362\2760\313\213\344_\265\201`ya\367\237*\t\233\254\373-UUUW\315\347|\276H\037cz\220\372\005\031\304#\025\247\266\321\267\234\007\314\"r\335\277\276\354\232v \026\006\004\216\027w=\200rI\350\001k\020T)$T\355\247,\004[@\260\200u$\312z\215m\255\202\033*\224\017hw\207i.\340X\210\016X/\322@\252\216(+WPkQ(R\346\205\203\243\325($;(d%RV\255%\234\333\002\336\324\347:\317\361{\344\222I$\222I$\376\307?\305\307Y\263h \3538\236\200\347{\251\337\367y\2008\034\016\"\033\336\356\002\264\212p\222I$\222I$\222\tO\300%\004\376\231\004\200o\351\340\000\274\025G\220\344N\275\373\377px@\017Q\346?\353\267\327:\365\211\255\326u\013\324\233M\241\245\220\016\316\220:\\0\300\376wNm\253j\346\256fn\375?\036\372\017\330\023X~\203\206\223H\032T\003c\250""\023Q\253#\266\t\374\371i\024\356\324o\004\356]\340\3546\001\261@]jj?\233\373\"\1774\035\204\030\277%\035jk1\341\267V\241Q\260QupMb:\314\200\322\021\213\232\346\211\270w\033\225?\241\rA\2515j\rZ\221\346\326k\177l\023\205\035\244\222\251\264\035\246\321I\3019\002\311\242\313\271\230\354n\201\212B\244\250\023\326\370\211\303\014\267\320D\276\275\003\221WG.\030\030.\004 |a\212\233\304\336;\353\2577 11\\_\333(\024\375\343\361`\344\344\245\224\346,_\203L\323\267R\231\344\031\320\313K\212g\371u6F\216S\340\032\302gJ.\326\003\037\333\374\217\325:\034\246\265\240\203\317C%\016\332O$\177\207\377\235pS\304\201\007\357\002o\237\340r&\206\201\234\326\207/C\373\347\000\377\260\006\214\203,!\335\200\013\022\303\272U\224\247\374\367\373\344\374\004\034\376\300C\327\207\217\267\337M\254(\367\305r\314$C\251ra\205\036\330\221-u\023\335\304K!\331EaP=\2241@\322\251\3735\010\016<\347\372?\251(-eDXT\257\n\246UU\322\351i&\207\216b&\203\362\334u\004\376\240\230\t\344\ta(>\204\376l\377A\016\356\335\210wQ\031)\373\214\235\375\275\250\252\252\252\252\266TSH$m\260\310O\352\226\347\264W\230M\000\330&b`%f\245N\023q\010\020\201\010\020\201\010\020\201\010\020\201\326\332\036?\372\323\366\241\017[\307\220\333jm!\343\025UUU|;\202\n8\256\2419\304\324\246[\261L\371h\264\262\201\312\002h\300M\204Zz\267\250B\3312\331-\262[d\266\311m\222\333%\266K~(\032\204\303\004\307:\030Z$\023\0014\205\366\245\367\320\266\342\370\000o!\305\337uUW\207g\025\244<\010z\307\251\204\030\034\357\016;\251X\225\331C\0259\204\314J \232\360\306,\205k\345\255T\004\251\204R\200DaQJ\205E)E\205E)TD\254\205J\310R@\030\300J\310P\200\225\220\260\023\374\003C\240on\363\320A\274^Y\313\375e\r<\264\016X\213p:\300\2710\373\335\356%\235I\007hvh\335\022B\232\010\335v\350\366L\301\020\300\022w\363\261\276$\220\232\303\377:\242Z>\r\332\223L\302\233\247-7\323-\323v\311\267\0044d\306\013\030\003\001\330\260\246\244\200R\376\266i\340\347[m\234l\306D\337\203\221\002Cm\365\275\272N\002\310\2527^bQ\212\010c\215_\216k_aL\020\304/.\275\020\276C\014r""\271\037\016bW1\000\330T\330 FJ\024\330)I\"\250\330\037vP)O\246|\336\222\014\017\214\376\251\017\243\352UUY$\222Ob\344\364\375Z4\3030\236\225\222\374\324kt\204\267,L/L9\224r\304\360\202g\t\016Y\236&\205g\354\t\024*\377&/\240u\372\032G\221\365\316\177R\370\342Yq\341\0000\230\300\3443\352p\351\017vtgH\210)\243\022\000\312\013P\210D\221\245u\006\222\020\224\352S\234a\351~a&\230\226\023\313\367\341\360\357M\004=\233\rqLa\231La\237\0251\206e1\206e1\206}\352c\014\332\230\303?\277La\237\202\230\303>zc\014\332\230\303=\372c\014\3734\306\031\3051\206|\224\316\353\rj\311uE\205\3251\206|t\306\031\2651\206e1\206wS\030f\364\306\031\2651\206~:f\326\032\356\262]Qax\246[\014\356\262]Qax\2460\315\351\2143\2551\206t\247V\031\337M\230e\242\302\376\nc\014\355\2460\316\332c\014\357\2460\317\303La\235\364\306\031\331La\231La\235\264\306\031\333La\235\364\306\031\337La\231La\234S\030ge1\206|\364\306\031\3051\206xS\030g}1\206oLa\235i\2143\2451\206e1\206u\2460\314\247\214\207\3152\023\030%\366\245\373\250Z`+\000\034\047\260M\002}\002P\032\305UUU_Z\233\220\2603\267\304ZC\324\336\00434\\s\013\216aq\314.9\205\3070\270\346\027\034\302\343\230\\\354!\261\017!\016\376\350w\376:c\313\r}\212K\252rB\330g4\306\031\252\031Y\262\251n\372\026\311$\222IYl\254\227\t\300W\024M\"~\356]\362\001\000\200@ \020\010\004\002\000\315N\216\032\324\345\326\316\275\301\316Pk\321C\024\r\225\036w\224\275\324\334;#\272\261Feb\214\312\314\314\270\314\313\214\314\246&e\374}O\265\351\353\002\004\247\271\351=!\363\374\347\317\363\315J\34129Z\341\252\002r\2751$\022F$\204I@\034\244\250\300!%\006\036\311%\037\360\324\350:\372{\273\304\260\346-\022\275S\304K\001/S\324%\312Q\016\323\317m\0014]T\356\272\205\242a\220\222\200\361\372\232UUUU\\!\332\007\312A\002SdQF\022\022\022\023\302\3014\211]\002`wC\010\231\375t\020\361\023\000E3\200\240A\"\200\205h$P\321\360\345\205u\022\022\021\024QE\024Q\326\265\231\231\231\231\231\231\231\231\231\231\231\231\231\231\231\231\331\274;9\242C\300\206\3446\360!\2647\357\246\332UUUU]\372\220`rn""\"1\021\021\021\021\021\021\021/Mb\366\355\260D\207\335\263\261\t\325UU\354\177#\213\267V\275\311\275\337\nV\206\224&\224x1\004\3048\242QiBiG\203\020LC\225\231U\230\345fUf9Y\225Y\217\203\223\331\316\357g\346\373\377\022\257O\240\236\rI\336\235\357]u54+#\235\230\314\t\251\217\222\370\312\274\223HI\006$\030R\232IC\t) rt\276\357\315\316(\324\023\234&x\236h\t\024\377\035)\253\251k\305?\265\324&~\250\226\022\302XMa5\204\314s5\023\225\251E\300\211\0107\000 \233\007\334 x\351~\310@@\021\363\033m$\26333336ffgnf|\271\231\266ffgS\306C\244\220\331\223A\017 C\202\027\002k5n\023^\3014\\%\371\211\004\303q/\004\260LD\331\237Y\261\016\350x\267\247\022\014\2449\3508\220\334\203\203\215\032\321\255\032\321\335\243\323\255\301\331\243o~\210t!v \310t\350P\245\t\024\344j\274\033Y\244SJ)\276,(\030\247\014\240\324 \300\010\035\247p\203 T\207\314\303\303\302\036.\312jx>\242\252\252\252\252\333\026,X\261b\305\2177\265\317\026x\036$\333\273\257%\357\242\353\203k5E\210\212\332\241l\250\362mf\250\261\021[T-\224n\014T\336\355ar\"\327\250[\252\022\362mf\250\261\021[T-\225\036M\254\325\026\"+j\205\262\243\311\265\232\242\304EmP\266Ty6\263TX\210\255\252\026\312>\236\345\007\314WB\341\026\261_\312\203.\\\233q\344\177\0214\241\215\000d\003(\206d\23133-\222|\262\310\212\264>[)\362\237HOw\345\037\276g\243=\262\031\231\332Iw`\000\000\000\000\007\217\257\022\265<\217 \2364\324MG\305$\272\206u\247\310}\376\217\302\272\013\2165\255kZ\375\263.5\255kW5I\\\310\020\047\037B\302y\362)\203C\007g-h<\343h\207zf\2718>o\334\345\023-\014\260\003\224\362\236Q\252iu\246\0478\007\326C\220 i\246\242FD\201\024\224\000\370\032\204 \302Q\365\025(z\216\261=\000\234\375\302D=\021u\304\200\234\301,%\003x\224%\n\324\020}\021 \227\211\200\237\226\302\2670/\202\273\024%\004R\004\201 2C\00303\00303\247\302&8\\^\351\027Mz\342\351U\272,\016\373\236f\r\234@zW\250$c\030IE\016\226\201\022I\031D\352\014\263\3321\364z\377J\252\252\252\252\372\264\222~\250B\374\344\020\373^\335>\331\364\354\236\350\252\252\252\252\220\344\222$6?(C\347""\260\351\322\235\t\004H\034\020\350\020\346C\010z+K\231^w\207=\264\306\031\350\2460\317\252\230\3035La\231La\231O\204\207S\247^\265\302\346W\013\231\\.ep\271\225\302\346W\013\231\\.ex}\362\377#\357\2614\347\300\270\360\241$a\014!\306f\021lH.\242\360\014\014\200\261b2\204=\001A\005\021R\207\240\257\243\312}\327\314\374\242u\205\004\350\373\217\276v\002=\342`}\000\227\251`\221\013\204\361\310S\021 \241PJ%\370\236Bh\361\0224\304H&\2214X%\001\242\030\020\260\334\207\330\333H\242\212(\242\213\344!\320\362m\336Ck\233\020\337\313+\026,X\261b\305\213\035\275C\247~\323w~|WW\227\246\313\216\251\320!\326]\270 \300\340\242\252I$\222I\272\177\037\030K\230\304\253\255\215\240\226.\242e\030\314J\272\320\314\022\305\324L\243\031\211WZ\031\202X\272\211\224c1*\353C0K\027Q2\214f%]hf\tb\352&Q\214\304\253\255\014\301,]D\3121\230\225u\241\230%\213\250\231F3\022\256\2643\004\261u\037\"}_\313BS\206Y:\334\341e\365~\214\366\237\002Q\034|y\2223\031\205\314u\t\\\316\001\231 8\326vH\210\253\005\205\010zd\260EEV\201\351\222\237\257\350\024\0178\237!\265\332m6\177\373\216`\272]A\021\221\204\224\000\322\026\203!!%/\214\206\250\047G\315O3^\210\047$<\337HJR\350mi\246\031\361\323\350\342Ax!j\252\252\252\374\241\017\337\020\350\020\320C\346)\010\273\020aR)\024\212E\"\222A\223\267\235Q\342v\251\305\374\047o\004\023\231\007\213\021\240\007\026\016\330kB\350Q\023\251\360~\025UUUU\333!\267\273O\243\177B\252\252\252\252~Y\204\023*23\2067\254S\001n\020\022\0205\352\202\377QD\215\276\253\022J\253\263\216+\273UU]8\342\275\047wq\256\356\355\273{\0138\340\231\230\231\n\223\"fbd*L\211\231\211\220\2512/3\023!Rd^f&B\357yak\007\265\242\326\n\223\"fbd/\324\371d&]G\335\001\007\333\307\260\022\036\275\233/L4\320\265\013\224\266\251o-\n\304\256T/\322&\352\246\336J,-\247\0142\321V\027zc\014\357\244\271OS\263{m\266\333m\266\333m\266\333B\036\267^\356\334 \300\347\230t\353O(C\211\003\217\034\207F\326\363\2749\360\246\373o[\3312\345mmmmmmmmmmmmo\341\371\t=\023\341\204\375S\352\207\306\177?\336 \036\013\343\001!\006\210\036 \024\224O\021\207\213\373&\336\375\364\363p\343bq\272\232\335\312B\220HyIN\000\007\332\0102E\000R\014\nB\036p\206\301\n(\022$\022\001\242B\220H4\203\001!\003D\022\t\006\000b\252\252\252\252\244.\352\252\252\252\252\252\252\252\252\253\261\r\310j;\020\366\260\220\341UUUUR\035i\016\204\373\332\220\233\352\322\275\0364^HY\016\241\005 \210\220\203\316\247\035\223\267\256\027\272\025\302\2700\361\362]\302\262\261\202\020\246\226\010B\232X!\ni`\204)\245\202\020\246\226\010B\240h \035\\\334bT\257,\020\"\373\236\377\202\331\334X\340H\n\351\001`p\225\201,\263\332\230\370\276O\027\343a\346\375z|2I\353n\252\252\252\252\277\037\257\0001\222\310z\372\375@\206b\252\252\252\257\006\3446!\361\222\000\233\207\310A u!\326\220\351UUUU^\236\337\237\344!\324!\271\017\177\346!\334I8\220\341y\265UUW\300!\242\035\204>\367L!\330C\303Z\357\265UUUx\351\341\340\020\344\206g<\220\352C\223m\225UUW\177\017\017\325\314\314\334\314\314\314\314\314\314\314\314ffffffffp\203A\006B\005\010\007|\350\215d \330 \300Kp\023#\0011\263H\233\217\204HT\013D\277E\340%\020\300\023\273\273\204\356\313\211""\231q3.&e\304\314\270\231\227\0232\342g\237\250\201\002\350\014\027\270^\305\365\347\346\367\300\022`9N\216\024 \276\221\201\220\047!\361\026\047\212O\207\273\224\023\220h\047h\235\205\2379M{oO-\0249\242?;\213\2023\210\226K\350` \021\010\213\20272\010\300\"l(\233\221\303\353R\374by\315\3764\324\354kQ\204\273\000\000\000\000\000\0009d9\361o\016\232\247\210\207\244\207\177AN\236\013\230ff\031\231\206fa\231\273\270wf\014\314\301\231\2303qDAp\203!\005\301\347j7`\203\344\0379\047\235\320s\331C\024\r\205\014P5\024WA\002\n\005\316r\332\200\261\020\316\013\255\262\225\266R\266\312V\331J\333)[\335<\344\360\344\251\257,\222\250 \363\345N\237\357\304C\254\020\354\224S\260\030v\035\235b`\047.)\313\331B\304\342$U\372~o\017\212\0364j\217\277\272\200{\330\204\013\255\025\003\021Z\006\340\024nP\346\210d\001\220\342\010b\375}\047\323\3206\316\263\030\241\326\034\211\021Y\026\020\271\26757\332N\235]\245\035\344\rr\207$\206\363\232\216V\225`\212\215\243j\212\242\212AT\007p\303\211\rp\355v\304\333\236\036!G\021\206\224T]\270\263\030Y$&\266\303\236\r\260\337\216=Q\n\230\252\014\2208\n\210\030*9\207T\271\315{\013\257\010\347\021\222&\021\341R*z\036\250\310-\004\232\004\365\t\201E,a\002 \236\250\226\020o\025\265\302g\232~Z\203\252%\341\200$\022\204\242\032\317l\206\020\314UUU^\002\036\377l=\374\246\267z\204\030\036\246\241\277e;Xg\342\247Q\206[%\264\352\020\333\202\036\010\020\350h\204:\220\314\307\353\376\007\313\242\035u\325UU\354~\047\025\344\335\214\017%yy\267Yk\010\020\324WU\207\013-\022\002A?\350\331\027\001\240&\"MY\246\255T+\022\270\320\227\230\221\001\325\253V\234\230@\205\003l\342\26310\204\020\010\220\322\342fba\010 \021!\245\304\314\304\302\020@\"CK\211\231\211\204 \200D\206\227\0233\023\010A\000\211\r.&&h\320\204\020\010\220\322\342fba\010 \021!\245\304\324}\323\341\323\\\307\331\253\315u\226\273\273\374\201\361<\207\323\351Sb\027\236u#\373\354\r \226$\222d,BLbUlX\257\230E\352H\251e\307{!\365\334I!\334I\355\245\231\322\226\252\031\211\277\254L\032!\244MB]h$C\047\343\267\224""\207\240\202C3\270\205\252\252\252\253\337\327\260\207B\033Xx\275\372z\235\2448\305UWgN.\216S\241im-\245\264\266\226\322\332[K\2046a\276\364\306\031\341N\302\033\020\352C\274\207\033C\216i\333\301\006\006\344:\037\022\217\310A*\216\351Tb\243\025\030\250\305F*1Q\212\217\217w\310w\370\\\360\266\333\335X&\257\216\207F\241\"\036\2419,K\276\305\017~\024K6\320\254J\322\206\262\032\022\017\302Mj\033|\364\365\217)\017\273\273\245UWvU\306\025\344\243\241S\346\022 \225\3378\034\334\324\256\272R\334\356\267\220\004\205\266\313\213o/\003*\250\231\205\340gSwL\333b\3603~\327t\313\330\275\203*\250\231\205\340e\361]\3236\330\275\203*\250\231\205\340e\361k^\223\232\247.\217Y\353\237\203\361\326N\357\256]\3671\303\t\302\325ULb%\226{\317q\356\366\360C\265#\371#\353U\366*\373\350\257\302\001\003\341\010{\317\227`\356\366P\332za\370\274\337\001\017\200\371\210u\336|\004,\r}\236\260\355\371\251\357\355UU]8\342\361\251&\247\t\251\307\302\375\327\232\337\354H\242\205]\026y\370\212M\221I\324\212O\0472\363\r]]\222\352\354\370U\336\3030\212)\326\341\227\230j\352\354\230\212E\024\233\321I\337E\047*)\305+\227\014\302t\"\223\324\"\223\276\212M\310\244QI\301\024\212)\024Rv\021I\262)=*)<\244Rt\242\223dRztRxH\244\336\212N\262)\313\231y\206\256\256\311\210\244\362\221I\262)\024Rs\"\223r)6E\047J)\2676^a\253\253\262oE\036l\274\303WWd\336\212M\310\244\343E\047\022)\307\317\227\230j\352\354\236J)9QI\312\212NtRy(\244\347E\047\")\024Rr\242\223\225\024\234\350\244\347E\"\212M\350\244\344E\047]\024\233\321I\320\212NtRnE\047\032)8\221H\242\223\215\024\212):\310\244\362\221I\341\365\362\363\tuvN\204RoE8se\346\032\272\273\047J)9\321N\265xXf\023\264\212N\224Rs\242\223\251\024\234H\244\340\212u\366\313\3145uvN\302)6E\047R):\310\247n\273}>\360\271\355&\325\033\346\340p\330\212);h\244\354\"\223\231\024\230\212E\024\212):\021I\307\2519\016-\215\266\047:)=\332)\276\273\234{^\333\032\361QK\253\274U$\354\242\223\330\"\235\033\362\363\t\331E9\251\245\"\212N\204R(\246\273(\246\350\212j\352\354\227Wd\344E&\344RpE&\310""\247&\374\274\301\210\246\256\256\315oE\047R).\256\310\242\223\202):QN\212\337\206a:\221I\266\271\047b\266v\330\235\304RpE\047\");h\244\331\024\230\212NTRv\270\216-\215\266\047]\024\355t\345\346\035o\013/0\325\325\331\253\253\262s\"\221E\047m\024\355\315V\376}\257m\216\3754\247k\304\313\3145uvNtRr\"\223\202);H\246\3777\227\230M\350\246\256\256\311\340E\047i\024\235\304Rsy~f{\236\251\277\275[\363\201\323\321\227\230j\352\354\235(\244\336\212LE\047u\024\235tRu\321I\275\024\235\264S\273\261\332\330\333bpE\047\022);\210\244\344E8Wc\014\302b)8\221I\271\024\352\232\254\3032\226\t\326\047N\314\024\302\350\036W\320\344D\352\022\365/\022\001\244O\017E\010vtUUUUT\206\264\252\252\252\253\264\320&`\220Ip\235\302Q\016S\223!7\337\225\312\272D\202d$*&g^\276H\033v\320\304M\224\004\322&\"R\370\027\333C\021\001r\003\351D\"\000\252\344\007\363Q\220\200\271\001\372Q{X \342\371}\253u\302n\023\346\0000L\340g\262\205\212\026\232\264\343\247N\232\351\347\004\274\320$:\260\025\244V\2550\261\020\321P\202e\346e\246B\n\313\314\313L,D4H\0109\227\231\226\230X\210h\270O\311\374D\222\243\342\371\376\270ok\020G#\357\026\362\001\035a\326\272\304\265\035\233R5\220\271\005C\351\240\047\031\330\234$v\200\231\013\260I\227bn\3020DB=\245\304\216\361\017\005\220F.\236\014l\030\371T_z\030\334\004\204\020\325\014\343\321\023\032\022\345,%l\t\343\020\370\364\252\252\252\252\252\252\252\252\252\276\006\322C\354\301\037|!0\304QE\024QF\302}~\217\337\366\300\201;\300\027\275;\336\376\316\277\312r\013\356i\003\316\213\332\000A{U\211\333\017{\326\207\324C\305\356\241\356\3734\372>\237E\010{8\275\010Z\252\252\252\272\222\006\334\241\317\273O{\237?ffffffffffffffffffg\330H]\271C\237M5\003\251\016\343\267\245\321\r\271C\234\263\022^\342wd\324\326\333\367\220\010\004\002\001\000\200@/R:\202\005\337i\350:\266\016.\027\022\270 W\014\312\350\214\302\024>\000}\373\340~S\230\244<\005$}\366\300\357\025\361\000 \276 \020Z\274\240\007\024>\364\001\242\274\350\021\347LM\031\363\211A>BD\206/\254~\226Bf*\252\250\253a&y\374\322y\2448\247\025N\"q\024\342\247/\256)\352\016a{\022\244Ok\312\213\304\000\202\361\026\224x\247[\337\360@\3708\320\370\0019\316r\n\036\210\2648j\205A$\252OVU\000V\300\303\003\223p\363x\0050J\240\000\310\\\010\307\213\352\372\241\277{\276(\226?\305B\322\036\nr\207\2071\340x<\357\200\370\363\047\023\271z\023\231\037\013I\366\244\355!\305G\240\026#\320\214z\036\t\317\025\002p8o\344:\307y\273\302o\023hu\247\"\204\201\303\202\024\336\214\027TcYfT\222E@\023%P\006MPw6\320\370\315!\\+\260\002\375\014\0008\272\010\013\202\255Ya+Up\221ATT\201\0149\024\336E\207e\027e\332\354\367.\363LW\305\253\217\213\025\026\2560\036\273>p\323A#_\203]\262\367\246\370\347\255\255\336 \353s\3370:\352\nK\323\363\337\267\261u\366\033X\265\306\2345^\212\350\334X\306\237\211\354\324\345L\275\361\253\361Q\315_\266\326\244m\344\324\374\255\372\373\326c\216\351\311\2166k\325e\273o\312\373\252r\233\001%\026\004X\010E\002\310\270e\266\242\326\342\202\302.\270\235\251\243\357\373\317\213\317\371+z\032\342\342E\304\210\rk\234\237\257a\224:\204\210-\320A4\302@D\327\022\220\336\237\301\000\035\3629(\206\tdp5\022\223\354\220LP\327\251$\255\312\257 U\235v\326\227\342\363|\213\017%\027e\332\354\367.\363LW\331j\343\343\305E\253\214\007""\256\317\2344\320H\327\303\256\331{\323|s\326\326\357\020u\271\357\230\035u\005%\351\361\277\237u\327\306\372\305\2564\341\252\364WF\342\3064\374Of\247*e\357\215_\212\216j\375\266\265#o&\247\256\375|o{\364{^\357\276\317\034\316&\214<\305`\270\226\356\037\t\034Z\266\276X:i}|\264\276\236O\221a\354Qv]\256\317r\3574\305{\332\270\365\305E\253\214\007\256\317\2344\320H\327}v\313\336\233\343\236\266\267x\203\255\317|\300\353\250)/OW\364\356\272\365}b\327\032p\325z+\243qc\032~\047\263S\2252\367\306\257\305G5~\333Z\221\267\223S\327~\275^\367\350\366\275\337}\2369\234M\030y\263\200\301\023\200\200\204GuDb\210\201\205\240\320U\273\207\312G7\255\261\246\016\233/\257\226\227\323\311\362,=\212.\313\265\331\356]\346\230\257\225\253\217\\TZ\270\300z\354\371\303M\004\215yk\266^\364\337\034\365\265\273\304\035n{\346\007]AIzz\277\237u\327\253\353\026\270\323\206\253\321]\033\213\030\323\361=\232\234\251\227\2765~*9\253\366\332\324\215\274\232\236\273\365\352\367\277G\265\356\373\354\361\314\342h\303\366\312$\202\201\020\263\230\332%E\345\022\"Y\020\032\301\352-3\306bg^b\315lw\305o\277\014\0359_w\246\227\333\350\371\026\035\224]\227k\263\334\273\3151_e\253\217v*-\\`=v|\341\246\202F\274\365\333/zo\216z\332\335\342\016\267=\363\003\256\240\244\275=\317\354=\365\356}b\327\032p\326z8b\334X\306\237\211\354\324\345L\275\361\253\361Q\315_\266\326\244yn\324\367o\327\271\357~\217l]\367\331\343\231\304\321\207\230\254\027\022\335\303\341#\213V\327\313\007M/\257\226\227\323\311\362,=\212.\313\265\331\356]\346\230\257{W\036\270\250\265q\200\365\331\363\206\232\t\032\357\256\331{\323|s\326\326\357\020u\271\357\230\035u\005%\351\352\376\207\276\275_X\265\306\2345\236\212\350\334X\306\237\211\354\324\345L\275\361\253\361Q\315_\266\326\244m\344\324\365\337\257W\275\372=\257w\337g\216g\023F\036\322\201\001\370Jz\025(\030\"t\002\002\002!\217u\034 \004f\306\006\033\330\037t\216\372\255\266\341\203\247+\257f\227\333\354|\213\017U\027e\332\354\367.\363LW\331j\343\335\212\213W\030\017]\2378i\240\221\257f""\273e\357M\361\317[[\274A\326\347\276`u\324\024\227\247\271\374\317}{\237X\265\306\2345\236\212\350\334X\306\237\211\354\324\345L\275\361\253\361Q\315_\266\326\244m\344\324\367o\327\271\357~\217k\335\367\331\343\231\304\321\220 \036a\352\034Kw\017\204\216-[_,\0354\276\276Z_O\047\310\260\366(\273.\327g\271w\232b\275\355\\z\342\242\325\306\003\327g\316\032h$k\276\273e\357M\361\317[[\274A\326\347\276`u\324\024\227\247\253\372\036\372l\336\266\365:\200\366yp\305\270\261\215?\023\331\251\312\231|g7\342\243\232\277m\246\221\345\273S\327~\275_\034wNL\261\263^\253-\333~W\335U\023\241@\354\363\365\236\177\242\277Y_\325{H\022(\033\355\360\333g\237\246\357N\206\377\263\315\272\3379\370\261\177*\031\361s\206W|\376)\212U\0321-\225]\033Ii\241\014\354p\014\000\330\001\346\2339\262\021\0061*\233-\220\001(\006\022\354\251\357\331U\256CdbBWk\n<\257\363\377\014\212\270\331\303\032\261k\327\001\020q\321\270\223CE\3446\014B\313Y53\345\315\242\351\215\314\010p\237\204\240`@\034\221W\341,\223j\201K<>\303\364\274\233\025m\330h\207(A\004\210\236m\234bI&\300\201\221\025\212*\300\026\010]\024\003\323HFG\n\305\263\021\314\365\265\311\332\340\246\355\331\340;\343\007\n6\022v\0220\234\303\367Htw\025\352\365\211\027\022\310ec\243\277\271\021(\001\355\350\375\352[\002\352\005\372\001`\037:\020>p\371\377\220:\271\271\217\332\276\036\002\267ERB\034\234\r*|\374\001\332}\306&\377\253\224\241JR\373\n\202q1\353\216T\220\007X\017*\014\003\225\010\362\273\223y\370h\047\347\250{\310w\3058\303\357r\301\311\337\212!}\366D\034\264A\340\304q3\367([H\r\310y\242a\271\227A2l\177\344\334I\266Zf^d\247\322h\003\252:\023\3764\370\256\037\257\014E\323\"\330&\210\344\353\327T\331|\342\232k\245)\361R\022\033Q\377\330\027%\320\263\315\006\350\034\255\346\327\271\277\213\244\364\300\201\031\021\206z\235\326\000\020\355\212\304\031\001\010\0335\341\306Y\022\021\022\"[\r\224)/]\027\347\250j_\224\240\211EzD}\000\260g\306\000\237\031\346\365\374\336\275)2\322\263\274\2632\010\232\226\270\302\204\222\305\022\3425d\020j\303)D\037K_J\253\034p\047\266b\007[\357\346{\324A\275\317\313\324\2608X\320n\214\252\267c\313\232\340`\030>lt\326\205\237A\261l*\207TA\325\205\341\303\333\327ao\036k\323\222B\030\004\371\223\267\305\3678f\036\234\277\002\266\220\030\222P{)!\350\010)U\242\367\020Y\352l\371M\375\347d\233z\376\261\335\035>\331\352\305h\325\272\326TdUU\020Ux\351h\023F\246xd\303!\300\316\021\214\324\357\333\241\333\200\232\355\375\3117\207\255\315\327\024Y\225\246\354\250M\322\215\336\316\316\304\216\303\263\254x ]\023R\365YV\370\275!\202>\336\245\003\017#:\352%,g8qE\222*\010\017J@D~ea\363\036\220?\034;Owq=}o\205\226S9%\000\366\370\312S\310\307\271\002\362\357\316\"\017\245\232\257j\235=*.C40\007D\r\032\260\026\216\364\315\311\047\357M\336\206\025(49-1\307\010E9\260\360\254\"Xp\202Z\001\033R\341\003\303\2416?t\263\345\364\005\326\323\306\363X""\036\226\047\020\003\301\020\210\370\n\317\202y\340\035\020\221\367x.A\202\202\205\207`\033\373>\302\344\266\201\321e\367\366\235!X\035\240\230\261\255\263\n\211hh\357\250\035\217\262\357n\263\001z\226\211X\322\325V\234\014\224\367Ow\335\047\271\354\034\220\366\375t\361\205\234\246[u`s\207:V\000$aV\022- L\205hI\255_\340\030\232\307\307G\001\304~\2103\334\326\306a=\232\037\221!\250m|\231\365\341\322\372zz\270\363]q~M\341\357\362\354\000\266+\036\310\006\307c\211j\226\021\022J\014\237\0039\345\224\226T\002\rI\034E\304q$P\264\\,\256\252d\010\314P)\320\232%\262\235\233\004\356\004\356\243\234N\305N\345\030\201\334!\036\340\356\313`\0266\342\320\216Q\047\2478\272\370A^*\2170\246\204\320UQ\262\221/?\270>\306\333\030\205=\376\376\026\300\263m\355\025\316\305\020-h\274~\211\002>\277\314\005\233\346@\017e\307c\237k\250QO\302H\250\014P\370\360\267d\ra\3665n\366\023Z\2454<\273\277\322K\320\330+\217\2657>\357P\211A\2608\265\333\354\265\003;|-\346CP\025D\221P\266\035`|~K\300\250\"\202}Z\354\251\355\"m\n>\037\224( \375\242\036\201RJK\250\001\301B\236,\346\034lk\234\272 \002\210\002\t(\200I7\226\363\247\321qt\335\325Rr\027\031\207\002$\203\263F\217\335\247\022\023;\010\364\364v\230\204\206\334\3032\363\234\275\220;3\032\355y\256\351\013\027\031\243\002\227\343\343\271\355/\217u\213\200\321\365\216p:\342\232\351\256 \032\340k\253\256\257\234k\032\276Ya9\236\205[X\361\315@\231\032\324\234\225\rdH\246\2600\351%\004\314\274\010\n\354\200\250$uTE1X(\231\233|\333Lz\205e\033v\235\351\313\3628\341Cz\247(\014G\224\002<\255\246\"#\"\252x\321\341Jr\261\357<|\275t\261:\024<\214\014*6Dp \336\337A<\025\200V\013\000\270Qd\3418A\\\353\243z\356\362\256j\272D,\003\022\210Du\027\341W\032cR\220\371~\336V3\260G\270F/r\020\356|\237Q\t\003\316\324\030Ad\010,X\000\002\311\001b\305\373\236\000}\275\241\357CF\370x\331\365y|{\251\261a\233\361\201\214Cs\234\304S\321\343*f\340Ii\341,\234M\031\333\243\321\242\345\320h\312\256\224e\3755\003\032\310i\362\327v\264\315\320\007\3366\025EJDE\n\215v\245(\330\024\262""\\\335@rVD0q\rZ\353 \203\235\241\251\352s\260\310\230\006s\344]\371Z\315v\331`o\227\367\322\303]\234+J\245\002\225\332\274\220\013V\301\024y\006px\346\021\034\371\034\360&f\314\006e\2331\230Faf\\\027yw\333\031\276@\226\355\262\261/p\214\276\313\373(\243\315\272\254>\222\256\222\254CHH\351:\"\250:^\2322C\261\312j\355-;z\364h\3738a\361\371\352h\260\277\256\227\323\027\t1\242\322\007\301+\341a\240\205\205\201J\013\262\"j7\331\226\253h\367\317\002\374\263\310\032mR?%\000\315\265\277\327kP \265\222\350\026\251tK\260\354\341D\240\3716\255\334\010\337\276\205\302\270o^\tS2\261l\361\331h\210\r\346\252G\030\267e4\013\226\033\354A~<\302>\n1O\000g\201\317\177WI%;\353\tM\265\266\225\032X\005k\206{z\272`M\214\201\002SM\204$1\204,4\204\240\2101{+K,h_9\003\315\340g\256\215\360\360\200\024\375j\227xjW[\355\240+H~\334\242\236\344\020b\2108_eR\247\326n\246\312X\020\303+\\\211\010\021\035\312\322S\260\325|,\340\004\220\331\222 \306p\005\204\332%\271\311\241}I\205\r\326!\3470,\277\246\322\203\225c\355\307\n\347\002&\353\016\023\0179\344\006\232\232\314h\222\004#$\005\232!\250w\217\231\234\274\020\361%\343\224M\210Z\205iBPi\t\n\224\241\240\372>\006\272\371y\274\366\374\033\262\3131\246k\262r\204G\"G\047Y\220\311\310c\316\307\010\364\212nJ\260\345:\027-\310\021\327\336\342\360\205\220\004\3102\010e\221W\331|q\3002s1\307V\273\234\300\317\201\341r}\310\212+\024\032\024>\251\212s\020N!\357\224@\2547\237})v`~\301\257\\\314\247\257N\341\242}!\247Sy{\355\n\232\346\310k\022\370)dB\203\0051\263W\r\302 \333\2453\372\202\307\013]\261\333\000\306C*W\356_\242;\3615\032\216oJ\0108q\354\354\320\033\262\264n\321O\203\023jzA\343\213e\047\256\025\255\t\t\nu7\353\331\201\233v\212\234\316\270\306\3205\205.\327\366y\306\214\"y\240S\352\033\341#\207\037\232+\362\020\233\236v\246\237\360\033z\037\343{{~U\005\213\317\336\226\250\307\226\004\203ho\212\203c\352\266u\036\322\377\001\256\014\220Nj\355\307\013\360\014{\272\037\240\021+\361HP\016\004^B\272\010\325&\002\236\345=\300\013\356S\347\370\266\353\351:\261""\3573\266\340\250\032\233\303\343\266\225k\017`/\264V!\355\022>\327\344\034Z\214\215\271m\333\r\327gie\325q\256\216\200\2118\364\240@\246\231\0220\246YOb\004\031\020A\212 \366_\215J\207-\331\r\314\314\357\366Q\364\231\350\277\340\366\331\216\245\247\016\307\323&i\364\231P\240\223\367fPq\004\224K\047\004\216u\027\310\254\305f\232\035\036\344.\277\216\255\205Sg\245\035oT4\023\361\347\314\035\032\253p\022\032\014\262\313\250 \236\t\352\354d\362\375\206\010\"\261X(\260\004V,X1\222\021\204\223A\274 \2267\204\220\306m\3266\213\360\235\017\230\337\343P\261\232D\231\027\021\272\201@\301S\301\006\003\340,\360\364\346\246\336\205\371\336}\350:\246\257E\347\372gE-\005\272\200/A\032t\000F\360B6!(\205\310\222\2168\300\022\212Dt\023z\n\274\317\362\204*,\010\215\021\357\206V^\311\330u\355\360\324\t5m\217Q\361\200~\036\300\235t,\210\227f\310\004\006gD\264\211\3210n\3009\303\234r\356U\226\314L+\306<+\nk\375\264\03110\356\036\016\233\222O\242ih\242\262*/\230\372!x\003J\333\037G\237z\010\241\022\032)L\341\231@\234\350\0001\344\021\215\034Ft\262\361\347H\276d7\235\204\020\305!\334\353\352T\3538x\367\0227CaB9\004\014\203\221!\216B\264\215\363\375\236l\244?s\003:~\047\\\201\256\304L\225\201\360c!\251.ls\031\220\347\272\031c9d\212\262^\032\357jz\006\240\225\243H\024\270\220\367\217\230\035^+\303d\216?\224\365eM\333\271r)R^\374\303a\263\006\332\342g\035L\215\325\326\306\271\243\355h@\336\346\024Z|\257Yi\307!\355\177\223\252\000\237U\202\255\223Z\260\336g\354\004\370v\026F\004|\354\250\252O\271U\314;\002aJ(\337\244\347\255zm\270On\366\373\226\316o""\325\225\332{rH\257\263z\215\234\236\374^\234\323\0250\252\245H\214\225F4+\304\327af\204\242\335\244\022\016\024-\256\264\262,.\315 %7\303Mb\316<\262*R\304\324X\3200\303\000U\010\001o\017=\276\320\373\334\207)\330\336\327\372\310\216)\2210]s\267\240\216\031\344\006\374\371\224j\310\201u\0139\304eB\010\244\233/%\370!\244\014c(%L#$z}a\013\030\204\311\030\301c\257ox\276\345Q\212\322\335r\270\35162\025\014\021S\306\047?\237\246\320u\254\272\267\251\316\027\246\363\256M\330o\360J\253\r\262\234\020\3709\344\327a\302\nv\355\304\003ho\333\230\241}\315\024\304Ib\221bV\372\225\032Kn^\305\r\227\217\321\034B,\247\342o\215U=\247d\375\025\030M\006n\212\001\322\232|\277\004\243=\023.\244L\"`\200\215\205v\352\323\215K\214Rh\nb6E\240\334\312\001\250\331{\233\243A5\302\302\307\302Dn\323Kiv\016\000xyY\232^\2743\r\244\333m\336o\177\243\237\r\306\360\321\014\240\025\2547\231\302E\006\027\261h2_\265.\330\326\335\364\343\240\216XV\007\177\220\234\376\2367\353\315\34542V\357\230 \260:!B\352P!\316\n\014\202 \300\365\345\256\313\255\321B\032ud\336\"\232\021\243A\001QI\016\260B\224F\240ELO\262\351\001\022;\026\263\246\0062f\221\374\216\217#\r\034\232\273\312\260yxf\316\007\326\324GP\326\326WX5\224\366\n\\]w0{7\367\235\006\255\367<\037YZ]+\017\217\367<\201}\2020\027\032\023\034e\316K\254J\036\231\342\334\020\220\234Y\200\311\021n3\327\347E\224RJT\362\226X\233O\233\266|Ga\254\341,\236\261\363\376\"0\021b+\001\222BA\200\354\017\016B\026\300\317\310(Z\234\347N\373\254\365{t\341\252\313}r\227\307;\235\2324z\221\353\213\364\221\t\004\014b\301\251\021i$\2501\t\023Q\002\250D\211\023\324\016O\250\362|OP\017\253\340=:\247\307\373\031\224\341\310\351/\243G\244W\322\003\020\364\251\017I\307\210\371\351\000\366\303G\023\3176\254\330~!iv\314|\262\274\321\005\274\270\226\027\371\353I\322/I_\216\306t%] \177h{p\026n\270*R\016ui\311\321\374.\262$\255\244\206C\326,:\336\201\345\231\207\330\312\316\216\333\220\240N\242\214\242I\343\024\253\032\342G\335`V\000\022\260UI!XV\025\213@\212\363\371\215\3608\014\273""\324rQjus\200\035*\221\016\225 t\207A\343\337\362VT\203\017\022J\246\346JT\222\255>\224\224\351G\244\351TN\204\005\365\200\257\255C\264VK+\030\2146\247\272\311lr\254\332\001\016\244\207X#z$ *\210\017d\200\223\331\221=\231\331;y\363\027/\270\"\277Q\255k\350\317\2274\332<\031\237\243\317TGk\260lau\365\337>\225\327\313\232\371?)\214\020\016`\034\020\270\227i?\251\210\324\316/z\275\375\352\235\375\352w\207z\247x\367\251\336#$\340\277V\275\027\300<\035p\212w{r\312y\003\234\256\000\213\302C%x\006/+\340\\\252\226:\241\231\025D\220\270\002\236\356+\314\022\005\027N/\220P1;\202|\223z)\312\253\000\345C\221:\372\3057\007Y\310\275Y\232\372\277$\335\352vZ\357\241\326a\306\322:8\031e\310\000\357\024\213\275\t\347\340\007\266w\236`\022)\212\230\013\205\025\002~\355u90Q\344\262\047\274T-F\320\177\010IR\236\025\250\240\0254!\200\246!\251\322\002\355\022z\334\230\025\234\177\343\267\354\332\036\362\2059\321\301f\202\253\255\004\332\241\020\332\016\3006\ns\257\257C\312j!\257\217[]\256\356O\346\336@\300\224\207^\320Sr\004Cp0\342n\335\340\047?\230\376\033\225\202\225\252\314\237@*\034\025%&fe@\344\313\247\352\376\377\027\262\202\007 x\301\334\320\270\251\263:\240i\"\213\025\333|6\332\324\331\201w]\177GscI\000sm]\223\207\2166\333wc8\220<\357\212\335\222\323\177\333\351\037n\201\221{md\300}~\353\317\177\252\337\266YC4\3312C/\336\316\344\226\213\337su\256\252*_qG\344\312\277\020\373 \n\305\360\237\362\"\370\225S\316\373\250\021\010\251\001\"\250E\312\274\262+\342\010\020\210\244\"\304T?A>\362\"\206\326\317\352\000_\353z\301Q\323#\020\306)$#\0350\207\260\350<\243\0263\356\376\355\303\331R(\211\224*\2460\304)\207\261\353\376y\"6\374}\266\223\303wT\004\265\360\272bE\005\222\271a\357\023\364K?\004P\371a\342\323\265\261\025\037V\203\321\356\314f\241iTQ-kW\316*6\240\223T\201\336 W8\244\302^@\005\217K*\265\321\302\0379\376\234\252k\304I\t\351\374\241Y\272\030\233\346\264\350\326`c6\031\213\215\024\377I\357\317\n\013>\365\022@Y\025OZ}j\037-Z@\302\202\311\rx_-\025\047""\340\374pE\177\241\257\315\230!\320Q>\330/:\204/\025\030\375\344\037\362\302\353\030O\246\224\034\320\032\265\"\177#\237`\023\302\250\364\355\317\235\n(\256\207\214A\025\220\205\361\017^Z\371R*\215\364\372\352\211\235pX\312\277\227?\326\370\177\350\367\324\302\257\000\030\n\214\227\323\t\341\302\3537Q\364\227\321\321T\270\243\347\375\336(n\333\331\366p\243\331\335\014\236\233\323S1c\034\340\251\277\236*?V\201\232\214\004\002\304\004\221\315\000r\211\375\037c\177\245\324\277\355\366\347\310!\002\0106\275\353\007\210\352\224D\302\203-\232&~V\371\261\304\024\0234\2737\203g\352\354uz\270]\264\224a\326*\213\266\3606\257\265\342\243\201je;P\004-p\250\334*9\256\314g\325\323\333\374,QJ\243$\360\302\210\265>\016\346\365\330u\275\256\352\047W\303\265\374\364I\342\r\346\010\227\313\362\257\263w:\306\177r\220\003\0306\337\374\037\377Cs\361\335\3347o3\n\216\355Y\307\261\301Y\n\215\356\n\031\241R\034\030\212\215\263\247\343\034\014\000\026\215\315\255\355\363\361\000[\024$\272\340\243\340\342\023\376s\\\344]F\020Tj\356\267\375\377\300\212n\357o\366.a\205}\202\223\013\3050\302\353\260\377{<_\314\245<{\350E\216\376\316\271\266m}\274&\036+p(p\251\014\3048\2241.\341\311\314g\360)\230\0203\340\247\020\231\316x%\261h(\200\2328Y\310RE\025\207\367\335\340\255\370J\342\336\036/\272\ro[*r\226\253\205F\376\025\275\370E8\252\361Q\310\254@\024\233\233\375\203\203\333A|\020\t$!\t$\211\"\317\0002\376\305>T\354\203\361\252%Zq)\014ad\227q\320\205\250N\367K{\202\200\372\341b\220\341\377\300\250\3379\342X\371\001\003\213\343\355e*\354\255\237\234\207\201R\331\353\202&?v~\211\202*A{\347\214\366xJ\357\361\323`\372\224\351\n{\202\030\337\210\250\366{~\347uN\335\304\007\334\356\332\254\200\347\002a\200\250\324*\020\000\265J\002i\300K\013)2\241z\031\370\047tTgj$\362{\200\226x\354tT\304{]\336\3464\366\314\301\017\002\022\374,\215\\\027\336\227\t\230R\214T\355\367\377\266\205\273T\212\366\240\022I\010HB@\221g\351\255\023\223\356\255\237\244\255\367\247\347\274\376\3408\002W+\212T\\\261R\n\216Bq\361h\022""\t\375\247r\005\307\376\301\356\027\335X\007\357\265\247q\225\335\367\255\337\271\000b\302\253\214\340\354\234:+!n\331\305g\263\211\375\010N?\277h\202\335\375\264\375\0243\237\240H\016&`\322\374?\315\373\216\220\374\337\233\363\034ws\324\373n\374\267\346\302\261\252\356\006t\276\305\242\021\013\3532\047\027k\266\377\223[\366;\rv\276Lr$\3556W\367\304[\273\202\231\005\213)\032\317T\340\202\233bp[p\022\343\215;\000\235\004\354\366x\363\260\001L\261U\031~G\014\343\314\206RZS\003\0200a\211\235\272+\001\333\336Aw\354\217\010\250\334)`\261[\270\007@0\242D\265\346\371\277\216U\200\047\347R\345\\R\027f>(\007 Tv\204V\235\356\272\225\047\322\024\"\376\rU\223t\341\336\271\001\010\027\216\376BQD>\0230;g\224\250\332\322\033[k\364X*nP\242\020T`\202}\377UpckK\332\302\222\047\001l\227\303J_\213\337\024\354w\373Z(qw\324\255\360`D\027T\237\237$\250\n\236\033\313c+\210\343\261\337\010\260N\"WiL\n\332\320S\207w\303\271a%\327\211b)\352\024\047\035\336\000\022AV\376\311C\231C*3\003x]\003\337\341:\373\240\321\303\267E\177\004C|\202\233\3140O|\206[\341w\277\230\316\316\210g`\036\017\227xN\007\277\302\177\250~\310^\007\014x^\316@\343g\277\356go\035\2057O\203\204\341.\016\030\234<\\\263\262\047\360n\356\347r\237\365G\231\333\355\227\t\333;E)\304b\003\306&\neq\270q&\341\0047\210\356\232e\2018x0\024\205\346\330|\047\305\270YOCx\244\3347\304\277uH\022\307]\333\177L\370I\016\267\315,&\361\002\363xCv\365\215\224\353\035\177o\332\243k\253\326\331\353\224\336\016\331\034\215\265//\006X\031\027\254\354\235N\317P\352\351K\324\331\300\202Y\016\267^\345\250\030\317\321\313\343C\317w\341\035\245\001\372\336\256\013\313\005\r\307\226z\276\025&\201\311{\317\310\207\346\177(\250AdP\371\374\250\214g\014|~f\312\034\005\335\005:\220_\241\020)2\006d\221\371XAG\334\010\323K\235\013\2679\350\243\372\201\2124@\022\370\247\177\002\242e\021\376!O\310\301\016x\200\350\222\t\314\t\3764\373\301\314~uO\240?\030\307\031\367\217\344(~\222\206\"\344\336\177\346\370\376\203\362\327A\340h\n\207L\256o\017\303\342\277_\277\336|\265g\364\025HP\275\351(\240H\200rL\347\037\373\350_\214\371}\346\177\306\240G\275\"\215KFD\237\201\017\320v\377\035O\321b\321J$>\020\033R""\220#\371\316y\355{\236\250\226\017\235\010D\260B\360K\200\250|s\351\272\356\351\356}\032\255\nY(v\337\220h\272\202\325}\334\237\006\254:m\224\351\005\205\267\274\r\0275Q+\346\267\037\311\345)\353\331iV\217\330\266\226\215\036\355\367q\037\007VP0C\346?2\326V\026SS\360\374(P\376!\202T\203X\047\352\322\257\302\244$\027\224@u4\373\211\36120I\013X\244*/\245\311\321U\250P\201!B?\247\t\005\002vR\360D\375@!\372\204_\350U\r\305P\375\242!\364\240\007\200\005\354\000<\241\023\342Q<\360@\363\210\037\250@\342(\362\240;\301M\310\047\220!\377\224\023\351\004>\200S\365 \037\225\023\364\203\355\027\374\342\007\245\037\025|\027\365\047\236\207\351\003\354\003{hTw\367\371\017f\320\265\027 J\200\260\207\240\207\346\007FC`3he\205\013f\2675\255\263[\361w?>\322\004J\322\214\220\202\265WcP\364\231\230*\010\021Gi\022\352h\355G\245\"\216\322\324R\3554j$\315\"\2234\231\231\r,\3132\356\345\n\220\025\212\322jq\306\374\0046\267}o\306\215\270\256\341FH\032\006\201\014\356\360\3703\205@\013&\330\347\014\305\275n\262\303j+MeK\254\312\273\252\332\240\231K\303r\250\337\203W4[q\210\343P`\262=\207I\323\251\031\004\303\2140\2060\020@\211\247\245\317\312d\222\023\267\004DA$\001\004}\350P\223\rF{\021\006HD@\237\212\227z\212*\255j\327Z\222kMmp\267-\375zm\234+q\266\343~\305`k\301E\3577\356\302\252k!\250R\n}]\375\362Y[\337\357\355\005G\325\371~O\223\344\232\317\276\276\377\177\277\036\374\347>\375kK\317\007\206r\274\251\n\252E!Z\221\024\363\353\235\261\214YTtT\3471\025\350E\022(W5\251\325\036\222\340\226\357\250P\210\201=\344yz\003\310\372IvG>\201\325\367\336\355\355\022B\077\077\263\355\016\375s\340\351\243\255\353i\301\274\333Y\213\234934o\025L\270\270}\377\367v\033\275\017\310\323\252\257W.\335r\353\363\375\257\275\352\367n\035/\027\276\315\206Z(\232L\321\2512\354\322eB\001\006\030\261\004\245\026b\222\361\016\262c\300RHM\376\347&\203\003@n\305\204\2318L6\270\254\022\321\010\020\022I\033\205G\021\"\013\200\247\255\2065\024]\321@\240n\246Od\315\316\336\254\177\017\352\334\334\337m\327\377D\013y\274\303""\013-r\235\227\233\206\010%\202qy\234I\377\007\277\350~E<\217,\t\032\213D(\252*\004\252\032\205\n\304b*\210\242\253\026E\210\250\202\242\014\231\213*\036``P}w\3718W\233K\321\362\350\3070\324\006\364<\2652y\207`q8\340\340\342p<\034\t\302\022\370YR\326\213\276\026\034\270\311\214\304\322\246\026\225U\227{\017\245\335@\022M\370 \014\242AcR\255j\303RaL3\262\206\2320%\025\341\246d\2112\003\002\252\n\2640\230vY2\322\341L\275!\212\375\326]\335\233\317\3604\304\0254\354\251\255f#\235\027\014\257S)T\333\261\264\367\276>\230\360\364?Y:\302I\201e\270\226\317\326\025\033f\277\257\177\243=m\300\013v\214m\303+\231\021\020\034\206\201AY\240\314\211\022*\201\032L\260@$8jT\210\002\"\265\333\216/\307\320\256\326s\264\320]\370\337gm\311!5\271\351$\204\314P\322l\311\322$\207\t5\252\013S\204\256\232\205\031Qc\315\2138M\230TR\014\334.\2367\336\232\326\336 \367\003\251\357\344\230(\031\206C\001\242S,R\314*\312%IJZ\255im\021\032\226\310\365\337\243\330\345\316t\336\235\233m{?\203\316\270\047&\325\377\021\010\020\351\276a\262\\\350tN\031,d\207,6\325\005\254\3416LM\221\023\021C\035\325&\314\003\304I\t\306t\343{c~E\370P\250\340*;\366\266\016\025\200\250\314\331Z\325\225\026\205\240\001\246\037\340Bv\244\235\022\032\337{\243\235kX0\315lr\206%\270\260J\212UKV\240\325\n\251V\251P\253Z\225*Z{Oq`\241\366\376]\027\206\372\032.\312\270\327poe\344R\201\002\233\353P\2126\322\326\323\022\211\225\262\213Z1JR\2425\244$#\"RRa\374z\357\3217\n\216u\231\002\007\255W\004r\035\r\005K\"Y,Y\000\260\245\220\261`\002\312\331\245B\200(l\330V\312Y)\000\245h,X@\260\006L0\t\222\006C&\022\006\0040,\200P\205\002\202\320\005- \224\r\r\213\000\226V\305\213\010\026@\262X\262\201al\322!H\322Z\310\205\224\261B4\005\005\254\013dlR\255+Ab\302\226F\315\254\213al\224+B\320Z\3106\000\260P\001J\323H\264-4\013H\323J4\2154\251KM\254\213e-@4\264Z\300\266\002\301@4\0054\241J\321H\264\255P\215\013E\000\3224P\201H\321@\005#M\nR5J\224\201M(R\224R\245#O\247d\033-\212U\244)\241\032R\275b\3006B\315\002\322\024\322\245\003Z\te\033-\216hY""\002\310X\241\032SYi\022\201\261\323B\310\226B\307LK\002Y\033\032\350\331B\310X=\201\013\000Xlt\320,)e\261\322\026\312\266\003HF\205)n\351\240\026\000\260\026\350\nYB\310t\324i\002\210Xo\036;g3^\035\235\353{\220\301\362\366meK\313\002[iY\000\346\004C\346$}\227\006\372\240\350\313\371\205\253}3\313Y\310\343af\033\270*\"/\025\007\300\223\201\352AHQ2\262\330\267\265\234\221|\233OK\006#^\305Pl#\212\371\360\225\254YL 3\315A\t\213X\227\320pJ\333W_5mk~%],\366-eJ\230O\266\224M\257d\037\003\002$\036\370g7\210>D#\312\234_\3030\320\261\rAj`\246p}\371\007\277e\346K\242\375\311\366\003\231\013j\201\272\374\026\222\266V\310\256\246\013\333\254\255\001\267\005\"\325T\250\324\376-\343\033Y\202+\360\037\317\371\263d\360\212\302xE7/Dy%\237[\341\271\341\227W$\016o\335\360\300\000K\244>\207\250\245\342\245\273<\331\345\373}wE\206\"n\016\250\316\027\346\036na\340\376\200$v$?\017\355$WJ\013Vb\343j\362\201iD\231\234\354\202\320\331\250>\005\246Q]\351\271b)\235\203>\210\310\n\371%@\267\n\350\347E\305lf\323\324\002\026\363\227\255v\000\231\271; 5\215l\246x\325\260\366\n\261""\373\nT\300F!\307;\260\315A\314&\277Q\022\025\246\032\231\220S(\270d;\207\346\213\315<\223+n\000RU\217\242\235\247W\266\260\321lB\323[ \204\205\215\234\315\337\373\003}\037\212\206_\364T\227j\"@!F\256,^%R\010\227\342V\230\230u\210\212\263\362\264j\377\340L\365\177\027@\020\365]\312\262\320\"\200\017\203\350\207\256\260*p\026W\363\371\3222\224,82\033W\031m`\265=X\311\260\257\2628\nl\345\276\005\017\211\224\"\265\364\034\364v\370\370j_\002\004\360E\360]\024}\004\370u5\010\351\346e\337\013\t\256^J\006\347\202\023\023\321\341\271P<>0\224^\350\213\n\261%\"\206\202#s\321\241\237C\303I\021\023\323\262DE\306\202\361\340\344\300\320\306\312\312gC\031\250\207X\272\004\321\271\276K\030\312\026\227\373\276\353\273v\271/\222\331\200Ay\245\357{\014`b\214\371\241\357\332\300p:\207\265\263\232}\324\047G\"\301[9X\215\244\213\313\300\354\211l.3\222/\225\264w\003\271\020z\264\006\243T\016\005u\337d^\310\304\340f\006\230\235i\036\243\345E\004\262\034\025Z\003\026ct:2<\027\211&\347F\243\323\221\221\001\235\n\031\237\356\003m\"\223^\025Xba;.\347\256\2241lH.\354c\361\350t\214\241\037\207\322\273\350\222\243;~\006\225\003c\275\031~\020A8\022\233N\n\004PK\020\n\047\3030\032\335\t\r\210\317\212\337@\177\336X\\\314\316g\241\314}\343\262\231\323\207\211\351\321\321\360p8\024I\316\215\207\023\311h\3746|\204\325\003\2541\225\037\216$C\361Hp\002\353?\032\207\024B\002\365\215C%@\311d\212\024d927\036\214\214L\204t\212\t\310\254/\271\275f\047\232\200\234""\346\222\267c&\235i5\232\177\374\003\321\204D-$\303\321\210\317W\343\371\225\205L\301\347\233\361\350\304H(\336\374\013\017m\3743\233F3JBxCjs\267\322\033\213\253P\313\301\2054\214\363\233\031W\265Md\037\024p\354\306\212sW\032\250\013\242\312XuM\206\022\301f\250&G\303\240\272\272\273\370V\032\007\210R\266 \364LPB\256@\226}\303W#y\327\347}\227@\265\200\026_\332\036\210@\333G\202\022\033kk\371B\211\310AR\022\323\261X4\236\014\215\014`|&\227\337XZVb\021\325aT\355t{o\336\200h\\\214g\346\363\2309\220\373\r\010f\320\266@b\254\346a\030{\240zq\t\360\246\227\322\331\334U\226!\014\3420N\303\320!t\200\3427}zP\200D\031)\306\207\205\212/e\356J\366\001\344R\312\300@\016\224\201\256\233\021\262>\327\027\013\305\256\334\370\352\006\r@(\260`\000\332x \364\270\214\030\\\036ldW@_\350+A+@\035z\261o;\277!\206\017,\356\032\352{\354\003\020\2349\241\257\242\004\275(\304\222\220\222s\3609\260\372b\337\002\324\303\274\250;\370z4\275R\314\\\215n\200B\265x%\216cD_\010\010\t\303\334\342\221\340]\024\372ltt.\036\214\214\205\346B\221\021`\346Hhv\300\372\"QJ\027J\315\276I$\203\361\244\371\352 \t\001\3375\021\021\364!)R86B\263\006E\010U\334\214\035\231\313,\245\261t6t-_\314z\241\2173\205\277\272\232\3171\000N\010YP\266\026\001P\342\2101\245\350\026\365\027\203\303\301\341\341!P\\\023\312\235K\010\024\256\340U\324\177p\336;\267\230]Y\t\016G\023\370\247\323F\233\245\323)\374\343G\202#\370O\245\322>w\262hbX\374\350\204\306\357N\032\207\177:Y\274I\242Y\234;\342\237N9\3334\251I\322$\205N\340\037?1\021\214\006\243*Q\324?Q,\n\377T\232X\223D\361h4\"~\220\035\344\252o\354\240\317\207<\241\177\252D8\202\177*\241\361\272\322%\203\021\374S\351\214\327\235.\016\377t\252&\374M\215\215\204R\362W%\345\001O\352X<<\034R\256\371\202\007]\337\254\254\014\013\271\235\240\361`H\264\353!\336\272\207\2327\365\241P2\210\177*\245\361\272\322Ec\360O\245\322>W\242\374\302\366H\376\267,\272\023 \245\321M,\203lAO*S\020\300\341\3410\374\243\357\215\317\3064<2q}8\036\235Ih\217\372\300\025\366|\366\371\320Dp\370\226\372\226\205\014\002/\320\213\005f?\341\221\220\361\261\257-\200\367""\313\211p$\224H\306\303\267Bv\210a\360\000\275X@\253W\004\220\227}oC\274\037\343\354\001\232w\002\322\215\273\303\014\215\017\330\213kf<\234\014%`\316\034\016\305\023\036\000\303\346\007\367\240\013bK\214FB#C\301\241\333\356\260A\346\007\366\342\032I\005#\303\241\241\211(T\246\035d\230\274P\017\242\241\320D\022W\005\230\327 pA\274\037\307C\301[\301\231\340m\356g\237\273@\236\357\207\047\242P\007c\223\301\370\364P\364\316\264\027bp\371Gx1F\241\300\301\td]b\006\304\263\017\210\341\364\217\361A:\215\013E\301d2(\270m\2059:/\330\203k$\030\277\005e\231\036\031\216\246Bq\017\300`\363\205{\321E\177\016\223\203-\232y\031&\033\342\213\303N\3354e<8\026\215\214N\334V\331\3620C\341\003\366\340\nE\306\246\047F\241J\271\337\340p\203\274\337\247B\021\210f%wA\030.\337\210f\030ml\276\230\016\3022\026\214\241|\302?!\025|@\006_\223\030/\322x0\005R\023\245\202\344\274\r`\010\375\340\036t\343\301\311I\321\370\244\307|n\205}>\213\214\211>\030\261\002\374s\027\314\007E<8\0316\236x4\221\260C\034\233\033\330\004\235\373\223\246\251\303c\3433\300\037\346e\237\332\020\237\217o\335\n\336\n\031\337dt\304\npT.X3d\236O\232\246\217N\002_c\341\261P4\342\n2\034^\250\007\0214\264H2<\034\234\370\\i\t.\210A\347\037\341\305\030\211\204\204T\224\036\366=\017\373|\006R-\031\032\321M\321\006p4>p\017\272[\341\341[R\226\220o\3506\212\020\241\002\270 \006\265\177D3\334\236\357\232\245\207qw$\024\037\212&\223\321IW\320\340\360\201z\021E#c\023\241\261\261\320\010\365z\033\300\220\371\301\375\321\201\366\305\274.\024\006\342\371\230\215\321\336\301\371Y\243\362d09<\016\034\233\210\316\330!\216\302\r\364\303B\232\n\371\254\257\017\322S&\243q\327X\341\2020L\276\021\3150\332\330|1\035\204%\252\372N\324\325w\242\007\366\235\030h\231\303\262\265+\257\371\324\005\361|\014\223\251[\211\361\340\214\224\342,dPx\201>X\022\241QP\231>\237\014\001\347G\022> \216\3177\306\2034\021\302]\252dX\266\304\204\027bP\372Gx1\216G\243ISO<\310py\241~\210\342I\352<\332o\241\260@\336\357c \016!\217d4f\207\030\016\017\320\213%\t\\\014\215""\304@\305\014\305#\036\000\303\345\007\367A\207\025\r\263\215\231\360\360\270;\314\221y\301\036\\\311\340\255\351xX{\314\327V\330\347\263\304\364\2550\250A\334\317?\266A\336\357\307\343\323\211\244\354\013\332\317\276w\201\274\337\307\225D \037\3736~\240\004\230\216\204\247\246C\237\307\303R\215\347A\203\303\007\352E$T@(\243\236\364\273 \014\235o\204\007\343,\245b\235\323\r28\233\304\270\220\206\302\023\370\247>3^W\272\311Q\370\247Ri\237;Q\024\376M\343\237N\031\235n\226\324$\361O\021\215\305p\016,\035\225\330\n\271?\210\307C\023\362W\047g\001w\352\004\374\033\307?\23581\336,\251I\342\237bz21=)\177UR\036p\245N\205\341\237J\227j\322\205\370\362\027n\372\217\200\244\235\236H\216\204&\203\370G\0371\257\375\375H8\021\034\002I1\022N\301?\225:\354\277D7\002\312\347xX\254N\010W%\267\203\256ob\321\021\275\3469\322d\365sdV/\3006Y\211\325V\232#\371Rh4\014\377(\231\361\331\037@\201M\231\233\225>\024\017\305a\270\324\270\232\310)\335w\233t\342\320l\014\376\2514\263\376\302*\264\276\221^\031\235\210F\343\342\207\322p\277\235~\024Z\336\250Y\365\035m\266\000<\032\017\016\203\264\047G\245\266B\256\017\322\005\265\347\251\334\253ss\270\04757\347\006,\372$\\\316\314?\234\313\257)\023<\261\225\303\342\2272\245\003bq\203\326\312F&\023\333\252sE\261\271$M\024Y\022\264\332Zaa\334\253\264p\024Kvx#\227E\2039\006\323\226{\213+\351%\203{\311eH\350\023a\023\203pc3\251\301h`\251\003+\371\374\303\007\351\371\207\032 \355\002]Y\023\320FO\026\204:\\\3300\234\367\030 Z1\276\245(6)E\321*\305xp\\\365\216q\377n2>\031\034\327=h\274I_\032O\316\215\014\307\240\013EG\230W}\344\201\370}<\036L\204\214\317\372\224\001<_bd4\256=\346;+\354\371,\001\352\0329\346\223D3\035\016\342\222\361P\004\347\243!\3567\237\272A\376\337OFGB\334\357\372\236\201\\\337g\227\226\047\362[\302\312\r\255|\303\223\341\260^\351\0107Y\363\340\006rd\037w+8\031\304?J\317\274\366\247\267`LUi\374\005\317\255\221\237\341\237J\243}v\"\344G\020F\3271\355\231\013\342\\\325\025\244o\375\241M0J\353\275\341P,\351\003\362 t\3074C\232\230\210\306B""\256\240\007\031\2076E\344\376\306/udB\215\232\023\376\303\347Dtl\360\232\370Q\351\230\337\2254\233\313LBu\016\217\340_h6I\016%\266C\366\247\0307\032\236%\207}`B\336\017X\262&i\344\377:]\223\2266\031\214\337\n%G\303\312\325\351\255\240\373\233D\",~tj\343w\047M\305\360O\047L\305\232\244\203\362\317\n\2533\345\352O\254\240\3473\223\254I\n\235\240Y<*n\344\310\0214[\312\254\316\315\031\220\0346\047aF\207{\241\312Ux\355\240\013;0\326\360\264\031;\303\240\231A\017Q\256Jn\007\275\337\010b\30261\341\203\210\tG\340\237\3441\271\372\263\310\001<\206\317\202\263\362W}\354\256#\017\304\017\205\225\270Y\272\351\304\334HX\271\346\013\036\364\375fR\271\3667\223\315\2761\311\374SD\047\047\365\322\340d\223E\302IP\365\361O%3^;]$\230\214G\314>}\244\331\226}$\032\tER\341\210\236mD\232\314;\"\231t!:\224\202\177\024m|v\302\250\264\233\031\311\316\243\361\242\260\376\214\241 \216$\303\023!\343\243o=\000\033\031E\307\203\221[\314k\177\313 \256\217\047D\025\222\243>\232h^\2572n\222\034\353\003\377\332\200IgL\317pbM\346:\261T8\246\231\032k\302\336X*\n\377t\242f\230\222\360O\047\362\257\371)\261z#\177)\201\025\260S\307A\352j1\025o\"\260\342\321a\370\027\303?\225\322x\275I\361o\360\3325r\314\027,\344\375\210%k\226\306$\361O\221\010\307\365\220\020o28\304S\341\270\256\202x\252Y\242\350\004\376\351dQ\377\211\225h\334(\260\343\231\2640\007I\004\343\360\017\006]\371K\037Y\001\033CB/7%\232,<\241\311B82\216\177*\245\361z\222\232$\376)`\324\324u\234hR\333\211\311pB\253\227\211&\212fb*\236\304?\225\314x]\351\222##\241\224\374Uiy\300\235::<.~F\345\257\376\204\005|>\201\332V.\377\242Y#\020\221<\241\177\252\351!\370\247\222i\237;\021[\316i\266\260\223\230\006Q%\264}\343\323\237\270\000\256/\305\0049\261\234^\310o\2419\221\364\t+#\351UvF&\304\"\213\224\207D\0143\371\374\332\366\334\234\016.d2k.\020\010\356\r\230\227\317%?O~NP\355\261)K\006#\360o\034\377T\302`\223vil\312\232Y\227\341\261\254a\361#\355\024\231wnx%\237\313p@\024\276t\207\203\271\205Q\205\207\300\261L\346!\017O\257-\244K\026\"a\t-\000\321""\0049,\267(\313)\352\315%\312r\210Z\330\243\0343Ch\320y\220\031T\034\221A3\"~\350\327\240\004\277\302I^\206\024 \n+x\rZ\010\030\274\321\304\260r\031Z\014i\304*\300Q#L#\307\000C\217A\223A\\\3762\344q\203:\356A\0347h\343\034i\234\241\234\225\277qr\030\352Y\206{\326\213|\226a\237\265\320\317Z\3709F\206\320\213\217\241\263\2601d\014\227A\345\301d\020q<\006MT\374\030\\Q\215+\352\306\025\325\270\242\014W\324\340\212E\345\257\301\0263\350b\036|1\2030\3061\306\030J\264BU.\265(e\301\2523Q\000\225\023\017\263\354\024X\345\251\302&c\005\261r\267\363\2612\361\313\301B\357\302m\020\303(J\216A\217\001\205]\371\031r\004)\334\3507\2501\2441\013\341)\034\203\031\003\n\263\3623\314\010R\230\321o0c\310`\216\313_\206\327t\212\244\247O$M\227H\362\036\221d\035BX\360j\217A,\203\n\267\t1\364\022\250r\220!\223\211\014\263|\304<\222yy^\022`r3a+?\t69\3120\317SBT\256Cj\274\031\262G\233!k\254\031\362\033i\206\254qf\3105\312\014\331c\014\232\032\223c\362\300\200\312A\371\031~\004)\354\3507\2701\2441Gc\362\327\340\005\277BK^\206\025 \n)x\rN\010(\224\303\303a\371\253Q\242\237P*\257A\211\020B\211^\215\022\003\032\245\262d\346~\203^CT&\026\200e\245\341*C\r0\331j\020\313\234YA{\000\234\014\0166\264\270\241\026A<\322P\305\241\2344\016\347\364I;k+`\321E F\023\203\330\364P\004\243\205 \026\035\004\3434\030Km\017\300\242\205\201\031=.\250M\023\213dt1\250E\033\203s\372\310\022\334\016Y\224)\030#\213\203l\232T\014#H\201,j\024\220\223\302\255\311}@\026QV\004\243\314\003\267\311\263\242\031\215\026\334\"\324\212\341\324Z\326\352~0\213^;\206\021\354\215\260)\266\343\031\311v\204E\263\035\305\210\266\254\342}@\234d;\302P\354\205[\004\333\321\206^\033\316\311\265c8\265\314\362\336\013\261h\345pF\252\033lS\312c\031\241\034l\321\311#\030\231\312\276\337\016q\3624\314\220f\201,\262t\214!I\20389\032\310IQg\005\\A\213\030\rd\324X0\233\034\035\305\350\3210\213 \re\024\271N\034\370\0029u\356(C\243_\214E\251;\201\241\327\035\303\251v\307q\332]\047\033\374\241\026\365\3568F\276_\224M\277;\005+\200;\312*\201;\322*\002;M""\341\003\262\211\347\021\234r7\334E6\217\3464s\270M0\217a\324\332\2475\374`\234^W\214!\330\047\302\242\330\025oHvEp\232]Q\234\350\350\317a\343\023\327.X!\213d\005c\304r\220M\246\212a\004*\220E\232\002\272\210rg\354\312\324?CWf\236\214\254L\370\t\025\037\220E\200\025\301(\361\300m\222\254hF\233\005\267\210\264b\030\265\372,\214+\310\2514@C\241\r\263\2503Q\2062\003\343T\031(\247\310>Q\343\013\264\250sE1\032}blJ]\t\030\275\256\030\213jW\234\227v\017\335Mh\366\247\367@Z\375\351lF\243\233>\367\231 \177(\247\324\023g\310\365\215\262h\366\2440\204{\2428\365\236H^\004\353\024\222\037\314\"\337\216a\304{#l\322\355xF\270\035a\221mG1\242\345\001\023\356\347D\022\304\020\307\000\026Q\0047\304\020\200\023A +sur\312\035\266\211\320PN\210\005t\021\243\3438A\032h\023\245\301\026ax\242\212\373\305\201,\017\300&\323\2009\2356\324E\250\211\344\224\032\250M\252\201{h\365R\342!\242Y\376\236\254}r\2652\2443cv\310\"@\301\030\t\034d\023\241b\030\031\nd\021\242\200\026)\342\000\231\025\230\214\216\270\3036m\032\312\251\263\200.\372t\034\247P\003m\0325\330K\245\017\025^\022\232\346\357\315\334/g+[v2\316\013\261\250\341pF\222\033l\323\305c\031q\034lQ\310#\030\231\256\023w\276@N\254;\312\320\353\027c\221\354N`\250v\307p\302\335q\234vqb\211\373-J%\204\021h\0006]\022\316\310\221\000\213\n\t\2622\347g\004\375`61V\014\047\312\023\341\"\316\212\347DZ\0216\261V\024#\232N\021Z\001u\024\321\027\310\313\340\2162\205\360\213\261J\341N`\212\341\216\341\345p\307y\013\342C\236\227\254\246\344x\311\360\313\236g\313OPz!\234\032\013nH\362\200-\272\254XC\234\005\346\024Z\021\234L\353l\246\037\314\"\325\216a\304z#lr\355xF\260\035a\221lG\271\211\016GBv\310C(\302\\$*\220\2278\214q\221\205 \017A\010d\244\330\353/~\013/>+.\315\227Z|\326X|\027W\374VU\330\031U\017\300&\310\2009M6\324E\226\211\344\224\031\250M\234\201\333\364\231\325\331\003\340\004q\260\241\311\r\265\310\342\221\2062\016\345\304q\270E\237}\336\331\037jS\352\212\343\344\372D\271hv\245\340\204\273\242l\352]\221\254\010\256\363\325\276@^\000w\224\241\337/\306\"\337\235\300P\357\216\341\304\273\3438\355\354<\267\027bQ\315\341\214d7\330\246\227\3072b9\330\242\224G\330d\3123\343\256\240\213@\002Z\3241\230\2334\212\262\350\"\230\213(\202r\212\314\tt\017\300\242\212\201\031].\250M\031\213d\2641\250E\035\203s\372\254S\355~0\213J;\206\021\352\215\260i\265\343\031\271v\204E\261\035e\021\315N\317\373\200l\222y\004\247\330\rw\021\314\2439\275\034n\223\313c\030\265\362\264>\367s\372\010b\010c\000\213\"\202\033R\010\300i \220\2259\235\366w\005m\022\024\220S\301a.BT\024\247E\301lr\024\224S\244\356\017p\005-\2124\220Qd\301l\212t\024\243H\303,\2124\224S\024gz\225\272\242\200S\023w\353Q\034bS\022w\353M\nbQ\021\367\350I\374V\003/\204Sc\301\rI\036\260E\227\025k\210\263\300\234B+\202\223i\337\226\340\013\264\210uE1z}bl\222]\t\030\325\256\030\213pW\034\243\335}+\203?\224S\357\2113\344\373FY\364{R\230\002x\242x\t<\221\272\010\241\360\0049\206H\014(\252\224\237\221\201 \225/\372MF\030\322\230\047G\345\257\301\013~\205\226\274\014+@\024R\360\032\234\0200(\243\362w\232\034\206:j\246\225\312\317\221G\315D\022\375\014}t\232\343\347\030\031B/>\206\316\302f\220\311\273-\214\317\240\246\260B\317\202,\013\202\252l(h\262\"\200\311\016\357\306\320\036\226\231\010\352\274t\210g%\200:\047\021b\031\211\260\311\047!\177\307\311a9%\314X\250\374<\227\204\031\363\320\317rH\214s\374\034#C\350\305\307\320Y\330\0142q\314C{\014b\031T\270M\210\241\227@\225\203\014\231LdX\347\223\n\313_\223C\312\014\277)\317\300\2332Cn\212\017\266)3\314\342M \344h\244\"@X\265\337\240\025 \302+\374\032\261\010i\314\341\224\3745x\303\332 Xy\031\326\2606\005F\257\301\0316F\300\352f\021\3465\310\025@\345\300\303,\033\005Vy\251\260\311PAt\256\302&~\204\331\304\217""\030\233\370\021\217M\374\210\261\211\037\3416\361#\314&^\234R`G\t\314I\002\317A\002s\216\200\037#`\247\010B\243a\371\253\261\241\237\320)\257\301\207\020B\210^\215\021\003\032\245h\023\274I\260\026\341m\020\254=X\315\201\267\006\241\031\204\204*\031bJd\310\250\217!\217\342\0302*c\210+\213!\246&2\375\302\250\024\036-\302(\016\\W`\352Ah6&\177\r\266Y\255R*/\3037\253\025H\364\032\214\263F]\024W\271(W\243\225!Bl\002\006\265\204\021r\031\320\350ePg \017S\214\362\203\024\243\354\020\305\250\367\000\305(;<1j\035\234\030\345\207&\350\272\030\3433\370)\254\262`A\226\013AUF\0244y\021@g\207\317N\215N\004qJ,\356hI\342\275\365\342y.\016\030-d0\365X\246\204 \371(\223\t\207s\213y\031\022\257A\351\027Q\014|\202.b\221\241\350Z\323\204\362U\025O\004>ieQf D\332xP\374hn\215\353N3\356\3563\343\272\313\214\263\0363n:\314\270\350\203\343\254\017\216\233>8\356\351\203\343\246\017\216\363>8\316\372 \273u\305\016\231,\030Le\345\002\261,Y\214\312\232\201\014\t\014h\223\202\267\270X\001\027!\002d\321\241!n2D\204E\205\200\270\210\0200F\203\274\021\206\3739\005\0041\0040\200\225?\301M\366\004\340\271\023\210e\236\220k=\352\226\031\226q\202\255\360\360\240\225i\202\255\353\250 \3170\301Ws\370}4\256 \317\330\000M\3566\314\"\301D\031:\014\214\023c\240n\212\360\206\033W\320C\221\000\272(\3220/E\"\312E\221\200y(\022PEQX\330\265\204\231\305H\330\330\212\204=V\"ac\037\022\346\226!af\023\"_\254S\242\315\274V\005\001\274i\207\034\235\237\010P\206\332or\024 \312R\370u\236\"\2442\2755,~\014V=\"\334r\217\007\267\364hp\213\215\005\267\314Hpk\344g\371k\260\201_\241#/\303\007\020\205\020\274\006#\004\024J}\005\016\367\313\013~\274\020\235\255\033N$\370\201\r9\356X\"\315\r\326d\272#<$\373\220\243/\022\362\207\036\364\205\267\020v\224_AL\nOaL\224O\201L\244\267P\0362\232e\356\311R\\|\344\205\370\024Z\302=9\031\260_~2\326?W\277B\312\010o\001}\222\352D\021\361c(\326\023\210\t\367\324aBO\032&\330ta\302L\024\304]L\3125\030EH!\325\001\206W\300\024j\0210\330EPe $\006^\260DNh6i|:C\025\246,y\320d\252\240\224\255\n\352""\214\025\300d-n\1772>+;\014\263\354T\320\316\016\241,;\014Z\331!\200gg\345\300\321\373\340\346\210m\254\014%\261\217\t\334I&p\047\275\002w\222\t\334IK\340Nr\201\253\256\246b^\226\003\001t.,\314s\"\260\316\215\302,G\202\230\\\023\211\260rY~\030\322\231\251\000\317\ta:\033\014\260<0h2H\305\310a\350S1\203=\025\363 O\305\014\356T\214\243N\305\030f\331\220\344\005M\314\313\362!\200\316\213\205y~\004\326yR\230\345K\020\2267\317\205e\340\305\315\320Z\030\0312\206\313\240\362`2\2108\036\203\206n\354b^\203W\001\024v\036fy(\260\312I\205M~\n\242s\225-\2267V\326N\275M\224\265N\253a\3626I7\2041\257A\256\000*\007\036f\331(\260\312K\205M\206\n\302sU\354\013\273\331\027v\261/\354\317\276\260\213}a\017\373\302n\366\211\363\377\352\2422\346eyG\354F\314\303<\357\210\335\210U\230\345\035q5bqc\231\3660\n\274=\211\301\014\035\315\372\023\2131\324\370\364*\006\264ir\345kg\351\233\233\235\221;\017\216^\\\315\305\274C\314\3543\304\370>C\214\3553\304D\243\217\261F\0373\215>\346i\3641\323\350c\274\321\307X\243\217\245\242\362\227\2414T\246\310\256dK\333\022d\355Z\207s\245\314R\246\340\023\2037\016K\3604\275\002\037\023\217\300#ly\243\264\220\337\302\202$?\027?\272\250\340\245\"\222\317\024\r\000T$\360\351\242\200_\025A\336Y(\357|\025\216\301\0324\002T\373\031\346\240\021\240\302o\260\007\231\000\345\227!\262\273\020\275W!\262\233\020\255\213\020\371=\210Ii\340\222\344\026.If\342\222\364\332\270$\231\221K\322\262rIr3\027\234\257\214\205\264\307`\227A\205\337\204X\016\022\250\362\220!\223\213\014\233|\302\262\010\350\262\\\302\254\020:\300\363\010\263b\210\000\313!l\025D,\366\243\303\321\3172\354\263^\344\263\014\367\254\205\332,\344$\023\243\362\327\340Mh!\252\274""\014kB\213O\364\032\234\211Q\2062,\177\031\312\260A\031\366\240\014\033\224a\216\322H\305\344\355\230ZST^\203\\\001T\016<\314\262Q`\225\227\n\233\014\025D\345:=\221\224F=\322\243s\244 \345\307B&7\002R^\024\3229QX\345\223\022\232Z\212iP)\243A\245<\032T\312hP)\256A\245\230\006\225\022#d\212\r\217)36\246<\003c\312\214\212)>$\246\330x\230\212\306\223b]Sz\014b\031T\270M\210\241\227@\225\203\014\231LdX\3473#\216\030\240c\362\2301G\n\264\237\341\2371G\010\204\337\340\236aG\006R3\242\227\242\3030\233>\252\375\034\263\351\241\302\3170\263\3769#n}\236aW\010\317\230;\204g<\227\010\317\230[\204g\3705\3023\354\036\341\231\341\t\325\344\225\327 W\000\225\003\017\263l\024X\345\245\302&C\005\321\271\206\047&\342\3125\371\211\220\312L\007XN\002\246\262\021\001\223\207\010\352\014D\025\360\032`\025\340\345?c\277\305}\316\374;\023r\000\021\256F+C\204\330\004\014j\t#\3442\240\321\313\240\314\000\221\233\047\352\222\315^\253\243\261F\016\014\224\226\007\334\251q\304\0202^\245\r7E\014\262?\256\237\372a^W:\220\344\tu\357\276\361\271\023\205\223\372\242\375d\223+\367\265\264U\002\221\222\333A\373\033)\322H\260\311\004V\300N\r\242*\245\337PH5yM\001\204OJ?$\220j\362\244\200\024\036$B()\017\270R\2038\020\"\201R\3164y\273\024;\267\350\340*]\223\272\201\016\213}VF\031\237+\021u2\335\331(\271\035t}\203\235F\366\034J\315\374\256\244\223AC^3BE\203\226\255ZFs\277\235t.\030\217\007o\343h\030J\3507\372\\/\016r\270\337\213\203,\336\347\305A\026\333\354\201A\226D<0\350\016C?M3\030~\343\n\342\263\203\322\340K\224\047A\005\222 b<\276/\231\230\243G9\023s\261`d$\010a\020&\243\361\340dH\001(],:\021\214[\321\022@\321bE&\2750\221I\0273V\340\352\334\\\006\346\006\205\2719\017\370\021>\034\345\206\322\273\016\363\333\245e,\214;\272\230)\301$\242d\047\230)dK\031\235\265\t\331y\333p\235\271\005\366\311\335\212\367f?\027\333~\004\177\370\210\320\\$\363\250\024\317,\212\317\320\2208\031\216F\346\"\300\254\004&\024\257X\202\223\313\345\005\2129\365\262\245\273y5iUs\363+\351b\321<\301\245^\311\340\317c\200\037\tA7?""\217\216*\277*\260\310\005]l\231\342\331G\377F\312\263YR\205\236S\257}\035\320t\251\305\316\255\246\263\202=\253\231RZ\022\216\201\374\302\306\212\300\263Z\310#m\342\3039j\302\350f\266\320Y+d\326\322\005\001Y\003\366\n~\0247Ve\250\220)n\254\224\244\237\350Boi{\215|\033\271\265\354\374C\314\307j\225\3368\326nD\344\246\230\236b\256\370 \252\242I\2754\342m\035\n\220y$\003k\202\323\370\204\245\372\266\310X\347\323v\304\353\240ss\320\23373\205bV\002K\320{\321\325O\205\312:\305ZZ\220\353\234E!\256\240\206\213s\331\"\264\202B~\003\246\352\2319|\336sc\r\321\311\026T\334\230\237\317\000\347\001 \252}\003&\340s\331\005w\330\225\240\0005\017\005C\340\222\261ggAafNacwN\000\257!;E\370\032\271\2538\257\225;\305@\351\330\302\203\002n\320J\302\334\232XJ@pV\033\264b\250 W\207\241c\341R\206\342\033V\201X\323\300$XM\024\355\001\273\363,\372\347Y\244\365\013\340\367J\276\230I\317-g\227\226\323P\r[\3519\034U\322\224\266\210\004\245W\344\3575\351\014B\235\347W6V3i\250\243\225L!\215]\237\373\261@\240\315-\271aE|5\207\003\335\211V\323\217|@\236\317\010\260\276\201\225\235^\003r\027\322\205%|\275U>\325\232.\316g\263\351\"v\253tq;7\237\315_\325-\255\230.\t\201\222.\025d\t\323\233K\322\363\340Af)\273\360\350A\266\364`\033\032\362uh\341\363\304\205y)Z$\317\213%\350\206\363+\330jAN\224\n\351\371\014\236\207\230G\375U0s>\277\262\222\021\362\2608\217|\312a_\207\004\302_Di\267\260\220\301\376\241\352V W\035d!S\234/d\327\360\363\205lqm%\275-\272$v\031\370\003\256\347J\202\t\231\325\265\3226\224\034H\206\337\342V\266\264\234\311A4\260\0100\315C\033Z\004\026,\2004C>H\277,\r\372\0372\377Jv5[B\217IJ\221\331\202\366\202\274\0252W\n^\352\256\330\273E\357C\336\013\017\276\331+<\310\037\341\311?\370-#S\231\247\202u\010K\246\002E\367\273\301\256\347\202\355W\202\227\260\367\212\237\342\262\250\226\345\314\312\0326\342e\371\"\353J&\267,v)\263YdQvu\r\332\314\\\246P\310\027\240)\346\026\240\r\000\251<;\223\025\313\264\331`\221\225\213\206 \303D=\340xS|\230\331\206\177\305\207[\310\215\225\314b\351A\272\000nn""\251\264,F\026\365\2041t2\370\227)HvC\003\317\256n\254\202#9\275\232Y\315\257B\2662\220-BVK\344\314!z9\020\255\026\227V\241\265d\327V\262\231B\016I\022\215\244\264\261\006\031\3028\375`!\263)~\026\244\177c-\227\307v_Diaq\031\332\214\014\013\237\036LeH\276\234\014\336\265mY\217\371\305E\220(\371\\!\203b?\203\242\002\377p\rU\010.\256\220\346Qlj\204\256a\272hr\312\313\307\014\2611A\206\360/]\310C\343\007\351\244\374\033k\340{\220I\027\326\220o\302\217]\025=\033++\n\270\000\177\213\351\325\264p\212\024\204\246\016\356rZ\364L\341\303F\"9\274\260\030\266\250E\300\006\010c\225\200\030T\204\217\026\310E\336\025W\263\362W\363\245\270\001\037\301\347\362\253-h\240TE\302/kIE\353\014\326\340/]\024\362@\374\210\362\030\361 |E\250\330LI\216\031\360\331<\260(\273\222\221=\213\206\267\265\374\nt\322\265\374\232\350\342\342\347\232\370\035\344}\336\323\377\251\r\0138\374\346\261\000\333\005|\251\020\2734rB\214\227b\264\004\345j\005\306\010\251\373\025AE)\340\236\0046y\034\256QB--\013QQ\310\317\017J\262\300w]\373\310\003\203x\021t\243\3254\01609E\177feQ\222\345y\310\334\375~\271\353\331r\373\265r\010\251\361G*\024X\014YARJI?e\3720\2736\047\306\006Q\2674\302H?\245\300\272f\360\207\014.F\033\364\230h\212\304Ar\005\344\312\n\370\n%\311a\324:\361\047;\017\204.c\"\030;7\325\007\205\353b\250.\212\331pq[j9%h\304\017\256\242\222\003ni\031\242\026\260@\331\325L\242\004\215\005=\362{\343\0334\336\353\306\373y)?\047D\037\322)tt\322:7\304r\223\374\025#\236h\225\033\305\214V\224\005\361\262\004\244\036o\3121Y*N0B\344\360\01757\340\203\314\356\177\307\366\002\307\367_y\263\274\276w\342\344\323\033O\327\367z_\337;\375~%W\013""\356\365\274W\231r\336\377\254\266\276\327\363~%\215)\377\365\277\215\247\303\220\346\304\351\362\361\362\324^\317\251\275\323\347\234s\237\326\0061u_\365dmp\357\304\277!>p\3229\371n%X\231\222\037m\227\273\313\024\363\312\353\345\017\341\313\023\347\312\351\377_\375\373\002\020\350qz>\254~]\033\256=\252\003C^}z\341\351z\371\330\336\2117\313\217\253\275\310\026\344\332h\275\037\275\227k\301Z\252>\370\277c\373\001\254\010Q\033\247^\333\353y\333y\373j-\r\374\017\234-O9\347\256\324\2460\311\177*\353N\337\265\372\311\235o\033\017\235\251\370^\340\215\362\367\325\023\265c\265^\344\365\223\362\227\225\376\275\023Pk\316\265\237\032\257\355\002%\047\237\0166\371\356\207\352\371Zo\255\237}w\255~\314\031\034j\\ubS\352\303W\2608H\316\233\316\233@\264\0063*!\267\372\251\235\273\273\047\235D\222\210\005\302]\211\276\331\351\337\031\244\330\257w\200\007\373\037~\364\327\307\3778\336\363\364\333r\032\222\005N=M\226\317\225\327+\242\315l=\235/\367B\233q\376\335W=V}\243\032\334{\345\325\275\023\275\345\367*\351\312\243\352\343\372\231\372\024~1]\276Xy\275\362e\365\003H\0208S\206\237\343\222\326\362V%S\375\261\376A=\270w\342u\347\365\017\253\203\325qh\245\030\367V\345\\\245P=S\275]{\270sf\047\325\030l\204w\357;w\356:w\227\234\245egy\353\257\177\374\343\321\261\341.p\206\273~F\347\347\256\030:\261\256)t\246\272\342]\373\210\350<\222\n\345)g+\353\212-\037~\2733\370\327\245\216\227j\262\321\333j\271\346\235\371\005ga\315Y[\007\332\013\307\202X\204`\327\004:\023]\tt\022]\267\321\271\335u\007\235;]w\377/\025\017\312\226q2\353\316z\001h/\036\033\302\"\014uM\2423\331\225D\047i\312\005\316\335\256{\315\213\367\321\205\316\266H\347\303\317\353\327!\235\267loV\273\252\037U\263\265\337w>\332Yl\004\033\267wW\235\273\367\234{\320\036\263N\366\021\020\276}l\004\351\037\351\272\205\316-\323\026\301\211CE\332\205\372\255zL\027\352\273\235`g\353L\026\353~\243\277\325\202\275x\233<\332\345\373\315\371\355\241\363p\313\331\222\0257\216e\030W\005\243\022\375\212\316\257]it\322]\017\016*\237\363]\322IN""\377\365\311\313(\343\225\335\365VK\tm\023\373\235S\370\257\363\337?\241\024?uE\2610QUB*\332\022:K]\313\350,we\017(\350\367;S/\243\"\177i\014\266T\304\234s\017jq\305Yy\344<\332\006\342\037\037\013c\031\302J\254\220<\3215\010\316\203\256\371\346\345\273\360q\247\245\313\215\372P=\355S\266\363\325\327\2537\252\3330\370\337\330\331lL5\262\273\1778\367\356;\367A\264@S\225e\013!\375!\325\t\265X\021M6\351*\324\303j\257.\324\367\316\367\323\316t\352\257\353\255\026m\304\271\004\343\377\316\207;I\047\030w\342\t\047\221rR3\317]\336\325\306\367\250\255\360B\2378\357\234\037\000\315\346R\035z,h\250\027\253\353\265\023\365c\0071\003\205\254\252\345Q,\364h\327\030:c])tR\252\226\251\025\347\320\311u\345\321\311w=F\347qW\250\0339\330\035G\047\336=\213\316l\367mtnw/\240\263\320\235G\047\337\375\030\235\307\335?\005\260\327\004\202\350\004\003C\001_&\177\343\234\275PE\315\357\302\017;\351\277.\037\232\313S\317\315\331\025\227\300k\245]=QZT\311)m@\2616U\273\"\rj\006\235\231\256\373\350\334\357\372\005\235_@&\200\223\355*\241S\352\372\035\235\337\273\202\310\243`\367\020:C\335\303\335\376\314)#g>\276\330\351\216\365E=^\367\223\213o\301\007#\265W\352\357\354\2144\376\331H7\266\235\030t\253_\234_\344\010\360\030K\242\332\023\351$\272K\t\0312\355\352Y+\325~\325\263>\376\301\371\001{\006\312\375\327\236\336\255\034\253\364\"\245\251\362\315Jo\245\277\225\262\235\253\257\267M\356\177\314\312\007\205+:\305\022\024`C\215\335\244w\221Rr\017\235{ \013\301\231W\325\373\033:\277u=l. /^\352t=\336\254?\3309\346S\316\267\253\327\253\311\332[\365Ow\222\215s\215\365\335W\234)\250\3049gN\016\000\277\003\345O\216\221@\210\240\0231\025\010\3164H\t\273T\253\325A\273T\235\254\301g\213\375\233\355)\025\223\373P\252O^\222,\242J\353uz?\250\366W\277\302U\006\346?|\005\372v\3049t\346T#]Cg\255k\023\235\315\256-t\266\272\036\371\327\361\327\345 \362\343\307\235\365N+/\310\210S\215\251\226\333\357\242\263\010\302XwU\232?\220\222F\343\032uU-\220\2337\343\037\235\037A\034\255:\253\271\277n\374\rc\275,\374\235\335""\307\316\355;{\047\336q\336\301e\223Y\234L\275\353\274{\2456U[\306>\300\340\007q\006\006(\320[\177w~\177\002\305\376C\351u4\331\247\231\307\002:\013jT\2421\236\006\247Q\034\225F\273\247\320\231\352~\200\316\203\356et\226\273\263\350d\273K\350\224\272\377D\347\317\356(\216\361\321\3004:\323\201\024:\251\300L\300\217\333\316\311\367\235\367\257\343\322\320\376\245\201N\013\304/\353\205\035\277\271\366;\325\241\352Bm\240\376\355\316B\343\343\335c\273o9q\350L\277:\277Bg\202& \331F\363\032jPZf\210v5\343jI9\314_\266$(\325\325\277\241\001y\213z\260\236\350\303\202\264\223~\340<\3109\271\274\223\377/\326\3531j24\356\221v3\213\316\254\032\376HW\364Uk&\321\231T\272\342<:\363\252\001\375\206\316o\335\017\273}\031\251\325\302K\320/g\234\231\331NO\017\221}\3576\356C\035\264\326\\\240\227\201\354}~\245z\355\200\006\364\223\363\023\264\004@/+\301,\025|\3657\265\253\367\032\253N\002z\007v\r\347\311\037/\326\312\240\243A/\223l\263\371\225A\047\323\265\210\316bW\001\235BW\021\235b\227\335\242\222\350$\273\357\240s\247\373.:w\273\027\321Y\354^Gg\275\373\277\350\374\267{\004e\321H \204N(\020C\047\026\270\213\316\335\300\":\213\201\025tV\002\253\350\254\006r\201\203\033\344\300\047\317\026ZO\377[\231\252\314\2036\361<\014\377j\247k\007Xy\266\374\213\325\006\337\255\306\253\245\332\327\365[;\245\306\315\335\336\335\001Q#\320eq\310rr\177`iU3\244\331\210\226U\324m\355\202\345\253@\315\271\362b\345\347jZ\020\332\363t\314y\003\252u\257\347\235\312`e\324\250\352\255\024\371\305z\037\225\331\323\361Z*4\ro\255\027\232J\025t\202w\235\273\033\316\306\346_\327^\222\256\207\345\274\322\370\323Ie\234\314\342\336\2117\2347>\252\006\253\263\265)\313\177P\331\265h&\215\226F\047\275\370+\324\235\207\350\371\364\273\362:\260\363\332`\247[\312\217;\005\277\2550\347\255\313\265\241\332B}`\347\333\306\302\356\307Nl\312\231\272\343\3349\374\312\333\234\233;0yR\215\345\306\027\235.\335p\343\272\337l\326y\353Z\275\253\376Q=\273\363\373\356G\273\213Nr\332\231\226\332\344\213\255\305;\347\256\325uW\220\213\326\\\220\275\372\364S\220\341i\244\373\276\252\351VJ:\273s\247Q\334\355o\357\316\346]g\026\206^)\266Q\215\026\373H\266\016m\257_\330\223\215V\272\002\337\370Dn\210\231\375\047/\237!\357\355\246_\230%\366\334SW\277`\t\251\311\177\240\363\207\032\344\177F\347\347\356[\350\334\352\236\350n\312\231\037~\264zA\247yr\230\035\342\207\316\355{\316=\340\006\010N\23408\333r\275\231\332\007\315\316\251\337\023Oh-V\317\261\3042\327z\363%Y\271\002}\351\245s\240\325\315V7\017|\346\232/\334O8;n;\267\357\374\r\354\230k\004\237\207\035r\331\263s\354\370)hu\216\236\247\267\344\000\361\034\274\330\330\r\266\273s\300\230!\255C@\357mi\251\217f\005\353\350\254\233\351\365A\305?\274\274<`\202\324z\233\240\375\2507\2357A\235\251\235\257C\006g\235\263\240\246W\037\325\326\233\357M\201\374<4S|\227\302\355\305\206\031tf\272\357\243s\277\373\027t~\351\236\353\366\335\331\372\261\202\013\233?\315:\263\267_r?B\236\375\341\333\217Z\340\224\350H6\233\354y4M,\250\355\276\372\305\374/\231\225$Ghd\247\026\376+:""\277\252\026NM\373\017t\376Pv7\177\372s[*\320w\344i6\232\331\320\"\355B\227e\206q\004*\001\315\306\361$\211m\234\333\241\272\240J %t\030\2718\334M\253N\272\005\013{L\233\373d\356D\225\360\010\235G\335\303(C\206\003\021t\"J\276\320\372Q\032\235t\340A\300\267\202\244\271\357\035iRK\013V$\001\315$\352\346Q\034\"\324VB\324I\000\347QM\324\231\236\257\3656\365\267\245\016m\273\033\032\034H\n\331\047e\364\374R\330\252m\240\263\241N\312\220\255\332\317\350\374\034\270\205\316-eLK\265Fc\304Ct\036*\313\265-t\266\002C8F\014\251\021c\002\235\211\343\223\350L\036\217\034\367\255\355/\201\241xV\371\356\275#0l\034j\251\010tJiP\261\352\254>r\036I-\233*\205,\003H\247\264M\243\3649=\261QH\013\331\324\333h\030\267{[\274\271\316}\357\376\021\340\332!\316\356\270V\375\267\235m\271\302D\374\242\2154\352\364\266\345\274}\310\205VUH:\321r\212\346\2278\037\226h\276\033po\023\233\3531\262\315\"]\226\226f@\211\275~t\006\001\344\355\237\215\2743\r<\303s\006\317\260\330{Q\226\223\325\ni\232\264?I\334\265M]i\267\200L\362m\335\222\304\007\231\272N\2413\025\270\207\316\275\300\022:Kj\013a\003\235\215\300&:\233 E|kL\232\373\335\377\345(iH4\367<\343\234\271\240\226\022=\373\203\317\336\224y\354<\226SQ{\007\231\014\212lK\"}\272\213\013x2\245lAE\"9O\273;O\320y\002\n\223\357LV\032_\335\227\235\304\334\314\360\311\337.i\220\353\2575rNr\372\271\366\300\016f7\361\231l\335\354\351\325\030\362kL\315li;\226\366\016\311d\225N\236\256\241\263\006:Q\3235\202\373\362\376\013s\000\370\352\321j\326\377F\353\340\231g\010\232\027e6\355\302\322\\\326^\312\263M\207H\354\220\326\262\212\316jw\021\235\242\353\010\020\211\235\226\026\366\250>\244h\371e\356\010\214\242\317\277K)\027\020h5\313\266M\242\021N\033#\n\246\223\010\241\206n\037\270\"\203\003\332\230\320\002\245\351f\346\334\257G\200u\317\2779!\025jZ{\261\367t\250\177\022\317h\241\224xf\217\217$\034|\205p\252\273\351\036\006\260\356\352\321\234\305\264\177]\277\235|\3665\206\261\317\004\322Y\033\232\277L\2403\021\230Ag\006f\235(\265\003\005t\n\201G\350<\nl\243""\263\035x\374\254\345\377\264\260\001\274\374B\325V{\255\236\256\027\201\301m\250)m\310\317\217@\341\275S\275\325K\265\376\3466\375 >`\356\"o\247\000\265Rj\2044w\241\215\002Z\032\241\215\002\332!\260O\220\331fl$\257S\350\244\374\317s\220\022B\3534\276\2654\031\360=8\340\234|\247\202\235f\353\3213\345\215\313\236\340lu\tF\255\347\021=\300\036\340\r\326\370\337\267\342H&@$\300\311b\214VC\354s\217T\013\366v\215}\356\221jA\253(b\331\246\320|Q\362\311\037\026\263O>\273\315\237\253n\240}{\013\347\320\220\327\245\335\257\234\204\034\314\344ya\274\320\247\305V\037\364\236O\363o\3470\363\221wE\224\234\222TH\210\321\266\261\031\355\213\021\243}/V \033\007\373\200\251\275\313A\322\210\326V\210\321\233\350l\232\365\261\246\047c\376\n\310\213\036\216$\323\177\330y\3208\346a\272\363\326\247\265\353\265d\375\255\235O\033\311\335s\273\353N\354\266s\033x\016\270\345i(\353j-\373\202\000Z\036\261\r\250i\025\322\336\354\240\025a\232\356\220\256\242\347\371BW!m\234\3328\r\004t\017\214\236\365\270Xo\256\333\003\326\213\256w$Y\377S\243\253\321\357\303\372+\265x\255T\377z\347\026`\276\351L\201\022\000\223}P\013\241\275\343!\037g\335\272\036\205\332;\315\364I\017\267MQ}\215\327i\251\305\236\002\331Z\016Y\256\320F\023\265w=\307\244Ey\027\357\257\324\246\014\357\305\212\331\221\344}\260\361:\336f\345\341\375\325\332\203z\240\036\336\271\273\033\330\035\025\332\027\010u\320w@\320\310;\273\254\0331|o9\244ew\222\346\366\305\030d\346J\263P[\250k\325R\014\264\366\304\250\225\235\020qy\244\341\275X\003:\222\274\037j|\320\010\372\360\376\263Z\0010\337\336y\270{f7\345$\222N\022\220\003f\030M\0019\214\331\326\355\t\276\327\371\331Fl\276v\3514\256j\303\0071)%\246\223\016Jr>\207NN\355|h\246\213I\351On}\006\357{\325\274\177\314\226\001.\035I\275\346E\214\272\017^k\264\257\351\263\r\n\250\027\320\272\200\275 @\274\047\325\206\326!\013\350\024\272\267\321\3316\274\247\353\277\232-\004\377\365\317\177\034\377\267\363\332\373\300\251ud\345\243\247\305r?]\261\373\312Sh\314\352jVP\257q\372\243{\315\t\337\357^""\221_\005\304E\274\256\353[\003\365 \277\271\0250\274\372\016^\010{\032/\255=]\376\027\324\362?++\362\256\330\315\2473\345P\345L\005\365I\304\013\250\366\361\007\343\326EM_\255-\324\373\353_\302\240;\263\033\334\267!S/\214\3753\030U\006\353c;\3376\226v\247\366m\010\322\336\363\217\343\247\221E\200\275\374\0264F<\311)\002r_b/p\342\351\277\236\256;\247\007\353\257\327\007\367\003\257\227\007*\203\225 \201\201\"\360\274\006\214\005\302N\212\010q3\362\343Jo\345\"\010\220\036l\203x(\264<\350\234\371\250:Q?\266\017\255\364\266\354\027\202B\021W\026\370^\301\226\257\323\216\325n\326{q\006\324[~\023:\313{\320CR@vP\360\001(\375\030\372G/\346\366E\371\025a\260\325s\272\334U\276P.V.T\326!\356\214\230\307~Y\377\000J:\2703\332\350o\000\365\257=\315\312\036\010\035\340rm\244\376\312N\257\363\315\304\356\360\356\272U\240W\221\225\270\235\365a\371N\245\204\247Y\317\342}\305\222\326p%^Y\307b\314\224\203\345d\345\254l728\245\320t\227\257\227\247\201\233\203\330\rG*\307A\240\246\365\025l\310\363\313\316\247\337\357L\355\244\315\215\301x\312W\354\003C\241\365\341\333}\350\300P`,\341G\200\001\230\201ut\003rU_\336\3114\006\033\252\223\003\244\t\t?W\026\245\244\305\234\002\316\273\330q?\336\351\332\271\010\263\226)^v]U\247\313\201r\320\252\322\267\000%\220&Iz\365MC\010^z=&\233<\244\021\222\007\305\222\220}=x\251x\n\370\035\202Z8\2153\323c0\216\257\327\216\327f\352A \027/&\177\317yO\336\210-\357&\277^\327\222\322\316\007\327\177P\034\312\\\360\324/\346\202-\336\316\345\\y\tZ\023\024\270:]\273\210\315T\345\202\"\361\030\345\002\325\245r9\375\217""\343\047\376\267\361t\350iZ]t\376t\360iP\"\235\253\216\326\372\235O\277\303\216\271\327\203\265u]\364\214\243\270\036P\375\261\336\337~\023<\373\204\2711ZA\325\275u\343\260{\350\334S\363%Z\032Xhj\236wD\327[n\324\203\355\337\250\247\331\220\357\215\026\366\244H\037\335\024\n\312\0042qBi&-\231\363\233M\374#a.7\330\376\245+\342\251m\350E\263\0342\250%.\352+H\311\342\250\331\202\324\021\340\324M_\373\220\027\335\r\243\271\211\275\341K=\232\014D\310\364\311^\001\031k\272\313x$ve\216uhO\206\326\352\354-\003\373\252`Z\244\263\027-\302M7c\232\235\246\361\310\266\347`\027v\227\216\263\353\2405\315v\331\372?\233]\035;|\364|\254y\301\233\323\233\224\367\310,\217|\211VW\356Ep\377\355b\253\3018O\016\020E$\247\017\232\225\3232\211\275iO\033\307\244c\314\2413\34725\\j\272\215|4\371\3735\356\307\273\371\353s\367\027\310y\357f\332A\362\213\344<-x\333\366\200\366\235\203\366\251A\332d 5#\215N\332e\210\225\355nz\263\330Q\335\313\351\377\333vr\310\322\331\030\376\341\220A\266\227\264\274\344{\363\354o\007l\341\034I&\177\273\343]\302\366\273 \014\304\004h,\362\036(y\305\025Y\225\034\2645L\3030\315Cl35\373@\243\275sF\326\232d\225\334\312\375\177\374\252\265\243\311\350\357v\374\326\253\007j\257\327n\324\266wN6n\340\231\365\335\2543\003J\001(\206\362\256_igG\002\203&$\366\221k:_LB\231\346%\266\031\217}D\315\326\250i\243\214,\251h^\242YLg\204\\\234\036\250\365\036iN\177\217\327\337y8\375I\355\003\261D\367Nc\004/G\330\335vfA4\303\320\047o\353\264^\236\242\341\317>ij\337\233K\303\237m\215b_\324b\037\223\240\275H\262\221\365=\206\265\352\346\364\047\265\376#\315\351\037v\322\177\363\266/M\201\354\353Ci\007\222V3H\305\320<\026\233a\271\003\366{\217$\253\177\334Y\367a\265\357U\204 \247A\343\220\027sZ\357\313\220\306a_\316j_\230\355{\03541\231v{\355y&iudrE\032\207f\262\330\374\312w7\275\350\360\250n\252\037\373\273\267\324i\256\252\047\363b\256J;\214\264\210D\212\207f2\331\0307\337K?\242\233\350\275\177\367\026\372A\206\3344[i\305\220\333\332;?\242\233\346\375\177\367\226\371A\246ht*\241\025S4k""\257\374H\362z\330\3274\304\367rU\020\326\240\203\340\021\036\247d]\032\356\373\036\230}\341\005\351\037\366\324\320^\201\266\255\024H\247\246\031\242}L\223v\312\213\335M\257n}a^\037\274\346\363\274\314>\304\"\265k\305\377\331[*\304o\373^S[\355\263e\266}\335\010\351{\304o\275\263\322\322:\366\321a\360a\226\331\370m\032\2629\037t\376\200\330\353\273\352fK\020\373B?2\256\244\346L\242C\257&\321\272GK\213v\355\177$\241\345\251\336\2543+-b\240\347K)\353\253\016G\273Z\233\201u\342A\330\326\366*\247vW\304+\276\240\013m8\033~;?\241\256\226v\021;\362\354dk\302!\215\017\350\335\023\357Nn:\233~[\201\243]-u\333\216<.\331\332\226&L\266\356\211\327%\345\026\234\237\211\325XWK\273\215\035y\310o\2525[1\230\306\310\227\374\244\214\366[\222\036o\372v_\347\237\261kq\233/.\336\341\231s\346\320\334ML\303|\345`\270\253\245\215\272\216<\365\320\337\3323\017)\047%7v\265D\367]\212\232\354jm\355\263#\257:\014\266\366\246\303\2143#\207\177\275\032\357\273\326\023\351jmu\261\003E\021\203\207\367Z\376g\214\036\262\217<\317\350\361Ro\033\035|\236\273F\361\2362u\337\244m\215\341\273\025\265\334\\J\277\334\333E\017\241\225r{\200\027{N\305U\334\227x\347\332!j\367\377\207\342>kHnvu\352\013\266f6\\\277\2547@\277t]\341\321\322Cj\t\047!\037-D\013\027\2610\346\273\355y\320\013\240Z\375\367\177\363LX\370\275,\036\310\r_s\215\003?U\331t\367\027\246\367\322|O\333b\370\nh{U\220Jm\257oo7y\025\352\373\n\232\277^o\323\234\321\367\330\360\035\347\216\334\365\303\276\332\306I\245\234[\360[2\270\237\3370\340\271=\303\327V\322e}&\333\234\375B2\251+\264\221\343\373l\215\275sf/|\323\242\025m\344\370\332J\322b,\2355\240;O\306\321\031\017\204\321\t\007\222\350$\325\265\351t\347\211~\336\017?WG\216G\360v\244\221\343\021t\"\307\223\350$\217O\2433}<\345{\327\336\323\357\312O\252\337\326\322\377\023f\362\301\275\2367\360\271c\257\363%\032\270k\347\253\312\240\027\370\005\232\005\353\017\276\255\244\321\371\2462\305>\2008\314HX\301\357\365\234\332\273q\263\276\260\323\217\026\337\377\223\346\332\344\2103\006\004+!b\345E""\013\357\240\014l\224\203\345\204\212\331(\017\225\027*\3752\260\005\315\271T\371\252:(\202\316\277/\010\333\364\217\353\307\352\"w\262\200\306G\242\240\310\0214\327\307\047\002\277\250\366\324\202\265\273;\307\240\337\366\374[\234 \270\n*\334\3513\345\361Jp\357\314ei\n\275\177\372R\355_\302\334X\221\253\321\335p.\0165\372\377\372\347?^\301\363\014\047z\234\236w\341\303\236\263\345\351\312\025\220}\307\020\353\237\225\245\352t\255\177\357\314\373\242?\254\243\351\364\271\312\026Z\271B\033\356\355\253\376K\3644;z\033\224Ra\357\214\246\313\2023H\370$Z\376\343\001\207\021\347<\231YS,\222\360F\371#\230\341`7:!\004\237\030\005D%\235\250\036\257NI\223\347o\2449\365\336\3517\201_xv\242\247\267|^\232\205W6\253S\373\200\260\033\022\335\206\256\204T\235>[\236\205/~S\0148\345\234\002:\025\017\306+\267\240\224\047\245\275\370\311\2477\313o:\347q\376&\216`\234\202V\342\274\215\003 \006\367\211\246%h\034\047\361\330\310)jD\342p\307\336\351\336\2753}@\345]<\347RO\241\242N\274>/\352\233\232\361\377\324\010\212\265\372I\320\t\342e\340{\047\372\253\357\tn\234x\017\017\245|P\275,CoW.+A\374~%/o\037\370\353\325\177\274\362\t\336\237v\241\372K\375\253\235\301\035\240\014\373\307\211W\366\320\262\374\035\020D\027\234\2130S\330\271\325x\342$\222{=l\034\303\024o\013su\250\232K;\003\215\233\273\347v\013\316\324m\3476h*\250\243\370<\326a\337\355m[[\333O\027\353\025\331\275\323\330}>\207\272>\203\307,f\260y\210\363\026{g`8\021&\360\357\312c/_\225?\007\351\335\363\237\312\272\323\367\r\020\364\035\356X\337\021\327\367\342\014\006\271\370\010z\373u\224\221\300\262O/\037\232Y\027\260=\365U_\221\247D\274\314\252\376YO\303\320\357\303&\005\r\351\304\307\325<\314\025\360p\234\017G\276\333\t\302\264\314\207#\20380\001\047\277\206Q\346c\047\006s\022\240\014f\322r_Z\033p\333VC\366\205(z6\375|,\371\026\362\236\020\026L0\215\207&\202\013n/\223\047\270\036\373\002,!I\322q\226\354\203\020\030\255}R\027\363\216P\371,\350\354\217QEUou\2778\307.\343\355\306\027q\010~\264\263\336\360\225\275\342\360\245_3\302\223\250x\0204\014c\363Mg\n\346\265@\371\222\263$\267\334\255\033\377m\243({\005J\257\310<\037\337\276\203\374\357\t\003-PY\240o\311W\266_\2301Wq\212<\340\014|\273\363\025\0362\365c\314\217\3101?\306\334\300\323\235\365\345\235,\014I)\241M\201\362\220u\262\342\331qfyJ[y\266e\215\275e\253\255\250\237\2179?\000\rO\204\225\017\214\326\300\031<\222\320\006\346\\\307\373\311\2578W\206\033_\355\016\356\3722gX\034\315\365a\216\320mv.5\006\260\315\314\210aB\352tZ\241\263\267\244h\214\242\276f[\342j\333\305\347\343\316\020\020\361\2353#G)\250\037\\\220i\003wn\342\206\334\2403x\013\027p\222Nr\332\217?c\215\365]\337\306#$\324\316r#\273\273\351LC\207\202\246#G+=T\3316\341\244\360\372>\206\252\227\372\236\217?\243@\304\023\347.H\"\220\204PCb\251\352\005\371\323s\010\355\206\255Pq\377\013h:\276\272\237mel\237\2204O\000\266S\031\332\256\364T\207\252\313\265l\375I\343zcv\3679\031\331\272\214:_yM1\322x_HZ\221V`/\256\223\201\tY\226\3202\237}0P\233M\265O""\240\355\303\334\341f\355-\\\367\264FI\365\270\371\263\242M}\254\354\\n<\330=\341\304D\205\0103\354NL\376\2374\006\0175\375\327\317\237\333\353\256\266\365\253oMd;\270\022 \314y;\262\026\320\343?r4]\rx\371\374iea\340y\370\323\232h\374\256\261~\270\251\037\356\034\360\323\001dg`\233>\332\347\266\364\212}\347f\201\302n\366(\364\257\227\257\227\265\322\277\206\234!P\036@\047\221\232\264~\r\352p<{\255\325\271\363\304n\217\342\007\256$Y\014\354a\227\321\366\020\047\307aV\362\314\031\266\365\020\232\275\240k\333\326\332V\210t\264\225\014\363\351\020\004\355\005\321\021\037\262\031\247\033\300\354\213M\047\321\231T\327\317\322\023(\364|\306::\353\201\":\305@)\320\326)\275\032G~\003\0216\324Xv\"P\261\2779\277\221\010\247J\205*OuLp\302\014r\352P\262S.*\333\r\337>\311Bk!\276\257\217\3523p\235\023\243\3001\220cx\014\365\320\r\277Ui\272-\246\335w`^m\356Y\266\232<\203?S\326J\206\022\047mK.\322\231h\026l\337rB\206\374\244,\321\0317\273\037\330\0076\355W\006\350\n<\373\035\010\375\242tG\224\327\374\316\275\335\327q\212#\027\\\241\267\343\014\216\252\014&.\367\016]_\255-\214\277\213\323\375\370a\344S\323Usk\003\341yw\237\3500\021\035\025\267\367\257\351\344\047\355_\333ov\320\376\265~\371\247\255+\362\317\226D#x\305\340\221P\337\364:\275m\303b\3170\354\323\212\372pW\347\344\316\2103\002Q\233\316\346\326\241\347e\255-C\336\333}\337\231\021\253U=\354y1\356\177\326\332\244xP\315^a\263/\264\261\317\340\333\3631\373\275<:\032N\307*\354\333e\351\374\n]\360\273\321\335\336%_\325R\037B\307\2167\036\355\342\036\366\247\241\306\324\241\033\347\025\264\241\272\204\2666\347\361f:?\266\303\214\016\352\335W9\304;\355\202Pa\267AB\214:q\320\274@/[v\226\345\243h\366\304\302\2663\"\365\231V\246\354\223C\3724\376\363\361\354{ gE\034\210\204\246(\227a\226\334\r\365\362\363\360\252\265\216|\252q\010]\002\304\251^t\261%*\215w\244@\333Ga\265MZ\307:\362\225\253\035R\230\203mP\221\237o\251\334>gI\013+\244+P\177\246\003<4\014\331o\270\220\312\260\331\375ru_\254\210\017\253\337##^\352N\371\211\277g\037\364""\300\255\362;5\024sW`\214\201\330\331C\363\245}\263\201G\366\256\2714 \260W\t\354\363\277\324 }_k\326\306\225\035\350\314\304\261C\013\273\236V[\321;.\255\245e\353\013n\234c\237\t\242mB\032\223\355\353Zh\234\240Eg\232\367\222*I\227\033\352\207\016:\251\031\356\242m\332U[\031\354\253\236\222w\215\276W\231\255\266\302\341\326\004\346\317\r\234JU~ \373\336\236\267\321v\220+:~B\022\030,/\023\201\326)/\023\241\326i[\371\332\307\322ije\253\353\276\314\2453\322\366\2336\264\266\240\217\357v@N.\326\306\352?\302\354\n\004\223l\355\277@5\\\033|\356Jh\273\235\025\264\030y\305\326C\347!\214Rr\210\262O\363\320\020E5`\337XF\242\200\316J\353K\265: \030R\265/\353\375/\314\2746\333\2274m\265\2660\265\337\333\264op\362]\020\030\351\356\200\tJ{8\330n{\024\240Q^m\003C\266\\\274&\341j\337\221`Ox\354\253\231\332\272\225w\260\311J\033x\330s\010C8\276P%.a\352\307^\177\200Q\034H\177y\317\030\264I\271WBs\031{\255\317\276:\326\276 \217\226h\211\215$M\351\3566\337+\305\364-Lm5\255\353\214\374|\355\020\r\270\365U\302N5l\337-U\373\000\205\357PF\257\362\320\233\323\264JH\217M\353\327\033;1\275\367T\227\264\367\260\256\211\320\223F\254\311\321F\272\363ca\353\013U\007\215\206\366\252\256}G\270}K\213}\347\253~c\243\223\203\342Xc\375E\370\330\346\3556\240S^c\001\023C\274*V\230\263\320\032\371\337\304\306\003w\342\332\305\306\326\344\372\345F\272E\023\347gIs[\214\333\047\037I\204\2204\247[\307\350\241\027ZC\210tw\300\030\332\360\322\031\223s\221\2167\313\357v\327\333\3270\355\251\205}\207\n\335gJ\202\230\306D\332\265\241\031\306\355N\266\317\353\2373n~P\275\"\217\036\375m\023\207\027\3254\350` \315\032\364\035\246\035\221\223_\327\203/\314\3006\233\353C\2779R\232\357\201\266\034\212\203\237\337`\034d\313Y\255q\260\275Gb\240\216\217\324\354\353\300\245\300T\355\233\372\0241P\267<\326\004oK\326\274\014\006\376\213\215/\377w\0308S\013\267\201\201m\351\303\027\371\002\200\274,\024\267\305\305\322 \255\t\332\267\316\331\317\204\333\206\250\264vB\254\323\327\203v\240\017k\016\206\2350\336s\304z2rD<\360\325""\336\236\374N\343\226\377\330\354\337\233\375\305\241}\177\276\2551\332\267\177\222\262\343\373l\270~_\260#}\373\333:\256\257~>\345L\311\215DZ\022\246*\246\373\241\351\315\324\3738\003\273\037\370%\360\"\252Q\2136/\316\030\01449\344\221\332\333$\203\007j\203\372\206\366C\014Z\362zm\250(iLG&04\336\3236>\025\234tw\262\354\242\235\3451,\377X@\263\001\273F \213N6\360\033:\277\251\307\303\203xZ?x|\034\235qu\222?\206N\354\370\324\361\216\214rR\321\272\361\005\023-l\224kM\306\264E\321\332:\252\243\334\201\212\326L\355g\321\023\276\370y\267\277\363\023\373\327\374gR\255N\354\355\203oGrb\377\345W~\\\2644W\314\356%\237VwM\243\344\362\216\375d\004M\252\354\007\205\354\353A\354;Zl\363*\222\326\264\310E\3336s\235\231[}\201/O\266\223\327\035\335\241\221&T\366\263\021\264Be?Gd_\262j\337\305B#$\315`\351\262f\222\322tg\363\257\235i\326mgv\333\247\024\3621\024i\317\340w]\037\355\212\221-\001Y\273\330\267\353\3337\332\222\270 \323+{\047\222n^MwF+i;\263\333{\202\337Z\336r6\374.\024$\021MJ\013Yl\330\327\353\333\327\220\323\332\014=\314A\373\025\324\244\365-\302\035Y\366j;\263;\276WI\032\241\375\256\001i\0254\032\3220h_)f_\220Mk\212\276\0276\35370;\262\235\331v\216w~o\323\336\003!\235\23148\332`\247\005H{\345\321~\022\214l\033|\237\035\325\217cvf\373\263\275<\3579\304`\311\267\343\274[p\177\313\300\331\202\021\3700\316d\206\325\355etpe\"\320\326\261U\355\275\205\352o\355|\266\373\256\030\r\244\212\206\047\235\333YY-\257\236\260\373\375|6\256\2379\261t6\375nd\245\356B\372:)\352\366\n\200\375N\002i\350\276W\316\371\326V\020\353\047\030\240\031*U\332\317\2358W!k\3532\232\375&\235\344\035q\251\047\336\373\336\266\332\372[w\272;!\346\354W\371h\337\233L]\237\240\363\244\233*,\212N40\205\316T\340.:w\003\013\350,\004\326\320Y\013l\242\263\251\326\031\266;\264\031\356\333!\345l\211\006]\373\355\025\373\016\2049\334!\377r\322\231\224-\247-M\242\305\035\265ow\323\207i\025\355\237\"\332k\243\324\036\354\2478H\221\246f\341k\372\374\047:\177v\323\t\234it\246U{\240\345\047\272A\222\232\305\023t\236""\004\206p\211i\3508\335 \031:\336\326ig;\033G\304\211\200\006\215\327\326\274\324\321XX\034\213\025d\353\356\206\2271*\333/\226\221\232O\002^/\023\010m\237Z\304&:\233JB\320\231,\262\214\211\240\023Q\007H\347\321\231W+\221t\216t\245sC5\352\266\005q7\n\260\022\017\010a\215N\341\231\267\366\324\345a\016\312\360\376\375f\371\277t\217\354Agf\200`\371t\027\364ny\276\216*\321~\342\210z7-\336\223m\202\357\033\2544\217 \241OK\3464\201\240\327\214\250.\3510\260}\276\256\255VN\315\016\344\260\352s\276\371y\367\262\230\013\312\026\215\3277B\005~\025sb8\216\267iF\322\232\302\365\375\356)\227~nNh\274\324\207\351\2249)6T\3754&\322\005\031\244\337\320\235\351tA\306\006:\033\252\372i\303u\002\235\211\343qt\342\346\006\365\216)D\027\241\355\304\361:49\247\004\365\002d\341#\347\221\3544\304<}(\027\232\315\217?\035\330<,\363$a\374p\3647oh\377\326\367\376;\333*\274uiO\372\022\335\035\361\023\326\361O\201`\240C\373;\377\252?n\340\020\374#$\230i\177\375t\324\306\266\025\001M\023U\337\213\n\354\247\253i/\223\226\304i\371I\277\256\047j\2104Z\032\210G\261jF\225\360\246N\034\rth\273BUTp\210\325\3223\244\355lm\246\036l\337!\375u\237+Z\233\3156\344\343\265\320\211\344\034\2316\345\35492Y]\321\350AJ\222\375,\n\2554\331\207\005i\002I{\030z\007T\354\315\221\026K\303,u\"\232@R\205\215\005:q\356?U\273Y?\013\275m\275Cu4""\210\037\\v.\007\033\347w{w}\353h\250\321\217F\377\236:\022\"\020\252\366-\\\004L\211&\006\375HZ\302A\047\332r\266\244\312F+=\366u\272\324\217h!\203\372\021\215{d\260B\313?\244\375\320(H\223\013\032\014\365\326\222X\306\245\301\320wf\370\2027\257\004\241\224\227\305\316\2604\330\225W\024\275\254J\372\034\215\362\256:WCx}\344\256\357\"\356H#\330\360\273\353Xl\305\356|\325\370\032\273\321\254\330D\223\213L\320\215\240\206\254\033\241h\322N\335\210j\210\366\000I3!\333m\352FTC\264\034CSxRS\355\261\210&\203\244\274P7\"S8\352FTC$\367&\237\263\242\206\241\244\023b.%\225\007\234\221\277\274\212\272\201\357w}\346|6\206w\2338\261)\277\232\n5\246p\\\362\324\224\3304\331\031o\204\361bN\271\232,W\024`\322\001\372\217\\^\261\237\327\265\257\347\244\251\021\031#\220\300\263\237B\242\r,[y\240*\242\021\312\326/\355i\273\357\315k\221\347\254\251\021(\351=\261#\rBO\016\275\271\227WS_`\252k\316\265\360\356y\361\314d\302\257\252F\033\351\206\337\350$\266\334wf\033\267\361\001jy\031\265|\r\031\006&}\322\315VUiP\242\336Dc\223\375`\222}\223*\215MdmF\n^\013Z\004\255q\266U\213\010AIW\204:\016C\260\\\240\310\373V\325\376\211\236\247?\227W\2537\321j\001_\3449\203\2276 ,[Y\257\006\252A|\211\347\324\323h\345\353\352hM\274\014t\312\351y\277\362\240z\242&\236\360\211V\006\021\t\275 t\362\351\r\361t\321\026>\353#\036\342\001\307\351\355\257\366\302\227\247^/\377\247z\2626\2101\357W~\257\365\243\347\035|rG$\372\240\332/\023\235\257\374\007\346\347gjS\030\354-\037/\247*\203\225P\365lu\241\326\017_\237\206\t<\032J\340\353\355\351\275\323\357U\222\325\336j?\262\351Fy\3359\177\251\326\r\211\316@\323p\336\372\324\371T^\344|\372l\371\036\244\272\212\027G\364\342\035\263\270\006\020\250\005\233\347\200\352\314\010\250b\275,\207\263\345\273\325c\325\367q\315\234\220\\\254\226j\203\222j\021\036\250\275\203\357\003\235\366E\211\233p\370\014\372\372\336\351\367+\013\325\376\352 \242\234\256\364W~\2044?\356|$4+z\241(\217S\326^\205\365\014^%,\036\020\332\357\304\225\234\255_\307\tRZ>xcis\366\223\355\244/Lw\354""\362\315\375\216\334\247\324\372]J\362V\021\274QI\314\013i\326Ab\203V\316\365=u\235\2729i\277#\357\332\264~\257\n\210\026\371\260\2154\266\243UO_\225q\246c\317\331\354w\344-\233\326_\262\2011D>f#\347\237\264\001Hk\276\324\004\264\235r\247\236\260\331\357\3105\306\207\270\302X\276\025\006\352\2515{\360UJow\354\302\342\375\316\\Hw\230\313\350`\"\245\357\272\266u\t\352\017\244Dh\233\377\216];\267\337\231\3674\016\363\232\006h\362\372\342f\032&H8\330\227\375\353s\222\035{B\343\320\314\370\014u\324O\234O\276\007\205\0214\177?f\374\344\377\264\310\027(Z\353\217v\266\241{,\n\341-\257Y\003e\031\257\252\024\346\2334\\\220\220\240\356AMB[\t<\0373~\204\214{\204\021\007H\nh\026rG\363\3450\303\243r\037\202\027\244?\034m^\264z\221\226}MY\313w\r\002\211\370\346\025\2774\224\026\311|\347\214\264Hf\237\311h\317}N\255\335 \2107\223\035\232\201\255\275gd\331\036r\033\207g\274l\004U\21476\212\223|\366\264\333\267e\321%y4\337\366\275?g\254\273\275\257\036)\036\256\356|\327(\210y\254\305\304\316\334\352\364\342w:Q7\265\017\270\267\260\276\264\335\325\301\313\234\366_\342\251\237\016\237\371\241\005 \333\202\231lb\251A\222\301\006\235F\321\013\337\235<\354\263\377\022ma:m\004\363\262\317\035\267f\357\262\377\022\317?\274\224\323\017/\373\372\225\026\217=\354\267};\263\215\253*\2076\271\245Q\314\367\302R\332\210\321\347\303\305\2521\255\357\323\342\261}\2118\335\002G[\316d\225P\352\324\211M\332\273l\177}\264sq\343\320\207\tI\237\240\306O5A;c4 \322\2420\3550\353\253c\305F3\035\340\244e\374\266^\006\375\314\203\206\007T\210\253\036\216\220 :h\363\330\276M\313~\305\206\272\003\355K\322PJ\333\223z\363\253S\202\350\325\035[gi\323\256H\233\325\027o\303oA\022\371>Muhc\341\337\320\371M\331\014k3\251\216h8l\373\243\335\025\322\342\034\3213]nr\366\323\277\007\034\244\361\034\364\"\207m\350B\252%\211!\032\230\311\032\337>gE\333\277\264a\265\325\231s\241\035\254\224\266\013&\327\355A\324I\016:\222{\320\373\n\366\351\010\272K\210\352\203\304\024\031\267\320\316!\335\033J\243\003\235\202{\324!\331\325""\301ziy=\300\335[|\227\000\244\360\3629\333p\220\346z\320\313\254\264\371\256/w\022k\002T!t\206\205\254\215h\360\366=\360\260\335\335\211\247\223;Z/\255\256\215\037\t+0\232\277\331\207\212\354c\207\244\336RG!3\372\307\335\0356\377j\177\275\264\272L\357\251\027\337Uz9\223\206\316\002\203\275\265\225y\320Y \232v\320(O\035\205\006{Z\262\240\n\241\0134l#=:\306Kr\314\266\377\"\353\242\337\273;\261\025\320\321zi\357\"\271\274\357\001:\313\206\263a\355\256\372\356\263\267\360\300\021\231\245S\205\320D\234*\204\216\351\332w\203\323\354\203:\n\331\022=\351\356\304J|G\353\345\032B>u>\375q\347\021\332\201\370\325K\260\321\353S/7\361Z\245\235\023\215W@\027\333\024\323\047}\317\035t\226Mg\323\332\360\365\335\372o\341aFZ\257\267\017\310R\205\320\002\t\351a\244\034\333fxd8\364\307s\326\313OP\272w\205\326//\224\304M\273\227T/\255\331\260\036\025\013\326\203\016\313\331\357<\266\347\260\\\313\246\253\355\257\230\3538\341\277\342\\\031n|\265;\270\353;\300\014\373\232\026\213\333\232v.5\006P\035\233\021\353\236@\274T\307\3608\210\230\275\330\373Z\276f\022-<`DSJ{.i[\031\223:F/\344\331vvd\n\376\347sV\316\020\024\361;q\376@^\"*\217+\276\224\312i\315\250\370(\231\024\323\222\243^\345\025k,\244\223\321B\027\351d\324e\350D\305O\235\266%\336\377\273\014\211\217\222\031\361Ag\220h\342\337\3263H-\333\017\357\377m\306\303G\311t\230\326elco\373\341\020\337\003\301C\235\267\031nw\365\334\304E\376Ag\360\026>X\014\223\306i\277\352\031\363\265\354\026w\341\354,7\262\250\247\3119\031\220/\365\264\307\316c9\257\261\r\220HO\243nc_PL\3723\351i\324mh^c\237\017\243\365\031\333\300\333^\304$=\215\272\r\035o\031~\316\352\031\205\">\021\213\034\240C\313\373\340\326^F\365\234nu\267\213_\036\305\375\374\360\265\367R)\377\0351\3576:\rO\366\035+\324\321\250\n\251\207\221\356@r\320~\036\211t\007[\261\263_\343\364\335\021\243\341\211l\364\351\246\"\272\231\206\356!I\243\223VW!\027\320)\250\233\212\036\243\3638@7\323L\2423y|\006\235\231\343\367\321\271\177|\016\235\271\343\277v\346\326\232\321\372\005\261\0254!""\006\177P^\240\r\001w\255\347s\355\325d\333J\317\036\371\355]F\373z]\022^\366\345]\367\273\255fy\350\007\010\332\274\313\341\177\0256\311p*?)@-L\026\266\272:\262G!\336\035\330\177\201;\363\333\3004~\233\365\377\001\246\321M\371\373\235~\251\341E\337ix\331O\267\266\362@\303~\247oN\177\321{\323\217\324{\267ta\372\376\251\327\360\342\245?\221Kx\366\t\n\371z\371r%]\201a\370\257\023\377x\245\227\216E9\047\337\253\314T\305\311\240W+\375\225/\252\377\306CDo\224\277\250\234\202\236>\270O\336\351Z\277\365]\317\323\t<\320t\262~\023\017%\364\226\337\255LU\036\326z\235O\304n\2258\035$.}\312\341(~\3129\365~%m}\377\332\323\207\025:\326u\026Od\375\373\351z\371T%\351\364\313\273\020\344\211\"\226\036\317-\341\021\247w\260Z\260D7\313o\000\274\347L9Ty\247\032\254\336\225\315\302\375\331\271r\032\217\221\215\225\0071\213\022\3600S\031\334;}\276\362O\344\2048\231\345\274\211\326\\\307A\315;\363\226@\225\004\355\340\323zJ\334\204{\346\203j\377^\357\331r\242r\2742\245\316j}TM\343a\214s\270/\244\316I\341\333\264\027\353\347\344\321\215\223O\305:D\257\310S\336\355\201H\373\361\300\326\024\002\213\345\376\362\315\312\353H\312\231\36200\3526\264\342\r`\325\031\374\352\314\233\345\002D~.H<\337\207G\335\240A\234\177\247r\303\371\217z}\356\335~\301\212\273\364\376\360\273\240\272`\276_\224\273eQ\327\2110\347\235Ok7j\372\030\0330\007:\305\277\237.\224/U.\201v\264.\033\307\343Jo\345BE4\221\217\240\342\326\025#!\355i\340\332W\320,\216U{\335\200\377 \327l\340\361*\001\334\325\034\221\370\261\232_\253d\252\337\001\313O\n\016SN=\364\311\376\t \024\357\177+\341\376[\317\323\341\247\177T\302\320\2162x8\357Ly\3049/\216\273\230\212\277#\004\003 \336,\247\234w\256\327?\204\232\273\211g\343\244\222\367!^\035\367fy\323y\357\313zq\347\343\306?a\"uZ\336)\227\300\252zE(\201\330\367\217\355\367\364a)\025E\257\231>\002\034\332\300\306v\3329\rI\260T\031(\355\227\3204\232p\217zU\250\006t\274mz\025\322\374^5\255Z\300\027\225nl\001\362v\264y \367\243\332\"\310\250\323\244\225\236\255\255\n\016\r@\373\334\033\030""\254\237\201\242\234\372OeK\360\202\243m\202\255\337\213\351Z=\000\031@\227\006YR\336\254$\240\274g!\355\233\365c\254\300\373\047\336\251\\\257\334\203\257\036\356\364\356|*N\030\277\333W}\255\226\251\177\273\223i\014\242\024\276^M\324\216\327\356A\374\007\342\302\317\217.Ap\272.Nab[\030D\276\275Y\026\n\325\r\271b*Zg\240\206\276\366\346y\220\216\316\3338\333\202\3360\010\202\361\374\273\225\2208\001\tRS \3317\022\r\272\326\317\320\2056\252Q\264\325\276X\335\250M\202\254\022\034L\373F\276\325\350\337\357\301s\2237\244@\300\016\365\371\323\364\323\377\002\243\272\005\205\330\002\372E~=\342L\047\262\034\2508u\272|\254\374~\245\344|\210\322Ot\351u\2200\363\3253\242y\002\317\353I\024\223\257;\257\343\232>\224\023\371s\032\233Co\245\037\333\315\000\342\001I\305\017\260:= \372\345\031\327\211\312+\325^y&5X\271\0135\372\216\020\253O\247\313\375\316\033\037\"7]\351\016\020\307\373\047P\020\016B\205_g-\374\233\362T9\207%\004\276b\255\374\253\\r\336\271\ts\247\323o8o\\\220\003\323yQu?\200\234=\203\247D/\326\336\005\036\221W\226\n\353\353_\330\227T\243\374\241\372\006\326\304Y\347\354\205\352\224p?F\346C\313\330?}N\234\343=\266\367\331\315\372\274\270\026\253k\267\177\357\353o\366\256\335\250\207\304\235\357\242#F\312\375\3302{P\244j\356\023s\366dQ\234\177\364\226{\367\002\307\201\007\257\236\334;\361F\371GH\022\370\327\377J\360\r\312b<\005\373\032\366\332\025\3503\203\220P@\305@\377~e\005\017\373\276\247\216\265\3020%\006N\020\303N\000\240l(\301#\266\320\n\366N\274^\276(\252M\214+_W~\2069L\220$=\316\030\307\352\203\352<\3569`\305I\\|\223\003\240]c\377\017l;l\000"; - PyObject *data = __Pyx_DecompressString(cstring, 25543, 1); - #define __Pyx_DecompressString_LZSS_UNUSED - if (unlikely(!data)) __PYX_ERR(0, 1, __pyx_L1_error) - const char* const bytes = __Pyx_PyBytes_AsString(data); - #if !CYTHON_ASSUME_SAFE_MACROS - if (likely(bytes)); else { Py_DECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) } - #endif - #elif (CYTHON_COMPRESS_STRINGS) > 0 && (CYTHON_COMPRESS_STRINGS) <= 90 /* compression: lzss (36761 bytes) */ -static const char cstring[] = "\377\n\n Th\367is \000\000a py\377thonic w\377rapper a\377round TA\377LIB\047s ab\377stract i\377nterface\227. I\013\000sC\002\021\001n\377ded to s\377implify \337using-\000di\277vidualF\003 \377function\377s by pro\364\032\000$\001a\214\002unif\371iE\000]\006 for \357settI\000/co\277ntrollR\003p\377ut data,\370\030\005R\006\327\002param\361e\252\000\272\000\306\000retr\367iev\217\001resuWlts\276\000n<\005 X\000\377sists of\377 a ``dic\347t``\013\000\243\"``n\357umpy\016\000arr\237ays (\223\000#\001p\177andas.D\204\000\351Fk\001/\001r<\000pol\373ar\013\n), on\361e\361\"?\002\324\002each\376n\001open, h\377igh, low\377, close ~Z\000 volum\352 ~\246Bcan be\214!\337 with\277Bth\326\014\002_i\311\001_\232\003()\375 \370\000hod. W;hia\000key\233@\270\002\027(s)\332@e\234@\016\001\374@~\201!s when\217b\003ca\333#T\001\244E\240a\365%\343@(\324Cu\001o\003n\346 s\310A\266`\367ty.\321hclas\357s ge\326 ini?tializ\244`\271\001\310\344 \330b\210f C\001\357\002op\204\235a\205\000y\200 \332d\353@\326\004 ?object\373b\272cges \251\002\230`ow\361a\177primary\341hH\304`\355\204\002\304d \251\"\202u:\230\205\003\337---- \314(/T\313A-\266\204\005-\326f\232\204\001-oSnlb\t6\001-\335\205\002-\271\204\001\304\216K\235I)\032\010\221\205\005\301@gs{([\304I,] [\313\204\002\372\027\002_\362`or_kw\277args])\305\206\003D;oc\245`nta\330\205\001\261\205\002\332\032\024 \274fen\375\205\003in\350\332\205\001\277!\220\207\002F\232\206\004 in\377stance o}r\245\206\001gramm\\\000\276\235ay via\360\"i\337nfo, \374Ian\335d\361\205\rpro\227aie\333s.\321\047- \203\206\003-r\037eturn\251\207\001\222\207\007\266)~\336\204\001output\333gn\243\210\002s a\341\204\004 w\342\204\002\037ensur\213`\333\206\004\343\204\002\027alw\256\206\001v\370`\222\003u\000{un\322+]) #\225 \207lls\236N\200\206\002\234\003\031\001l#f.\204\004\330D\246%I\246$\216\202(\340g\n\361JW\033\266\212\001\272\212\001 %s\377 ( (expe\377cted ba\375r\274\210\002histor\377y, at le\357ast \333\205\007fai\375l\372\205\005error \377code ne-e""\275\212\001(a.\001d\266\212\001K\000\367 th@\000is N\377aN in anyy\264\205\003\261\213\001not c\004\377)%(displ\367ay_\210\207\001)s (\377%(group)\377s)\n%s%s.\307adv\310a\007\000\310@_r\337ange\047\367\213\001de\237preca\274\001\353\210\001h\377as no ef\377fect: ((o%s)(s\001nd\366\211\002\377)(tree f\377ragment)\377))\n, , g\376\211\000.3: =?A\177 period\305\212\001\2751\010\001formO\002s\377moothing_ADXR b\004u\340\204\001\327ble+\010i\202\213\001wn?; it f\316\207\002\331\207\003\277inner :\000.\277 Set \047D\000\047\376\237\205\002ead.All\353oc\366\205\003E\321\"(TA\377_ALLOC_E\377RR)Bad O\372\262\210\002 \025\001BAD_O_BJECT\025\002P\243\214\005\376\024\006PARAM)B\377ull/Bear\377 Pattern\373 (\n\001ish <\377 0, Neut\037ral =\t\001)\001\026\001\177> 0)Can\232A\217mix \204\214\003\306\213\002\247\214\003D\377ashed LiOneDoS\000\003\005u\202!\337Expon\325 ia\357l Mo\251\215\002AveR\352 e\000\027\247\207\006N\216`F\261\217\002\376\371\001FUNC_NO\377T_FOUND)\334\315\207\006\336Aa s\304@amn\235\217\001API\016\013n \206L\365G\305a P\013GROU%PT\010H\250 \243\014I\331\216\002\221\001\346\232@ I\364\213\010\230AINP\363UT\233\002\243@_INI\377TIALIZE)\3762\002s:Insufofici\343` H\313\205\003\376\267BINSUFFI\377CIENT_HI\237STORY2\000\233Aa\373l \363GINTER7NAL\374AORT\000\375\207\002\237 Hand\354`}\003V\377ALID_HAN\367DLE\031\006List\277 Type \031\tL\036g\000_TYP\036\007\254g\251\212\006\364J\t\276b_\202ATION\374w\006\342gHolder\375 \"\017HOLDER\300\030\027\213\016e\0031\003\226\013\234\215\007va\367lue\311\222\002Kauf\377man Adap\357tive\332lLibqr\270\216\001\312a\245MLIB\316b\336\244HMESA3\025MF\367I\047s\276m was\277 retir\343\223\002 \367TA-p\000 C.N\275o\344\204\014 (id\210\205\001t\277y)None\333\204\001S\037uppor\351\211\001\334\206\001\332\204\001\377SUPPORTE\375D!\000t enou#gh\217\211\005\213\225\001\327\222\001 \350\204\005\247w\336\256\221\004Reco\354\205\001bl\377e: colle\177ct more\326\212\003\376\215\223\001try aga\363in\256\000h\006pric\337e arg\377\216\002s:\275 ""\214\213\006Note\301\212\003C\374\336\226\002\356\211\003libera\357tely\206\206\001ict\373er\350\212\001n PEP\317-484\357\214\004\344\221\001s \327sub\303\222\002e\231\225\002bu\377iltin ty\373pe\300\225\001f you\344\272\213\002\372\226\001p\354\222\001&\010theIn\253\224\002\243\224\001\047\222\210\002\235\220\002_<\000\277ing\047 d\205@c\376\202bto Fals\377e.Out-of\373-R\240\213\001 End \337Index\264\211\002OU\377T_OF_RAN\377GE_END_I\337NDEX)%\nSt\367art\034\025STARAT,\007\300\227\001\212\207\025i\000\214\207\024O\210\220\002\374\301\221\005\230\215\001or infz\337\224\001e\017\013nega\341\204\001\336%\013posi\004\017ze\323roT\004\217\232\002c\246\207\002st\347ick\r\007\224\225\005 (n\377ullable)\316\022\010ver\253\227\004?\007pa\377th-depen\374\312\204\001\265\004scale ?same a\375\226\004\320\003\343s:\205\214\006\007\001\357\213\005ool\377)STOCHRSAI\203\21569\000\265\215\004C\000\262\215\007S\256\233\001\376\367\206\rStrengt\375h\361\214\007[-200.\377.-100] =\335 \203\215\004, [\016\001..r\020\002G\244\233\003\023\0070 =\237\215\005\360\047\000<\0007\004 \006ulli\203shC\000T\000]\001V\002\017\003)\202\224\207\004i\217\220\001\366\234\001\267\230\007\372\232\002\220\234\004s\247 ch\246\204\002\310\235\001n\244\225\003e\277ssThe \303\225\005\047\377s Own De\337fault\313\215\014To\347o m\326\221\001\253\206\027Tri\177angular,\r\277riple \235\216\027T\276\033\003Gener\366\231\004D}o\314\216\034Unkno\254\000\370\304\220\002\000\n\270\220\002UNKNO\313WN\323\220\002V\322\212\001\313\211\001pr\353es\246\215\001a\274\234\001er \337limit\014\017n \371u\331\237\002\032\002Weigh\354\265\224\001\334\217\013Wi\224\214\001\047s \355S\254\222\002ed\373\217\014Zer_o-Lag\333\030[\261\231\n\377]]add_no\377tebegidx\277 nbele\273\223\001c\320\242\221\003\271D\203\213\004\316Fo\303\001fe\337cycle\335\227\001le\210\235\227\004\217\240\001\273\220\002s\334\227\003\273\210\002E\004p\377ickle %s\365:\354\212\007h\356\216\003poin\206\204\235\002to\253\234\002\362\213\005\252 \356\214\002,""\356\354\236\002doe\352ccro\275s\336\230\001proc\315` \335b\215\242\001ary\256\004sh\270\374\240\001\244A\273\214\004whi\204\033d\333is\254\207\001en\262\207\001gc\362\254\237\002 \207\240\003\363\225\001wron\377g dimens\344\234\242\001\024\tl\207\206\002\351\003dif\007fer\241\223\001\272\241\002\310\240\003\212\213\001\215\227\005yd\334bY\003must\257\240\001\003a \275\241\002h\004\271\241\002\266\241\003\330\233\002\251\241\002\377 Series,\255 \325\227\001%s\304\240\t \344\235\007m{is\323\243\002requ\276\216\002^\377\242\001 key\225\244\001g\314\220\001\270\345\217\002\224C\250\207\001, 0\275\234\0011\33700)is\366\003dn\315o\262\230\005: \276\240\006\204$is\277 empty\355\242\002.\377_core.mu\347lti\260\242\004\272\231\003to \363im\207\217\001\033\tumat\367h f\023\014tali\203b.\306\216\004\365\244\001\013\003\315\243\002\026\003o\013rd\316 d\360\243\001\047\003\321\243\003\005\004\334\306\243\002?\003sysH\003thgrea\242\232\001W\003wa\273\235\002\366\027\003/_\245\246\005.pxizy\002/\304\000mmon\006\010@\203\246\001\025\010\212\226\003,\002\207\210\005\225hs\227\231\r\377\047ACACCBA\327NDS\000\005_\256\212\001am\362\000\014.\327\244\001\255\240\001_filolACO-\000OS#\006\340\002\006\030\rE\006P\0049\014DAD\332\000\000Dl\005DD\020\024OS\207CAD\002\000 \006\002\007B\rRWADRG\006R`\024X\270\233\001\004\274\233\001q\006X\022\026\031\007\255\024\265\006\316\023\277LLAOAO\317%O^\363\023POAP\033\006P\016\024\037ROONA\001\001\213!\001\004\300\247E\001\013\240L5\001\035\t\3673SI\303NA\001\000\371E\001\007\356LTA\303NA\001\000\241e\001\007\030\rRA\365T\202FT\3644VGDE\303VA\001\002\362e\001\t\351lVG?PRICEA\001\004(\007\\\022\002\316sllC\247\232\002S\370\253\003\203sB\352\204\002\000\003\346\204\004\000\n\335\204\013B\207ETA\000\001\"\005\014\000\266\204\022B\263OP\000\000H\005OP\017\023o\177dyDojiB\005\000\357Long\004\001Sho{rt\r\001Very\021\001\207CCI\000\000\200\206\004\000\007\364\205\013C\377DL2CROWS\340\000\006)\005\021\005\334\205\0224\0003BL\007ACK4\005\003\0107\007\003\017l""\016\1773INSIDEL\001\360\004\0033\010\004\n(\017LINE\037STRIK9\002\004\007u\010\034\004\016n\017OUTy\005\004\004\265\010\370\004\013\253\017\272\227\001SINSO\007UTH\217!\004\t\374\010\004\020\367\017\377WHITESOL/DIER\212A3\004\n\312(\364\004\021\304NA\210\212\001ONED\017BABY\342@\003\n\331G\003\021\376:\017DVANCEB;LO\355@DLA\004\010?\010<\004\017\331nBELT\311\237\001\362`\360\003\005\344g\003\014+\017REAK\027AWA\312\001B\004\0054\010\004\014\376\326\204\016CLOSING\377MARUBOZU\207CDL\003\014\357\204\007\003\023@\017O\366\223 AL\336!SWALALO\001\004\014I\010\004\023B\020U\245\243\001\047ATT\332\205\001\242\000O\005\010C\t\274\005\017\311\206\016DARK\364\000U\377DCOVERCD\341L\003\013\340\206\007\003\022=\017OJI\200A\001\004\000\263\235\001\000\010?\010\026\004\236\207\025D\370A\000 \013\021\026RAGON\017FLYDp\004\004\t\260\010\004\020~\322\210\016ENGULF\373@\207CDL\003\006\337\210\007\003\r.\017V+EN\271`D\360\007E\004\013A\010\000\004\022:\025\301$G\004\211\240\0019\016\n\010\252\212\016\307GAP\272\211\001\276\211\001\272\207\002CD\341L\003\r\305\212\007\003\024C\017RAV\047EST\271\207\001\353CG\004\nF\010<\004\021\316\213\016HAMM\370b\003\003\330\325\213\007\003\n$\020NG\252\206\002NC\017DLHA\005\0053\t\005\014g\020\327RAM\256\204\001H\272\255\001IC\007ROS\343\214\001\003\010\201\t\047\002\037\001\360\331\214\025@\003#\r\025\026IGHW\300\306 \272\001\004\004\360\010\004\013\242/IK\353KA\323\214\002H\004\003MOD\000D\002\022\002\n\000?\t\005\0145\025\"\016\317\026\377OMINGPIG\203EO\367\"\004\010\262H\004\017\310\217\016I\377DENTICAL\3013\332\217\005\003\014\341\217\007\003\023@\017NN\205E\377\213\002I\004\0025\010\004\t$\020V\031E\217\252\001\202\204\006IN\005\t;\t\005\020\236\240\221\016KICK\306\207\003\003\004B\001Y\322\207\001\376\216\002\003\014\303\221\007\003\023D\025\047\016\376\356\221\025LADDERB\377OTTOMCDL\360\003\t\277\222\007\003\020\365\222\016LONG?LEGGED\351\211\004\003\013\020B\010\034\n\177\026K\001I\253@\221\000\004\004\0164\014INE\303\223\025\231\216\010""\247\216\005\214\224\007\374\003\014\276\224\016MATCHI>\312\000OWCDL\003\0107\t\000\032\006i\027\242\220\005M\000\375\260\0011\n\006\010n\017\013OR\235\213\014M\004\013\300\010\004\022:\025\240\355\215\004G\004\236\213\013\003\017\326\226\016O\264\205\005O\372\255\205\014O\237\205\032PIERC\340\264\215\003\003\005\230\227\007\003\014\312\227\016RIC\177KSHAWMA\302\212\001\360\003\010\333\227\007\003\0173\020SEFA\377LL3METHO\rD\247\230\001RI\005\013D\t\005\022\345\230\016\313SE\320\271\001T\245a\304\227\001CD\341L\003\014\376\230\007\003\023@\017HOO\204L\001\225\221\004S\004\010A\010\004\0175\021R\003TL\267\205\003C\000\006\0036\n\006\n\311\017wPIN\253\220\001TOP\323\001\360\004\007\310\010\004\016\217/TALL\037EDPAT\264\270\001\234!\004\n\360\224(\004\021<\020\210aANDW\033IC\250\231\001ST\005\010A\t\005\017>\241\234\016TAKUR\207\224\001\003\003\370\250\234\007\003\n$\020SUKIG\rA\222!TA\005\0041\t\005\013e\017\367HRU\264\000NGCD\303LT\004\005r\010\004\014\245\017RI\302\261\225\004T\004\003\256\010\004\n\222\236\016UN\177IQUE3RI\301\226\003\340\003\t\245\236\007\003\0207\017\253\223\002GAPB\354\236\006U\004\013D\010\004\022\255\237\016X\273\236\001\007GAP\222\206\010\003\r\310\237\007\003\024\204\240\014\017EILC\001\000\262\240\005\001\007\254\240\014\037MFCMF\330\240\005\001\006\025\r\237OCMOU\000\001!\006O\315U\276\240\023MO\031\007\340\240\023OP\301P\200\235\001\001\003\322\241\005\001\n\317\241\014OR\017RELC\001\002&\006\017\001H\024\237SCOSH\000\001S\006S\361H\023\025\031\007\214\242\023UMSU\303MC\001\002\374\242\005\001\t\370\242\014VI\007CVI\244\243\005\001\006\235\243\014\363\244\t\215\300\001\377DEFAULTD\207EMA\000\001\353\252\004\000\010\340\252\013D\377ISABLEDD\263IV\000\000&\005IV\276\252\022D\177ONCHIAN\000\005\270U\005\020\004\036\023POD\365\250\006D^\347\250\024DXDX\242\005Xe\023~\266\322\005DotEFI\000\000\300\305\254\004\000\007\271\254\013\375\000\200 \035\005MA>\217\254\022ERERI\000\000D\005\343RI\020\024\030\0061\023XPE\361X\216\247\005\000\007\202""\014qual\037FLOOR\000\002\204\256\004\000\t\276\372\255\013FOSCF\215\255\007F\376\376\254\025FRACTALp\000\004O\005\017\003\204\256\022Far\267\317\005n\277\317\005.__\317\323\001__\001\r\374\201\327\005\035\theck_o\343pt\307\324\004\260\303\002>\010get`\003\030\336\323\001Z\n\215\325\003\227\301\002_s\330\263\002\322\232\314\002s\220\010\262\312\001l\240\010re\333pr\236\nst\002\013un\361i\255\315\001\304\010\257\322\006flag\000R\007\250\001\210\326\t\207&\017\007\263\325\002\013\n\253\330\007\370\266&\335\321\001\303&lookb\047ack\324&\222\321\003_m\013\016\004\270Q\013\273\321\004\216Frun\232Fs\000\325 \362\323\n\r\n\261\022/\001\363\326\010>\n\361\331\007\327HAH\226\205\005H\221\205\023HM\353AH\271\205\006H\265\205\024HT_\377DCPERIOD\340\000\010\353\263\004\000\017\347\263\0137\003HASAE\000\007.\n\027\001\322\263\022t\000P5\000\303OR\000\006i\007\023\003\037\025SI%Nj\001S\353\230\007\300\000S\353\230\025\334\000?TRENDL0\003\003\006\360\327\007\003\r\321\016;\002MODE\340D\005\010\0011\014\010\010\223,igh\347Low\341\314\002\342\326\001IMI\300\000\000\312\266\004\000\007\276\266\013\225\315\t\231\315\004KA\303MA\000\001\204\267\004\000\010\371\266\013KC\353KC\034\005C\314\266\022KDJ\314\000\000@\005DJ\361\266\022\215\257\001AR7REG\000\006_A\321\234\001\000\014\340\222\270\004\000\023\222\270\013?\007\271\316\002CEP\341T\000\020@\016$\006\211\033_SL\007OPE\243\007\n\002\215\016\n\t\206\025p\345\271\003?\010\311\321\002\275\014NLN\363\005}N\2523OG10L\001\001x\233%\001\010\212,ineM\333@\377CDMACDEX\301T\000\004\356\272\004\000\013\346\272\013-\001FI\001X\000\004&\010\022\000\310\272\022^\001M\010\r\024\360\212\001\361\215\006\227\0015\024RKET\017FIMA\002\003\247\006\002\n\241\r\203SS.\000\002\000\325\006\002\007\314\rV\017PMAV\255\266\005\000\010\364\r\375\000\rX\247\314\002MA\002\003\261&\002\n&\016\340\035\007\2254\371&\010\025\306\323\001MA_\376\315\323\001.__geti\237tem__\t\007\261\215\003M\003ED\236\271\002\000\005\322E\020\004\224S\326 \355F\276\223\005MF\313\220""\023MID\037POINT\000\005\253e\020\004\202\355SI\206\004\001\004)\010\303\272\001\035\024N\007MIN\336#\001\004b\006\021\003\036\026\037AXMIN\221E\000\0106\007\340\247L\323\204\0148\002 \n\212\025US_\037DIMIN\003\002\225\007\003\tTK\0160\001M-\004M&\013M\362\025\274\360\007\315\205\023OMMOC\006O\3760\024ULTMULT\370\334\206\005\001\007\307\302\013NATRN\370\250\276\007\000\010\031\014ONENV\353IN\357\227\006N\341\227\024Nea\017rOBV\000\000\315\303\004\000\007\301\303\013\375O\262\305\003DictOu\275t\253\323\002PERC\202\254\001L\301E\000\007\223\304\004\000\016\216\304\0133\004RA\303NK\000\010.\013\031\001\374\303\022PLH\325B\000\004i\005L\276W+\003M\000\004\214$\n\277SPP\211\234\001\303\005\323\302\024P\327VIP\316\232\006P\300\232\024PV\351O\000\000\215%V\303\303\023PVT\024\000\000\034\006T\362\305\022Q\320\242\002\000\003\370\306\004\274\000\n\357\306\013RMAR\243\231\006R.\237\231\024ROC\000\000P\000\001\312\307\004p\000\010A\014(\000+\001100\000\004\036(\007R100\245\307\022\\\001\034\010x\014\025r\0070\023SIRS\267\235\005\\\000\007\341\014VIR\333\235\006R\315\235\024\017RVOL\000\001\345\005\014\000\242\023\274\255\345\001\221\337\001Real\372\302\002A\177RSAREXT\000\003\200\367\311\004\000\n\356\311\013+\000\033\007\301\311\022\326\300\001I\207NHS\001\000G\005\001\007>\014I\271N\031\0077\023MAS\221\235\006SN\215\235\024SMI\000\000\264\005M\214\235\023\017SQRT\000\001\333\005\014\000\251\023?TDDEVS\001\002\207%\220\001\t\200,\311\330\001\315\330\002F\000\003*\006O\007CHFJ\024\372\330\003\200\331\005&\t\355U\370\257\331\002O\t\3443UBSUB\260\274E\001\006\262L\320\242\tSU\346\212\023S\017UPER\310\227\002\000\007O\006\023\005\374\350S\371\321\002Shadow\200\340\307\001\004\003\341\307\002\017\003\340\307\005\004\007\022\010sx\370\316\003\376\316\003\357\236\001opy_\264\316\005\177__deepc\005\013\377reduce__\217T3T3\265\317\004\000\006\250\317\013T?ANTANH\000\001!\005 \014\000\204\317\022\325\313\007\306\313\025\223\352\001C\000\002\271\320\003~\000\010_Clone\005\t\357Open\000""\rAnd\357Fill,\tPee}k<\tUpdat<\n\314\243\331\002v\002OS\000\004c\010OSq_a\006\005\004Z\tOS_Y\006wOS_S\010OS_P\007\200\264\010E\007T\002\247\tA\007=\t=\007Dj\264\354\001D\000\003D\210\047DD\232\006l\004\004\375\010DD\230\006DD\225\010\033DDM\010OS\362\"\211\322\002\340&\000\227\322\002\336%\004\006O\t\271\322\001\330%\305\322\002\323\047\254\324\322\002\321&DR\265\002R\251\010RZ\252\007R\371\rDR\252\007R\250\tUR\201(X\210\"XT\003XO\tUXQ\010XK\017XS\010XR\n\251XS\n\326(X\327\047X\234\016X\n\327\047X\325)X\256H\242H\242G\346\016\250\240G\235I\275gO\264\360\001O\201\205\007O\252\222\204\006O\274mO\216\204\006O\212\204\010O\252\211\204\007PH\002PC\010PE\007P*?\016PG\007PF\tPH\010\307\324\001\000\326\361\001\307\324\004\000\010\264\206\007\332\324\005\266\206\005\004\t\263\206\010\000\201\325\005\266\206\005\221\325\005\264\206\007\243\325\005\265\206\006\213\325\002\235\207\006 \231\325\002Y\t\335\205\r\272\325\002S\t_N\013\263\206\007\007SIN\254\363\001\302\325\001\374\207\006\317\325\001\371\207\005\000\004\005\362\207\010\356\325\001\361\207\005\372\325\001\353\207\007\210\326\001\350\207\006\002\270\211\002_\363\325\002\326\210\006\201\326\001\323\210\005\004\005\314\210\010\200\240\326\001\313\210\005\254\326\001\305\210\007\272\326\001P\007\354\205\002T\252\346\205\010T\347\205\007T\340\205\016T\347\205\007T\002\345\205\tT\346\205\010\320\326\002\265\365\001\322\326\003\207\212\006\341\326\003\000\206\212\005\004\007\201\212\010\204\327\003\202\212\005\222\327\003\376\211\007\242\327\003\000\375\211\006\210\327\004d\003\375\326\003a\010\216\327\003d\007\006\007\000c\n\265\327\003h\007\305\327\003h\t\327\327\003\364\212\005\272\327\003\007TA_\274\327\004\346\213\005\313\327\004\345\213\004\003\010\200\340\213\007\356\327\004\341\213\004\374\327\004\335\213\006\214\330\004_\006E\003TAb\001\356\327\001[\006\373\327\001Z\005\004\005\200U\010\232\330\001V\005\246\330\001R\007\264\330\001\271\006O\215P\273\001OP\241\215\006\267\330\001\261\005O1P\336\213\014\324\330\001""\253\005OP\256\214\007\354\330\001~\211\215\005CCITA_\264\330\001\000\365\215\005\300\330\001\361\215\004\003\005\351\215\007\335\330\001\347\215\004\350\330\001\000\340\215\006\365\330\001J\006\333\330\005U\001\315\330\006V\006\337\330\006\000]\005\004\n`\010\210\331\006i\005\231\331\006m\007\254\331\006\000r\010\236\331\010|\003\240\331\t|\010\267\331\t\202\007\006\r\000\204\n\352\331\t\214\007\200\332\t\217\t\230\332\t\224\t\375\331\003\000\225\004\377\331\004\214\t\222\332\004\211\010\007\010\202\013\275\332\004\000\201\010\317\332\004{\n\343\332\004\230)\303\332\007\235$\305\332\010\000\230)\334\332\010\231(\007\014\226+\217\333\010\231(\245\333\010\000\227*\275\333\010\270I\240\333\004\272D\242\333\005\262I\266\333\005\000\260H\007\t\252K\343\333\005\252H\366\333\005\245J\213\334\005\000\303i\351\333\t\312d\353\333\n\307i\204\334\n\312h\007\016\000\311k\273\334\n\316h\323\334\n\316j\355\334\n\361\204\t\312\334\n\000\371\204\004\314\334\013\367\204\t\346\334\013\373\204\010\007\017\373\204\013\237\335\013\000\201\205\010\270\335\013\202\205\n\323\335\013\244\207\010\260\335\n\260\207\003\262\335\013\000\262\207\010\313\335\013\272\207\007\006\017\276\207\n\202\336\013\310\207\007\232\336\013\000\315\207\t\264\336\013\242\t\224\336\010\246\004\226\336\t\240\t\256\336\t\000\240\010\007\r\234\013\343\336\t\236\010\372\336\t\233\n\223\337\t\000\371\211\010\365\336\005\200\212\003\367\336\006\375\211\010\213\337\006\200\212\007\006\n\000\377\211\n\270\337\006\204\212\007\313\337\006\204\212\t\340\337\006\177\t\303\337\005\000\205\004\305\337\006\201\t\332\337\006\203\010\007\n\201\013\211\340\006\000\205\010\235\340\006\204\n\263\340\006\226\214\010\216\340\014\244\214\003\220\340\r\000\250\214\010\253\340\r\262\214\007\006\021\270\214\n\346\340\r\304\214\007\200\341\r\000\313\214\t\234\341\r\260\t\370\340\014\266\004\372\340\r\262\t\226\341\r\000\264\010\007\021\262\013\323\341\r\266\010\356\341\r\265\n\213\342\r\000\266\n\352\341\010\270\005\354\341\t\260\n\205""\342\t\256\t\010\r\000\250\014\274\342\t\250\t\324\342\t\243\013\356\342\t\303\220\010\311\342\013\000\320\220\003\313\342\014\323\220\010\345\342\014\334\220\007\006\020\341\220\n\236\343\014\340\354\220\007\267\343\014\362\220\t\322\343\014\251\tOJI\010\244\004\271\343\004\000\013_\247\t\275\343\005\242\010\007\t\000\231\013\352\343\005\226\010\375\343\005\216\n\222\344\005\206\014i\rQ_g\013\242\241\014\371\344\004__\013_Y\r\001_\243I\275\344\t\247D\277\344\n\241I\330\344\n\241H\000\007\016\235K\217\345\n\237H\247\345\n\234J\301\345\n\240\225\010\000\242\345\006\250\225\003\244\345\007\246\225\010\271\345\007\252\225\007\006\013\252\225\n\000\350\345\007\260\225\007\374\345\007\261\225\t\222\346\007\206\t\357\345\013\221\004\000\361\345\014\222\t\214\346\014\231\010\007\020\234\013\307\346\014\245\010\000\341\346\014\251\n\375\346\014\252\017\244\357\001\253\n\345\346\002\242\017\000\374\346\002\237\016\r\006\230\021\257\347\002\227\016\305\347\002\221\020\000\335\347\002\216\231\010\261\347\r\235\231\003\263\347\016\242\231\010\317\347\016\255\231\007\000\006\022\264\231\n\214\350\016\301\231\007\247\350\016\311\231\t\304\350\016\267\t\000\242\350\n\272\004\244\350\013\263\t\276\350\013\262\010\007\017\255\013\000\367\350\013\256\010\220\351\013\252\n\253\351\013\206\234\010\217\351\003\213\234\003\000\221\351\004\206\234\010\243\351\004\207\234\007\006\010\204\234\n\314\351\004\207\234\007\000\335\351\004\205\234\t\360\351\004p\n\323\351\005y\005\325\351\006x\n\000\353\351\006}\t\010\n~\014\234\352\006\205\t\261\352\006\207\013\000\310\352\006\211*\255\352\001\216%\210\352\006\000\016\240\213\t\302\352\t\000\245)\305\352\007\261\256\001\247,\342\352\007\257)\370\352\007\262+\250\220\353\007\233\016x\017_u\r_i\024_\022k\r_d\017\273\213\tH\312\353\004\256d\314\353\005\000\253i\340\353\005\256h\007\t\255k\215\354\005\262h\240\354\005\000\262j\265\354\005\262\204\t\231\354\003\202\005\215\354\005\000\r\232J\000\277\354\006\225)\007\013\221\014\343\354\006\226\t\370""\354\006\226\013@\217\355\006\224\017s\020q\017\222P\375\355\003_l\016\001_g\020\233J\264\355\010\332\206\004\266\355\t\333\206\t\316\355\t\000\342\206\010\007\r\345\206\013\203\356\t\356\206\010\232\356\t\362\206\n\263\356\t\000\210\245\010\216\356\014\226\245\003\220\356\r\232\245\010\253\356\r\244\245\007\006\021\000\252\245\n\346\356\r\266\245\007\200\357\r\275\245\t\234\357\r\260\t\202\357\002\000\254\004\204\357\003\236\t\226\357\003\226\010\007\007\212\013\277\357\003\000\204\010\320\357\003y\n\343\357\003p\n\301\357\t}\005\303\357\n\000\200\n\335\357\n\211\t\010\016\216\014\226\360\n\231\t\257\360\n\000\237\013\312\360\n\366\250\010\254\360\004\374\250\003\247\360\014\000\022\203\226\t\000\304\360\r\237\251\007\006\021\245\251\n\377\360\r\261\251\007\231\361\r\270\251\t\210\265\361\r\267\017\214\020_\206\016\251\226\017\263\362\004_\002v\016_l\020\270\226\t\333\361\t\301\253\003\335\361\n\302\253\010\000\365\361\n\311\253\007\006\016\314\253\n\252\362\n\325\253\007\301\362\n\331\253\t\000\332\362\n\335\254\010\267\362\013\242\004\242\362\013\237\t\274\362\013\242\010\000\007\017\241\013\365\362\013\246\010\216\363\013\246\n\251\363\013\245\r\007INE\244\010\230\363\001\231\r\254\363\001\224\014\000\013\005\213\017\331\363\001\210\014\354\363\001\200\016\201\364\001\235\257\010\000\361\363\005\244\257\003\363\363\006\241\257\010\207\364\006\244\257\007\006\n\243\257\n\000\264\364\006\250\257\007\307\364\006\250\257\t\334\364\006~\n\276\364\006\206\005\000\253\364\007\204\n\302\364\007\210\t\010\013\210\014\365\364\007\216\t\000\213\365\007\217\013\243\365\007\222\013\223\365\001\223\006\237\365\002\212\013\000\262\365\002\207\n\t\006\200\r\335\365\002\177\n\357\365\002y\014\000\203\366\002\243I\335\365\013\257D\337\365\014\261I\372\365\014\271H\000\007\020\275K\265\366\014\307H\317\366\014\314J\353\366\014\252\017\000\220\233\007\314\366\t\242\017\213\233\014\371\366\t\317\224\016\226\367\t\227\016\250\211\233\016\304\367\t\250\265\010O\331\215\010O\323\215""\016O\252\324\215\rO\315\215\024O\324\215\rO\322\215\017O\000\323\215\016\355\367\005\254\266\003\357\367\006\251\266\010\203\370\006\254\266\007\006\n\000\253\266\n\260\370\006\260\266\007\303\370\006\260\266\t\330\370\006\260\267\010\270\370\010\000\272\267\003\272\370\t\272\267\010\321\370\t\300\267\007\006\r\302\267\n\204\371\t\000\312\267\007\232\371\t\315\267\t\262\371\t\223\n\217\371\013\235\005\221\371\014\000\235\n\255\371\014\243\t\010\020\245\014\352\371\014\255\t\205\372\014\000\260\013\242\372\014\223\272\010\374\371\014\241\272\003\376\371\r\245\272\010\231\372\r\000\257\272\007\006\021\265\272\n\324\372\r\301\272\007\356\372\r\310\272\t\212\373\r\000\260\t\352\372\010\262\004\354\372\t\252\t\204\373\t\250\010\007\r\000\242\013\271\373\t\242\010\320\373\t\235\n\351\373\t\231\013\315\373\003\000\233\006\317\373\004\223\013\344\373\004\221\n\t\010\213\r\223\374\004\000\213\n\247\374\004\206\014\275\374\004\351I\233\374\007\352D\235\374\010\000\341I\264\374\010\336H\007\014\327K\347\374\010\326H\375\374\010\000\320J\225\375\010\211\204\t\362\374\n\215\204\004\364\374\013\207\204\t\216\375\013\000\207\204\010\007\017\203\204\013\307\375\013\205\204\010\340\375\013\202\204\n\373\375\013\000\250\n\332\375\010\254\005\334\375\t\246\n\365\375\t\246\t\010\r\000\242\014\254\376\t\244\t\304\376\t\241\013\336\376\t\213\302\010\301\376\003\000\220\302\003\303\376\004\213\302\010\325\376\004\214\302\007\006\010\211\302\n\376\376\004\000\214\302\007\217\377\004\212\302\t\242\377\004p\n\206\377\004x\005\210\377\005\000v\n\235\377\005z\t\010\tz\014\314\377\005\200\t\340\377\005\000\201\013\366\377\005\203)\327\377\005\213$\331\377\006\211)\356\377\006\000\215(\007\n\215+;\006\223(O\006\224*e\006\026\225IRI\260\254\007T\007\003\234\262\t\013\005\000\231H\036\004\343\245\0166\005\233HI\004\232J]\004\376\260\306\010UNIQUE3\373RI\362\235\001A_CDL\000\006\t\252\263\t\013\n\303\306\007\006\016\306\306\n@\n\317\306\007\360W\n\323\306\tp\n\233\tPSID\377EGAP2CRO\013WS\345\307""\003U\007\013\240\n\014\014\245\010\000\007\020\245\013G\014\253\010a\014\254\n}\014\223\311\010\375X\264\0043METHO\001D\266\004\006\r\225\266\t\013\016\262\311\007\006\022\271\311\n\300H\016\306\311\007c\016\316\311\t\200\016\253\313\006EI\001L\261\313\001\004\000\274\267\007\t\001\257\313\005\004\005\255\313\010\300(\001\261\313\0054\001\260\313\007B\001\205\314\006MF\006\212\314\001MF\224\270\007\t\000\206\314\005\004\004\203\314\010\200&\000\206\314\0051\000\204\314\007>\000I\007\316\325\001C7MOUU\002OUP\010\n\000\000S\006\005\004Q\t)\000U\0065\000T\010C\000\210U\010F\t\305\270\006M\237\326\r\200\000\275\270\006M0\246\326\010\024\001\205\316\006\340\347\001CK\216\316\001\004\003\000\234\272\007\t\004\222\316\005\004\010\223\316\010.\004\232\316\005=\004\270\234\316\007N\004e\007RRE\306BO\000\005\001b\010\n\002c\006\005\006_\t-\002a\006\340;\002^\010K\002\315\007\234\206\002OSH\006\325\002SH\314\010\n\000\313\006\005\004\305\t\000)\000\305\0065\000\300\010C\000U\010F\t\311\273\006\252\273\336\016C\301\336\007C\276\336\tC\276\336\010C\000\342\342\002\221\321\001\352\342\003\217\321\006\371\342\003\223\321\005\004\007\223\321\010@\234\343\003\231\321\005\252\343\003\232\321\007\272\343\003\361\321\006V\365\321\002\033VI\200\276\007VI\204\275\006\004\004\357\321\010\333VI\374\274\006VI\366\274\010VI\016\373\337\006DEM\366\323\001\003\001\303\341\006\010\002\000\301\341\004\003\006\272\341\007\047\002\271\341\0043\002\263\341\006A\002~\260\341\005DIVTA_\003\000\026N\007IV\255\341\005D\004\004K\010\032\000\340M\005%\000J\0072\000J\006ONC\033HI\327\343\001_D\004\004\253\007\t\005\000\261\005\004\t\262\0100\005\271\005@\005\273\007R\005T\300\006\217\335\002D\211\335\010D\212\335\007D\203\335\016UD\212\335\007D\210\335\tD\211\335\010D\242\340\001SDX\350\047\301\337\006D\271\337\rD\277\337\0065D\274\337\010D\274\337\007EF\213\326\001\003\000\000\203\345\006\010\001\200\345\004\003\005\370\344\007%\001\366\344\0040\001\300\357\344\006=\001\353\344\005\216c\227`I\007MA2""\350\344\005E\004\004H\010MA\346\344\0050\001\326I\007MA\343\344\006E\347\342\001ERb\246\002R\266\204\007\017\000O\006RI\353\344\014\204\031\001\243\005R\265\204\0101\001\242\006\263\343\007E\252\263\343\006E\253\343\rE\261\343\006E\256\343\010E\306\256\343\007EX\243\331\001\003\000\273\047XP\"\351\006X\227\331\r%\001\275%X\234\331\010=\001\036\260\347\005FLOO\334\344\001\003\002\237\350\006\000\010\003\236\350\004\003\007\230\350\007)\003\230\350\0046\003\223\350\006\010E\003X\006\231\346\003F\353\345\001\377\350\005\010\002V\005\004\204\346\001\314\271\013F\220\346\0103\002Q\007\261\346\001\262\006_RACTA\255\216\001F\004\003\000\265\007\t\004\271\005\004\010\270\010.\004\275\005=\004\370\275\007N\004\241&UNC_F\367LAG\344\351\001Func\377TableAll\337ocTA_\010\006Fr\335e\346\352\001Get \001Ha\367ndl\005\010Info\367TA_\033\000Inpu\377tParamet\373er\016\007Lookbwack \003Opt\021\025\367Out.\021roup\322\215\nG\t\006\224\004H\301\336\001HA\"\214\354\006H\254\205\006\003\004\377\353\007H\252\205\006-\000\n\364\353\006H\247\205\007H\223\212\002\003\000D\007\372\205\007\205H\363\205\016H\372\205\0070\001H\007\371\205\010H\377T_DCPERIAO\256\353\001\003\010\247\007\030\007\327\354\005H\004\014\000\270\010\"\010\310\355\004H\t\313\007J\010\315\355\005\205\003\007HAS\356\340\001\003\007z\014\034\001z\013\000\t\006w\r&\002y\n8\002v\014L\002y\010\001P\177\000\240\206\002\230 \006\003\377\t\013\004\313\357\004\000\031\007\240\300\0131\007\373\007E\004\367\tX\004\366\010\211S\313\261\003\223@S\301\261\t\010\005m\007S\010\263\261\017-\005\356\047S\260\261\nM\005\345(\335\363\002\001Lk\006\006\006\361I\013\007\353\007\006\013\362J\300:\007\366GN\007\365Id\007\202\rMO\001D\375D\376\364\002\013\001\201\016\020\002\203\014\013\006\200\200\017?\002\203\014S\002\201\016i\002\341\362\005I\001M\324\344\001\003\000\314\363\006\010\001\311\363\004\003\005\301\363\007\300%\001\277\363\0040\001\270\363\006=\001J\006NP\373UT\322\210\006Initioaliz\255\364\001KA\364\221\002\000\003\001\274\364\006""\010\002\272\364\004\003\006\263\364\007\047\002\262\364\004\3203\002\254\364\006A\002\251\364\005K\250\365\001KC\032L\007C\243\364\005KC\315\363\014#\000H\005\361C\233\364\0079\000C\006DJTA\017_KDJ\232\007\t\000\233\005\004\004\000\227\010&\000\231\0051\000\226\007>\000\310\365\005\303\343\001\377ARREGTA_~\003\006_ANGLE\000\017\000\327\366\006\033\014\365\365\005\003\021\344\366\007%\r\356\366\004<\r\360\363\366\006U\r\242\016|\020INTE\037RCEPT\302\n\r\006\026\031\000\263\017-\007\204\311\013\236\047O\007\274\016j\007\276\020\300\207\007\303\017\254\371\004\203Ge\025\257.SL\003OP\250K\r\002\243P\022\003Y\016\r\007\010\242QG\003`\023_\243Pw\003\244O\316P\254\205\204\006\301\362\001LN\336gN\322fN\250\372\371\014#\000\271eNs\010N\307\372\006L\017OG10\322\204\001\004\001\260\204\007\t\002\000\334%\004\006\233\204\010*\002\224\204\0057\002\210\204\007F\002\234\203\374\005\246\232\002MAC\355\372\001\003\001E\001X\362a\003\004\202\375\006\010\005\203\375\004\003\t\377\374\007\300-\005\201\375\004<\005\376\374\006M\005q\007CD\003FI\331\371\001|\001\007\000b\n\014\001d\010\000\007\005a\0131\001d\010@\001b\nQ\001c\t\242\304\n_\303\010\222\375\014\215!_\275\010_\004\270\n\345\375\006M\353\211\003\003\001\240(\316\230\007\024\002\230\373\317\013\047\002\231&MAN\t\321\230\010M\037ARKET\202\232\002\003\005\202H\000\026\003\266\007\005\010\203I \004\207F0\004\206HlB\004\203gSS\205\362\001MA\005\000\000\362H\n\001\362F\005\005\355I+\001\356F8\001\350\352HG\001\344gV\270\363\001MAV\210\263\363\007\010\002\320fV\257\363\r\047\002\312fV\360\266\363\010A\002\276\204\007\303cXIND\031E\000\010\207\235\007MA\026\003\355G\005\010\000\272\204\t \004\276\204\0060\004\275\204\010B\004q\010\237\205\010\201XV\010\306n\271\376\006\213\000\311i\270\376\007M\300\342\226\007\275i\220\204\016\225\204\007\221\204\t\221\204\007ED\036\315\370\002TA_M\004\004\304\206\007\t\005\000\307\206\005\004\t\305\206\0100\005\311\206\005@\005\310\206\007R\0054\305\207\006\254\204\003F\304\243\007MF\305\243\006""\003\005\242\247\207\010F\305\243\006$\001\240\207\007F\304\243\007M?IDPOIN\221\210\002\004\004\000\215\210\007\t\005\220\210\005\004\t\216\210\0100\005\222\210\005@\005\210\221\210\007R\005\216\211\006I\265\047\004\004i\nR\017ICE_k\010\007\006h\013\"\002\300k\0102\002i\nD\002l\007\374\376\001MI\001N\274\204\006\004\004\347\010\026\003r\007\005\010\346\t\300 \004\351\0060\004\347\010B\004q\010MA\006\210\212\002IN\243\205\005\271a\004\007y\t\274\205\016\000\034\010\342\210\0146\010\204\007\204\206\006\205\t\231\206\006\206\013Pi\014\360\010\301\205\001Z\021_\\\n_U\014~\265\212\007INUS_D\355\210\002\000\004\004\335)\027\002\336(\006\007\334*!\003\337\047 1\003\335)C\003\332Hr\001M\327#\006\002\312f\rMg\014M\217\214\r\263\003M_\026h\013M_f\rM\340\t\271i\265h\320J\017\264(\257*\356\214\007O\271\002OM\252\227\217\007O\252\007O\236\016O\240\007O\032\231\tO\225\010UL\364\217\002\004\000\354\217\007\000\t\001\353\217\005\004\005\345\217\010(\001\345\217\0054\001\340\217\007\034B\001\324\377\005NAT\245\247\001\003\001\345\353\006\000\010\002\330\377\004\003\006\326\377\007\047\002\332\377\0043\002\331\377\006\250A\002Q\006\267\255\002N\261\255\010N\262\255\007N\252\253\255\016N\262\255\007N\260\255\tN\261\255\010O\001B\336\254\001\003\000\220\355\006\010\001\221\377\004\003\005\203\377\007\300%\001\373\376\0040\001\356\376\006=\001\344\376\005OUuT\246\233\tP\327\227\001NTI\226\231\002\000\003\007\200\356\006\010\010\364\376\004\003\014\361\376\0073\010\364\376\004\340E\010\372\377\006Y\010\367\377\005}\004RAN\020\341\263\001\003\010v\r\036\001_y\013\n\006w\016@(\002{\013;\002z\rP\002\202\006L\373\206\005iP\004\003\377\007L\364\206\nPL\354\206\021\004-\005\370\005L\357\206\014M\005a\013\370\206\001i\003\001M`\014\361\206\006\027\005\271\344\013-\005b\n\354\206\010\250M\005\340&\343\257\002P\335\257\010P\336\257\007P\252\327\257\016P\336\257\007P\334\257\tP\335\257\010P\252\254\263\002P\246\263\010P\247\263\007P\240\263\016Pj\247\263\007P\245\263\tP\246\263\010PV\231\271\001,""\003\000\373gVO\356FV\263\270\r%\001\242\350eV\270\270\010=\001\331fV\271\235\001P+VTH\010TI\007T\321\362\014%\001\302J\006T\316\362\007=\001\254\204\006\373\252\001Ho/lder\300\253\005P\t\007\303\253\004\017QSTI\265\271\002\003\003\326\364\006\010\004\000\242\377\004\003\010\225\377\007+\004\216\377\0049\004\202\377\006I\004\252\371\376\005R\336\265\002R\242\223\010R\305\261\007R\252\276\261\016R\305\261\007R\350\227\tR\304\261\010R\001O\341\242\001\003\000\263\260\001\003\001\223\366\006\010\002\262\377\004\000\003\006\244\377\007\047\002\234\377\0043\002\217\377\006A\002\252\006sOC\255\262\001d\000R10\320\234\001\010\003\004[\t\026\001_`\007\006\006`\n \002\000f\007/\002g\t@\002j\tU\nS\t\327\366\014*\227\001_N\010_I\n_\276\010\217)\300\245\010>\017D\010A\nC\007\354\231\002RS\210\366\271\007\010\001\345%S\260\264\r%\001\343%SP\365\271\010=\001\223f\316\272\002R\310\272\010R\311\272\007UR\302\272\016R\311\272\007R\307\272\tR\310\272\010\007RVO\350\301\001\003\001\214g\021\000\243F\000\004\005\213h\033\001\216e\047\001\214g5\001\300\204\006\177estoreC\366\261\002\377DefaultS\377ettingsT\017A_SA\341\266\001\003\000\222\240\003\003\003\000\254\373\006\010\004\301\377\004\003\010\261\377\007+\004\247\377\0049\004 \230\377\006I\004\214\377\005k\000P\t_O\007\201\373\014d%\001I\007_D\t\373\372\006SI\204\243\001\007SIN\353\277\001\003\001\255\007\021\000S\006\000\004\005\250\010\033\001\251\005\047\001\245\0075\001\244\006\003INF\tF\010\235\r&\000E\007\242\010UI\336\243\007S\256\276\002S\362\233\010S\225\272\007US\216\272\016S\225\272\007S\270\240\tS\224\272\010\321S\367\254\002\003\000\245GM\321\277\006SM\210\212\272\r%\001\236EM\317\277\010=\001\227FQ\005R\220\251\001S\004\000\372G\t\001\372E\004\005\200\365H(\001\366E4\001\362GB\001\361FT\027DDE\331\277\001S\004\002\330g\t\003\000\332e\004\007\327h,\003\332e:\003\330gJ\003\226^\007OC\213bT\005\000\342\307\001S\020\004\002e\010\024\001\360fT\005\006d\t\036\002 g\006,\002e\010<\002c\nR\320\242\002e\002\020\335\207\t\010""\006\325\006\231\000R\342\207\016/\006f\t\001R\361\207\tQ\006\331\n\306\013\306\n\276\205\r\211!e_\305\t_\302\013\312\205\007UB\221\207\001\003UB\371\206\007\t\000\370\206\005\004\004\362\206\010&\000\240\362\206\0051\000\355\206\007>\000\353\206\006U\206\232\001S\001U\302\230\007\010\001J\006\353\231\r%\001J\006\346\231\010\034=\001I\007PER\227\265\002\250\002\005\005\000\251\010\n\006\262\006\005\n\266\t5\006\300\006G\006\030\305\010[\006\302\210\006et\316\211\003\301\211\t\021\000\377ompatibiolity\334\211\001et\251\274\n\177Integer\007\020\357Real+\003Uns\375t\312\275\001Period\376\241\212\001hutdown\237TA_T3\000\002\242\372\006T\0013\222\371\005\003\004\217\377\007\030\000\201\377\004\"\000\356\376\006\004.\000\336\376\005T\221\306\002\003\000\254\312\001\003\001L\007\007ANHO\006\004\005O\010\033\001T\005\000\047\001T\0075\001U\010F\tF\010\256\372\014\206\000\245_E\007_B\t\242\372\006T\357\310\003T\026\326\304\tTE\331\304\007T\322\304\017\047\002\373\005x\331\304\nA\002\376\006RANG\243\355\001!T\004\002\321\047\t\003\250\377\004T\004\007\330(@,\003\337%:\003\341\047J\003^\007I\263\312\002GTRI\371\247\010\010\003\\\006I\231\306\016\204)\003Z\006I\307\254\tE\003V\010\240\310\001T\003RI\234\310\007\010\002T\007\232\310\r\047\002R\007h\243\310\010A\002\241fS\255\322\001TS\247\322\007\000\010\001\222%\024\000\377\376\013%\001\363e1\000\362gh>\000I\007\224\315\001T\215\222\010TS\217\315\006\201T\207\222\016%\001J\006\215\315\010=\001\307\204\006Y\005P\213\252\005T\004\004\236\205\007\t\005\307E\004\t\200\251\205\0100\005\262\205\005@\005\266\205\007R\005\261\376\005U\003LT\317\306\003\003\003\225\376\006\010\004\256\377\004\003\010\200\246\377\007+\004\244\377\0049\004\235\377\006I\004\231\377\005V\000\245\222\002\003\000\367\376\006\010\001\331\374\004\003\005\342\376\007%\001\240\375\377\0040\001\363\377\006=\001J\006H\204\326\001V\001H\376\325\007\010\001K\005\024\000\366\354\013%\001K\005p1\000I\007>\000\235\006ORT\232\257\002\001V\004\002\242\007\t\003\247\005""\004\007\247\010,\003`\255\005:\003\256\007J\003\205&WA\372\312\001\001V\004\000\206\047\t\001\211%\004\005\207((\001\300\213%4\001\212\047B\001P\007\331\321\002VW\000\236\257\010\010\002Q\006\274\315\016\047\002Q\006\350\263\tA\002\006\227\377\005WA\300\306\001\003\000\375\372\006\010\001\353\376\004\000\003\005\331\376\007%\001\315\376\0040\001\365\377\006=\001J\006\013CL\376\257\005W\004\004S\007\t\005Z\005\000\004\t\\\0100\005d\005@\005g\007R\005\300\006\027ILL\230\317\001W\004\001\303\007\t\002\000\307\005\004\006\306\010*\002\313\0057\002\313\007F\002\250\241&\334\324\002\366)W\303\320\007W\274\320\016Wj\303\320\007W\346\266\tW\302\320\010ZL\260\325\003\000\003\002\376\375\006\010\003\270\377\004\003\007\251\377\007)\003\240\377\004\3006\003\222\377\006E\003\211\377\003\217\326\001\371\321\001St\337reamT\001\007.o\377pen_and_\017fill\335\213\003\342\213\004%\004\360\213\003\2003\003\036\r\256\213\001\252\213\002$\005\267\213\001\024\024Xl\364\212\002 \006X_>\022SF\303\212\001\226\240\004SF\016\024I\225\212\001\035\005I\0004\023\346\211\005\343\211\005\364\004\001\013\361\013\246\211\003\242\211\0048\245#\000\n\237+VAR\353\210\001\315#L\000\007\026\014HF\275\210\001\036\004H\273\023\000\207\210\003\214\210\004I\004\232\210\003\3431\321\207\001\324\207\002s\004\314\340\207\001\022\023MA\242\207\002 \005MA\016\3372WAD\361\206\001\225c\000\007\214k\000\267\206\005\276\206\006(\004\316\206\005\214q\373\205\002\377\205\003V\004\\\214\206\002\026\022MAW\226\006W\222\024\340\237\205\002\233\205\003\302\204\003\000\t\273\204\013_AR\377RAY_TYPE\375S\352\322\002tion__\377call_fun\365c\n\002F\001\005_che\377ck_opt_i~\346\322\001_value-\010\347get\003\030.\003pri\377ce_serie\237s_nam\003\000W\007l\365ox\000_\001\014data\370\222\0100\001\000\014str_I\304\354\312\002\313\002S\312\004\r\003\333\272\002_S\367ERI\341\000DEFA\377ULTS_PAN\377DAS_DATA\237FRAME\t\005!\004P\217OLAR\022\n\013\003@\004T\377A_ReadLe\357ase_\001\t.__\177enter__\006\016\367xit\004\017redu\236\214 cyth""\365!<\rs\377etstate_>\025\tWriter\006\004\007\200n\013\n\013t\006\"\nk\020B\nm\017_\367Pyx\001\000Dict\377_NextRef\376\345\002FUNCTIOWN_N\311 S\373\000_\277a^\203 anno\275\002_\320d\371_\317m\277t_clas\323s_\320`\353\000mN\001co{pyV\001deep\003\006\234\205\001\352 docq\001\364%_\341e\350#\300\204\002\212\001\226\204\001flaOgs__\221\204\021[\tg\354%V\301@in\260B_\242\204\026_\254\204\003\337_main\362\001me\363ta\263\003\377@modu\033le\022\002ro\224a\357\204\002\230`\354\276\204\002\004\001ew\247!pre\227par$\002p\334 \341\205\002s\371u\361\000\n\001resul\350\267`\026\001\206c_!\001typ\374W\000+\001unpickDd\001\211\204\n_\013\016\255h>\002v\232\234\002\236\250Aqual\214\005\213\204\004_3__\214\204\r\t\005ex\334A\261\000\276\342\204\001_set_\310\005s\370\260(\251p\243\206\001___ta\237_vers\345\207\002\013\000e\375s\224\205\001_unico\245d\252!d\331a\307\207\001d\342\250\003s\374\363\215\002\337@s_is_c\377oroutine\236\370 okupK\001\222\210\003soucce\260`ta\361C\273unW\000id_\001\014s~\003\013retire!\002\001g\332\334\003\314\334\001\241\001\010\004\216\335\002\t\004\356\333\007\000\032\004\340\334\0173\004\320\334\022\024\005\324\334\017i\004\333\0004\356\237\010\r\005u\303\237\004_p\306\237\002\275!ii\310\324\006\313!r\230\253\003_c\225\336\002\201_\261$\227A\234\253\002\356!\243A\030\004sD\261\253\004\016\006oe\014\317Aa\020s\271\240\004\377a_closea\377_higha_l\257owa_\233\221\001a\231\004s\255a\270`al\000\0030\007\0031~\361@olumea\241@\217lera\345\213\001\000\t\346\205\001l\367ong\004\rshor9t)\t\025\rmax\000\020&\016\366A\004qu\351Aappe\337ndarg\000\000sa\377rraysasc\357iias\323\205\001asy\337ncio.\341fsa\335t\314\207\002atr\374#av\375g\205Cbbegid\377xbitbyte\277s2strc\237Dc\374\230\215\003\215Cstickc\375l\262\204\001in_tra\263ce\214\341\001\305 ne\310\"c\257olle\352\215\002s\010\000u?mn_sta0\000\260!}n\020\000pydde\234\205\001\370\324E\366\215\002\231\205\005descr\373ip\271\216\001displsay\325\215\002\257\205\001doc\363 \373nt\354\"empty\370\367\000\260\000\375\000swit""h\363en\222@\214@efac\357torf\200 d_maa\333\207\001\006\003\356c\024\001k_\002\007\037limit)\001!\007\"\004\357irst-\004lag\214\357\211\002\363\211\003lo\252\206\002\332\206\001\327\217\001_<\370!\004\002info\r\002\234!\016\026\002obj\212 \370\217\006?\003\207\220\005\004\260\217\001\224\220\005s\356\217\001\206\220\003\301C\006\007\326\217\002\232\215\220\001p\210\344\005sg\304\343\001\000\002s\275h\277\344\002help\301\204\001h}i\332\261\001ylenh\264\270\002wiid\323@imp\371`\377_errorin\037index\247\001c\t\201\221\003\324\302\220\001\000\007s\320\220\025i\257\247\003isy_\203B\323\214\001skey\000\000\367skw\206\204\001left\357bars\205\000gth\372\207\221\002l\263\345\004lowlo\367wer\224Cmaxi\277mummax\214\207\003m\277emomin\006\004i-s\200\000gm\001\003_[\001\203\214\003\377msgmulti?pliern\367\221\001\373\221\001\357dtup\366\000ann\257bdev\000\002d\006\003uWpno\305\215\001s\342\263\001_\332)\004\261`\374\222\003s\006\001\207\223\006\010\003\276\346\002\025\001\373py\302Coffse_tonre\363\212\001e\306\231\001\020\312\231\001\300\251\001\264\210\002\316\231\to\230\347\001\330\223\006\333\223\014\375s`\007ordere\375d\247\213\001outout\237aroon\332\251\001\004\005u\377poutbear\341p\264!\007\002\247\206\001\021\001ull\376\r\005doutfam\355a\002\002st\t\003stk\037outha\342\210\002\005\002\346\210\001\216\016\002low\026\002\300\002\203\214\001p\217hase\214\214\002\215\253\002\000\007_~\263\224\001outjouJ\002\217lead\230`(\001\305Bb}a\254\000utmac\200\001\370\003\001\201\204\002\014\003signaslo\033\001\227\002max\010\002\327xid\000\006xZ\005mioddleH\005in3\001\343in#\004\004\002 \007nus\377vioutnbe\337lemen\267!plz\016\004p\305\"put_\246\221\002\221o\210\352\002\237\226\002\000\010s\021\003\000\004s\372\200\227\001i\302!quadroatur\212!re\271\002\340\003\001\341\t\023\001\241\n$\001upp\363er\207$\232$slow\030\226A\004\001\207Asm\260\001\003\000\217&\377supertre>\277\"swing\234D\007\002\370\240C\027\005X\006panda\301s\213\207\002\220\207\002\372\227\002\225\207\007\244\207\002sp""\357enet\232\214\003per\177centile\363\215\003~\371\215\003spolar\003\000)p\306\230\002\313\230\0020\321\230\0021\320\230\t\327\230\016\322\250\231\003s\373\230\002\003\000o\275\001yr\217ange\310\222\001\256!\262!0\376\267!1replac\215e\366\222\003sr\216\000\220\260\001\357\204\001t\275_\242\221\001righ\246\207\002r\047oc1\220\217\003\007\0002\001\006\014\004\377unsschem\177asecond\271\004\007elf\371\231\003\267\222\001\335\232\006\207\215\001\310\222\001\340\302\211\t\006\007\244\232\002\347\222\001\304\211\007set\200\231\222\005\203\274\003\217\224\001\263\204\003\272\213\003\277\204\003\256$k\017ip_f\230\213\001\327B\333\213\004\006\003\036\320$lowk\r\010\346\213\005\210a8\351\213\002\221aR\004low\205D\241\215\001\377levelsta\343rt\213\234\002\254\231\002\262\231\001icm\377ethodstd\267dev)\005r2\246\216\002s\366\335\242\002sy\236\262\003tali\363b.\226\224\001\005\000thre\377adingtim?eStamp\005\001\366\221\003\352\000\0071\013\0072\026\0073to?_numpy\234\226\001\237\226\002~\377\223\004update\000\003\031_\356\214\001\362\204\002us\207\235\001\336\232\003\310\235\002\324\274\003\230\225\004v\216\216\003v\264\221\002wasrn\000\001\356\276\001wma\205\223\003\377\200\001\330\004\005\340\t\027\377\220q\330\010\013\2104\210\377q\330\021\022\330\020\036\230\377n\250A\330\014\035\230Q\377\320\036/\250q\330\014\036\373\230a&\001\007\200u\210C\376!\000\010\020\220\005\220Q\330\377\014\r\330\020\026\320\026+\373\2501*\001 \240\013\2501\367\330\010\017A\000\004\013\320\013\337\034\230A\230Q/\003y\220{\003\220\023\004\t\022\220#7\000\037\010\026\220a\330\000\t\000\025\000-\364\000]\235\200 \340\330\002\004\014\320\014\377#\2409\250C\250x\260\377q\330\004\n\210%\210q\377\220\001\330\010\027\220z\240\271\021\362!\262!F\260!\375!,\377\250A\250V\2601\200\001\363\340\004\205A\211B\r\016\330\014\277\032\320\032.\250a\375 \004\177\025\220Q\320\026-\250\315 \377\340\004\037\230q\320 0\377\260\013\270;\300k\320Q\377R\330\004\023\220=\240\010\377\250\001\250\021\330\004\007\200\177|\2207""\230!\330\010\263@\377\3200@\300\016\310a\330\347\004\013\210V\002%\020>\240\030\357\250\021\250!-\0100\260\001\377\3201B\300.\320PQr1\005\t\250A\213\001\027\320\027\350@\360\016\006\260a\237\004\241`\260\r\270[?\310\013\320ST\330\247\003\266\000|\315\000\277\t:\270!\2701\027\004\3739\270\201 \340#$\360&\177\000\005\014\210;\220a\375`\377\004\r\210T\220\026\220q\373\230\001\304\001w\210c\220\021\376\313`\320\017 \240\001\240\023\377\240A\330\t\n\330\010\021\377\220\035\230a\230x\240z\367\260\024\260\236\000\r\210U\220\177\047\230\022\2307\240\"\036\000\377\004\024\220A\330\004\005\330\376\247\002\220w\230e\240?\260\377\"\260A\330\010\022\320\022\177#\2401\240H\250A\027\002\377\031\230\026\230r\240\024\240\377Y\250k\270\024\270V\300\3771\300I\310]\320Z[\377\320[g\320gh\320h\377w\360\000\000x\001C\002\356\004\000C\002J\003\001J\002P\356\n\001P\002Q\021\001Q\002R\313\002\340\234A\030\247\001\230@\220i\373\230q\337%#;\2701\360\335(u^M\300\021\260\200%c\320\377cd\320dp\320pq\356\325\000r\001A\324\001A\002L\356\333\001L\002S\342\001S\002Y\356\351\001Y\002Z\360\001Z\002[\3743\251\331\000e\320eq\320q\335r\264@s\001B\263AB\002]M\272AM\002T\301AT\316\007n\327@[\002\\\244W$%\264\203[\177\320#3\2602\260Q\200\204\020\377\027\240\002\240$\240i\250\377{\270$\270f\300A\300\377Y\310m\320[\\\320\\\377h\320hi\320ix\360\337\000\000y\001D\217\204\001D\002\365K\226\204\001K\202\204\007\360\000\000R\334\306@\205\204\013j\240\001\362\206\005$\270a\360,\265\201.Q\242\241\2016l\302\212\014\267\221\017\306o|\276\221\005t\377\320tu\360\000\000v\001t\321d\273\221\004W\323\221\001W\002]\332\221\001w]\002^\341\221\001^\002i\350\221\001wi\002t\357\221\001t\002{\366\221\001w{\002A\312!A\003B\321!\257B\003C\003\2073\220\220\225\001&\275\047\327\215]5\260R\260\204\211\021\031\377\240\"\240D\250\t\260\033\377\270D\300\006\300a\300y\377\320P]\320]^\320^~\374\212\003z\360\000\000{\001\311d\350\215\220\004\354\221\004\224\220\004U\274\223\014l\240!\236\252\226\005&>\320>\226\205\001\364\212\001\016\377\210[\230\001\230\021\330\004\377\r\210V\2206\230\021\230E!\201\225!\026\367\227\001\206\225\034\320\212%&\325\010\377j\320js\320st\360G\000\000u\310\223\005\361\221\004\232\225\004\\\271\225\001W\\\002c\300\225\001c\327Ej\316\225\001\267j\002k\320\214\027\047(\237\221]6\357\260b\270\001\377\226\020\032\2402\377\240T\250\031\260+\270T\377\300\026\300q\310\t\320Q\356\302@_\320_\373\212\003{\360\000W\000|\001\212\207\004N\226\227\001N\324\223\005\335U\244\227\001U\002V\204\227\014m\240!1\362\231\005\320\003\346\201Y\325\212\0376\220\200C\355\212\010\362\251@*\245\207d\256D\021\320\021\"\217\240!\2408\342\237\001\001""\010\246\235\001\031i\230\225\202)\364\205\022_\354\232\001_\002\236\204\004\335p\372\232\001p\002v\201\233\001v\002\335w\210\233\001w\002x\316S9\220\377A\200\001\340\047?\270q\334\206\225]\272\204\001\r\300Q\227\204&f\320\017fg\320g\242\206\006\271\227\004\236\222\004\321\214\004\360\244\206\004\210\212\006\314\234\013\273\204\t?\320?V\377\320Vm\320mn\3604\374\371\215p\367\003Z\310z\320YZ_\330\010\033\320\033\263\241\001X\311\231\001\377\034\320\034-\250Q\250h\370\367\220\001\r\010\375Yh\320hr\320\377r{\320{|\360\000\000Q}\320\222\005\346\236\004\207\235\004d\376\236\001d\216\214\005t\335\216\004\226\214\004F\347\216\001F\003Q\356\216\001wQ\003b\365\216\001b\003h\374\216\001wh\003i\203\217\001i\003t\212\217\001wt\003\177\221\217\001\177\003O\347\216\001wO\004U\356\216\001U\004V\365\216\001\357V\004W\004\3321\320\013\036w\320\0362\227\243\001\340()\260\233]\3577\260r\270\267\237\021\033\240B\377\240d\250)\260;\270d\377\300&\310\001\310\031\320R\377_\320_`\320`l\320\301l\200`\261#\321\230\004\357\226\004\201\211\006\360\000/\000V\002W\225\241\014n\236\242\001\205\244\003\302\323\000.\272\222p\331\017\212\223\033\360\020a\320\377ab\320bn\320no\377\320o~\360\000\000\177\001(\231\243\004\222\243\004\327\220\004X\270\243\001X\367\214\005\245\223\004\252\302\220\022M\257\223\001M\244\223\005c\275\223\001c:\271ej\313\223\001j\003k\353\220\014\302$\376\216\223\006(?\320?W\320W\371X\277\232]\246a\034\300]\320R\371S\277\245\020\234p^\320^k\320\353kx\234\2256p\246x@\320@?S\320Sk\320k\377#\265\244\007\3758\341\202t\035\300m\320S`{\320`\227\205\001\320|}\330\344\227\047N\323\205\023l\320l\354\233\003\367\227\013e\221\250\001we\002f\230\250\001f\002r\237\250\0017r\002s\246\250\001s\002\242\225\004\313d\335T\210\230\001T\003Z\217\230\001Z\003\335[\226\230\001[\003f\235\230\001f\003\335q\244\230\001q\003~\253\230\001~\003\335D\201\230\001D\004E\210\230\001E\004\335P\217\230\001P\004[\226\230\001[\004\335f\235\230\001f\004l\244\230\001l\004\235m\253\230\001m\004n\231\230\014\201""\204\r)\375*\265\252\037\210~\230Q\230c\373\240\021\301\23228\270\002\270!\337\330\010\025\220^\311\252\n\034\240\377R\240t\2509\260K\270\177t\3006\310\021\310)\215B\367a\320a\257\214\001\320n}\360\007\000\000~\204\226\005\311\252\004\325\232\004\256\206\006\311\252\013\377o\240Q\330\004\026\220f\357\230J\240a\372\253\002\014\210G\377\320\023#\2401\330\014\033\217\2301\230F\241\226\007\317\200!\216\2549\320\201#\355\004\272\254\016\320\200\"\260\240\004\313\200\047\255\257\003)\377A\320A[\320[u\320\317uv\3600\221\233d\330A-\300\377\177\320Ve\320ef\330\377\010\023\320\023$\240A\240\007X\250Q\000\t\300\256\004\333S\222\212\006\241\226\004\250\215\244\004\246\242\004\223\230\004k\332\256\001k\330\222\005~n\350\256\001~\002D\274\236\001D\003\300\236\004EP\312\236\001P\263\205\005\366\211\"\254b\013\314\260\001\337\200\001\340*+\354\252]9\270\373\022\270\266\244\021\035\240b\250\004\377\250I\260[\300\004\300F\277\310!\3109\320T\213\214+Y\336\322\260\013\320\026&\240\277\263\006+C\375\300\202\260\\\320#:\270\"\270\373M\310\316\260\021\036\240r\250\024\377\250Y\260k\300\024\300V\377\3101\310I\320Ub\320\377bo\320op\320p|\203\320|\336\206\003\366\256\004\377\215\004\322\226\004\255\211\013g\266\322\r\047\240\272\262\006,-\245\256];\367\2702\270\361\256\021\037\250\002\250\377$\250i\260{\300$\300\177f\310A\310Y\320V\375\261>\017\320\026(\250\202\257\006\330\000\244\253\036\224\212\004\377\024\240^\2601\260C\2609q\344\2452\333\004\024\220N\252\232\005\001\007@\253\232\003\303\200&\355\251\004\212\250\004\324\221\004\225\226\013l\250\266\001Wl\002u\257\266\001u\270\243\005|\275\266\001\347|\002}\274\204\r\212\"\025\220V\363\2309\316\267\004\314\212\007\032\230!\230\3716\327\250\001\000\034\013\210<\220q\337\200\001\34001\317\262]?\270\375r\326\266\021\320\031,\250B\250\377d\260)\270;\300d\310\377&\320PQ\320QZ\320\351Z\272\270\003\316\245)_\332\206\r,\250Av\252\273\00545\255\264]C\3002\272\234\021\377\320\0310\260\002\260$\260\377i\270{\310$\310f\320\317TU\320U\310\223\003\316""\255;\320\026\3430\260\215\265\006\257\254\003\236\272\t\n\210+\257\220Q\220a\340\245\001]\201e\007\375\200\347\273\037X\270Z\300s\310\361!\230\246\001\355\273\037\221\272%[\320X[\003\320[\352\227\003\303\225\001\374\266\002\213\254\013\273\247\013\345\245\004\200\222\254\004\347\204!\253\274\t\277\256\001\325\236\002\330\263\t\252\200d\035c\310a\377\275\"\367\031\356\233\013b\002\204\262\004\257\360\000\000c\237\225\005}\315\276\001}\272\335\216\005J\250\256\001J\003K\257\256\001K7\003L\003\270\276\026>?\230\300\n\305\202]\376\366\272)k\320Y\\\320\\b\337\320bc\320c\255\227\001\320y\000\352\253\003\262\260\004\357\267\004\353\255\004\215$\344\255\004\262\260\004\340\244\004\001q\343\267\027\374\253\003\273\204i\237\273+\364\r\242\266\002\331\204L~\301\275\010>Y\320YZ\360\235\200o\207_\300A\220\277\"\204l\262\254\003\265\200W@\335A\265\306\n\014\210K\272\306\003\r\210\316\221\211.u\310A\241\211\036\356\204,^\320\235^\230\303\003n\320n\306\246\"\217\227\004q\002\367\306\001q\325\235\007\301\301\026\374\000\376\210/\366\270\006\207\266\017\366\242\213%\320#\211\264\004\027\320\027(\377\250\001\250\030\260\021\330\010\377\025\320\025&\240a\240xs\250q\337\310\004\211\264\020[\320[\344\200.t\366\254\022\337\237\013W\365\270\001W\003]\374\270\001w]\003^\203\271\001^\003_\243\266\014\376\323\264\004?\230!\200\001\340@OX\320XY\331\204l\300\266\001}\263\205\022\200\207\201 \374\262\002\370\276\004\215\313\004\257\237\013\215\242\004\265dx\326\272\313\001x\002\322\233\004\177\310\313\001\177\002\001@\374\023\365\316\001\344\235\001\247\267\003\201\260\004,\004\323\253\004\335G\245\273\001G\004h\254\273\001h\004\343i\004\364\255\n\261\213_\363\257\002\320EW\177\320Wn\360\000\000o\335\311\005\360\340\250\004\245\261\004\265\235\006\271\265#\\\320\\_\373\320_\342\236\001\320fo\320o\350\202\256\003\271\303\004\331\244\004y\377\315\001y\002O\356\323\275\001O\003g\332\275\001g\003{\356\341\275\001{\003R\267\275\001R\004S\356\276\275\001S\004_\305\275\001_\004`\356\314\275\001`\004o""\323\275\001o\004z\376\332\275\001z\004A\005\360\000\000wA\005G\003\001G\005H\n\001oH\005I\005\317\260\026BC\202\216l~\330\255(]\320]`\320`\321\262\003?p\320p}\320}\200\254\003\214\313\004(\316\316\004\221\304\004\237\247\004m\305\320\001m\236\247\005\335\275\004\211u\204\256\027\372\003\r\301\212\007\361\273\006\222\225\0017\375\240\325\273\"\025\260h\270j\310\321\006\373\323\001\333\273\"\365\314\033%\256\304\004{\320\001Z\251\200S\243\315\010\374@\261\322\013\362\n\231\233\002\355\226%\003v\310\202\324\037\276\304\003\216\306#\246\200V\304\306\010\371\003\250\365F\303\216\014\321\202*\005\270\200D5\322\301\005[\003\320[\250\204S\364\t\224\214\002\332\305\t\371\232\033\215\241\036\364\252\216\047\207\266\001\033\344\222\001\027\220~\240\377Q\240h\250a\330\010\026\003\220n\370\250\004\341\274\003\204\266\020\205\207\014\245\300\003\353\317\004\000\251\314\004\214\266\013\276\257\004\221\207\004\336\211\004\232\214\006\304\316\001\217\231\005\245S\315\310\001S\311\216\005\274\310\004e\342\310\001e3\003f\201\264\023\331\216\003CD\306\230l\364\254(\277^\320^a\320a\345\332\003q\003\320q\263\320\006\213\331\004\263\327\004\273\304\004\265\320\004\350\312\004\034\264\211\006\366\304\001\002v\002\234\257\020\347\335\003\361\014\034\266\224_\255\304(\\\320\\\252\200S\350\304\010\375@\000\326\272\t\264\241#\361\316$\373\224\047\241\263\004\202\277&\256\263\020\371\2021h\247\303\004\351\237\004\325\257\004I\230\317\001I\003\220\266\004\272\275\205\004k\255\317\001k\003l\264\317\001l\273\003w\273\317\001w\003B\221\317\001Bu\004\332\220\004X\237\317\001X\004Y\246\317\001\317Y\004Z\004\337q\246\277\010CZs\320Z\207\335\002\234\317\t\016\210k\254\313\003\362\344\2310w\236\216\"\364\323\001l\300,\310\000\237\214&\366\205\t\223\266\003\342\341\004\220\315\013\226\331\013\216\306\004\231\317\004Z\222\317\004H\361\321\001H\003\331$J\221\317\023F\330\345\001DE\224\342\001\357\213h\312\313\037U\323\301\005\277]\320]b\320b\346\336\003r\003\320r\307\331\003\243\342\004\304\340\004\357""\313\004\262\321\004\306\331\0040\371\323\004\362\254\004\245\310\006\253\306\026YZ\267\244\023\250\236\016\271\025\355\262\001\323\250\047(\320R\321\207\003b:\340\250#A\275\2461v\320v\202\316\003\335\342\004\000\233\346\004\303\344\004\265\344\013\233\275\004\364\333\004\300\312\004\313\323\004\253d\255N\252\326\001N\003\327\227\004P\350\246\027Y\200\263\345\003\363\232\007\336\330\t\254\253\006\233\201%\271\210*\250\201-M\017\300\034\310Q\362\310(\367\350\017\351\253\014\317\201\"\320\303\217\013\224\331\004\242\311\013\350\251\004U\236\331\001U\003\370\334\210 \322\232\004\357\210\006\360\000\000Z\004\335e\254\331\001e\004p\263\331\001p\004]@\325\232\001@\005F\334\232\001F\326\232\007\314\207\352\021\310\311\010Z[\202\204~\251\2528w\320\001w\254\314\003\230\354\004\214\347\004\350\350\004\267\352\006\343\350\002\352\341\013\360\275\320\004\310\331\004\210\214\004\364\204\006\360\000\000P\007\003Q\003\253\347\026\263 \205\257\022\305\204.\335\244\025\000\227\207(\274\351\006\362\244\t\377\244\010\213\323\003\277\351\017\240\255\014\203\201Eh\301\207\004\352\305\004\333\204\004`\207\337\001`\003\332\216\004*\323\216\004}\234\337\001}\360\305\005\177\3303\232\245\0031Z\310\354\003\344\352\004\301\331\004d\002\372\301\n\301\2077n\274\201F]\300-\305\343\002\330\010\221\326\th\265\201T\301\347\004\237\337\004C\351\341\001C\003\255\302\004\240\246\302\004\211\322\004\360+\350\310\004\330\221\004x\241\342\001x\273\003C\367\341\001C\004N\376\341\001N\253\004Z\205\342\001Z\270\243\005a\223\342\001a\047\004b\004\276\355\022\351\326\003Z\370\334\003\352\350\004\304\221\312\004\273\231\0076\315\364\010\232\212\206\370\357\003_\300?O\320Sb\320b\257\361\001\330\365\006\003\030\250\343\365\007\000\t\024\001\213\205B\352\305\013\252\345\004\370\216\225\004\234\345\013\327\233\006\360\000\000f\003\245u\320\345\001u\242\345\005\245\314\004J\264\345\001J\213\004K\273\345\001K\305\325\005\257D\235\213\004k\352\327\345\001k\262\314\005w\345\345\001w\004B\352\207\247\001B\252\213\005L""\225\247\001L\005M\336\234\247\001M\005N\005\254\361\0227\220\233\047\230\250\370\001[\\\264\212\200\265\352\047{\337\320Z]\320]\365\366\003m\320\017mx\320x\371\314\003\274\363\004\345\352\004\303\340\004|\215\311\013\237\356\006\360\000\000i\002\302\254\004h\347\205\004\257\271\004\340\205\013R\332\225\027\\]\352\214\200\034\221\346(\221\261\014y\320y\340\326\003\225\355\004\222\353\004\000\337\360\004\254\335\013\275\350\004\336\344\004\264\254\004\313\313\004\337\273\004\247\333\004\372\231\353\004S\364\256\027\\v\360\000\000\323w\001\347\373\004\347\322\004@\332\353\001@\003\307A\003\360\272\223C\305\215B\224\351\001\177\300?o\320Ud\320d\217\347\001\223\316\034\000\361\263\037\325;\251\353\004\314\254\004\333\306\004\275\276\004\335\324\013\247\257\004\320\214\336\004\315\235\013\270\207\004\344\324\004Q\201\356\001Q\004]\\\210\356\001\\\004g\217\356\001g\273\257\005\335u\235\356\001u\004v\244\356\001v\004\371w\222\356\014\245\352\004;\220a\200\001\317\340]^\360\227\220\210\341\350\004\024\320\303\024%\303\247\005\217\267\016\341\350\020\206\262\014z\320\301z\322\366\003\204\361\013\304\356\004\266\356\013\325\352\006\360\000C\000k\203\361\014\200\221 \341\212\004\327\262\004|\306\361\001O|\003}\003\371\343\022\367\311\003]\237\205\003\026\321\357\004Q\002\301\201;A\357\363\016\321\306\003\353\223*~\332\353\001\016\300n\320TU\317\2642\320\321;\245\361\004\345\314\004\201\344\013G\366\363\001G\003\240\205\241\004\210\272\004\217\344\004\210\344\004\363\363\004p\240\364\001p\367\003q\003\317\346\026]w\360\000W\000x\001\367\366\007.\207\220BQ\231\201E\005\017\232\327\001W\374\326\034\234\204=\207\353\004\340\366\004\275\246\013\350\255\307\013\333\335\004\217\255\004m\377\366\001m\003s\202\206\367\001s\364\346\014\257\220\004\264\246\"\270\357\004\325\207\003^\001_\260\233\200\354\2677\267\361\003\307\244\004\216\310\013\250\363\004\200\367\004\000\374\355\004\225\332\004\316\322\004\343\351\013\251\345\004\222\260\004\353\231\006\253\371\013\006\340\347\010_`\353""\235\200\343\2577\230\354\003\325\365\004\306\262\013\200\232\376\004\260\360\004\242\251\004\202\325\004\222\215\013\226\207\004\223\234\022V\t\003\253\260\026\270 .\260\227\223\206\256O\234\201I\370\304\022\350\206\357\013\345\345\004\271\230\004L\202\377\001L\004W\356\211\377\001W\004b\220\377\001b\004r\356\227\377\001r\004x\236\377\001x\004yn\245\377\001y\004z\337\256\035ay\200\317\001\375,\300\233:\250\016\260a\260s\363\270!\315\214A\300\336\006\030\320\030)\377\250\021\250(\260!\330\010\377\023\220>\240\021\240(\250\371!\300\342\004\301\336\020`\320`c\320\017ci\320i\344\373\003\345\355\003\270\364\004\236\362\0044\354\300\004\300\375\004a\323\377\001a\002\344\355\004\327\320\0044\302\377\004\231\223\013V\323\377\001V\003\326\355\022\346\233\004\264\241\242\004\221RM\245\362\013\320\026\263\337\003\3207\013\033\230\304\306\001wx\300\255\036\301\277\014\337\025\240g\250Q\251\376!\024\260\034\203\220\014\234 s\320s\356A\351\314M\312\323\t\000\324\247\033\343\360\004\221\226\004\253\365\004\237\354\004\352\360\013\210\336\004\241\262\013\360\363\236\004\361\360\004\352\360\004\232\220\006\360\000\000q\233\003r\373\247\027|}\242\377\n\364\345\002\220wq\330\004\372\255\027\026\240u\334\334\001\370\314\332\007\357\353\026\321\332\001t\3108\320S<\355\305\003\252\367\003w\320wx\202\320 \273\344\001\371A\216\354\017\322\204\023d\320dj\320\177jk\320kt\320t\362\262\003\000\321\260\004\337\313\013\346\332\004\372\230\004\346\332\004\346\233\013\201\357\004\337\260\004\240\210\357\004\330\260\013\224\316\004\201\357\004\205\223\004v\310\370\001v\362\367\267\005x\341\363\013\331\204\005\2101\200\001\177\360\004\000A\002B\002\337\200\223\337>\270b\300\001\204\357\016\320\031\377+\2502\250T\260\031\270\377+\300T\310\026\310q\320\377PY\320Yd\320dh\013\320h\301\366\003x\325\335\002\224\375\004\347\361\004\345\265\013\000\263\331\013\213\277\004\317\311\004\325\366\004\232\377\004\263\353\004\226\373\004\337\236\006\217\360\000\000S\234\373\005\316\366\004\226\373\004z\352\303""\373\001z\314\314\005|\353-+\2501\334\206\342\004\370 C\002D\344\200\224@\300\373\002\300\376\361\017\320\031-\250R\377\250t\2609\270K\300t\377\3106\320QR\320R[\377\320[f\320fj\320j?p\320pq\320q\251\334\003\317\340\004\000\236\360\004\306\373\004\232\362\004\375\375\013\250\334\022\237\317\004\365\230\013\200\256\013`\263\304\004\341\275\004\351\204\004\333\233\006\376\376\001\003~\347\204\ru-\222\212\001\013\360\204\004D\002E\340\203\224\337A\300\022\3001\344\204\020.\250\377b\260\004\260I\270[\310\377\004\310F\320RS\320S\377\\\320\\g\320gk\320\rk\234\277\001\320r\225\333\003\330\367\004\277\374\004\302\235\007\017\000\000Q\002\307\263\004\355\367\004\322\244\004\251\337\006\200\231\212\001\337\236\005\366\275\013\336\266\004\342\215\004\213\231\013\346\260!\320\357\026.\250a\356\204\007E\002F\336\334\206\224B\300\"\300\326\212\017\320\031\377/\250r\260\024\260Y\270\377k\310\024\310V\320ST\377\320T]\320]h\320h\377l\320lr\320rs\320\001s\347\324\003\231\342\004\265\322\004\273\377\004\340\354\004\265\322\013\203\334\022|\311\377\004\360\300\006\360\000\000J\003\327\220\0044\212\332\004\351\372\004n\341\377\001n\003\363\260\004\360\372\004\335\177\366\377\001\177\003@\300\220\r/\250\025q\352\207\007z\374\236\010(\264\260\034\342\217s\231\3329\000\301\252\033\306\271\004\374\303\004\303\277\013\261\345\004\314\347\004\276\347\013\206\335\004t\316\260\004\257\330\004r\213\376\001r\003y\222\376\0013y\003\363&\351\315\001\004A\301\247\023\355\215\001\377\006\000\005\017\320\016\036\230\367a\230q\237\223\001x\210s\220\377!\330\010\017\210q\330\004\377\t\210\021\330\t\026\220a~\207\371\002\030\320\030-\250Q\254\205\007\325\010#\022\t0\003\004<\001\t\027\335\220\242\337\003\032\320\032\360@\260\004\177\260A\330\004\025\220Q\370\205\002\377\200\001\360\010\000\n\033\230\277!\330\010\020\220\001\001\001\007\177\220q\230\006\230l\250\370\326\002\377v\210W\220E\230\024\230\330\277\364\001\214\001H\000\340\010L\001\004\007\373\200q\316\263\002.\250d\260!\377\2607\270+\300W\310A_""\340\010\017\320\017\010\007Q\035>\377/\250t\2601\260G\270\237;\300g\310QY\002\010\007a\177\200\001\360\014\000\005\020\237!^\271\000\220\031\230!\344\362\002\004\t\001\375\021\326\360\002\330\004\010\210\007\210\377q\320\0201\260\022\2601\377\340\004\022\220)\2301\230qA\020\004\355\000\035\000\016\220a\370\001\375\013\024\002\010\013\2104\210z\377\230\021\230\047\240\021\330\014\377\024\220A\330\010\014\210G\377\2201\320\024$\240L\260\377\001\340\004\r\210Y\220a\350\366\223\001\373\002\027\002\220K\002\t\220\021\276!\010G\2506\260\021\376\230\001\021\377\220\027\230\001\230\035\240g\257\250V\2601\366 \010\244\003&\337\240\001\240\021\330k\0005\220\375\t\254\312\002\014\020\220\002\220%\277\220s\230%\230q\031\000\024\377\240R\240t\2507\260\"~\371\0001\270F\300!\300\273\000\367\016\210i\356\345\003\022\320\022,\377\250D\260\t\270\021\320:_L\310C\310q\304\n\n\265a\377\013\2107\220#\220Z\230\237t\2401\330\014\352@\301\004\220\337I\230R\230q\303\001W\220_A\220T\230\025\352c\r\344@\367A\220Q\220%\003\2202\220\377U\230!\2301\330\004\024\177\220D\230\005\230Q\230\220\373\002\367:\220Q\356#,\320+=\337\270Q\270a\340\216\204\006\031\230m\037\230\344\003\260!\326d(\250\254 i\005\323a\336\001$?\000\010\021\237B\3734\230\267`\030\230\t\240\021\377\240$\240a\330\010\032\230\337+\240Q\240d\254\233\003\026\220\357c\230\021\230)\002\032\230#\336v\000d\240!\330\357`s\230\363!\2306\000f\026\320\0312\260\377!\2608\2705\300\001\300\371\021\330\204\004\017\000\340\004\013\2109\374\345\002\214b4\210q\220\003\220\3571\220G\230\317\332\014\210t\220u8\227`H\244\367\001\021\220\023\364A\353\017\210\245 \005\220\205\004\030\230\013\377\2401\240D\250\010\260\001\376h\0303\2601\260H\270E\307\300\021\300\375\005\017\000l\024H\230\337F\240!\340\004\360\363\003\025\220\375d\366@x\240x\250y\270\325\001\362\206\001t\242\000C\335\351\001\340\004\376{\005\021\220\033\230A\230T\357\240\030\250\021\353\0305\260Q\177\260h\270e\3001\300\335\206\005|\017\000\357\024J\230f\240A\337A\356f\001\004\320\034\307""\206\001&\270\002?\270\047\300\024\300Qo\007\240H\267\020\220\004\217\205\001\020\220\312F\031g\230\021\330\325@\215\003\n\027\236\210\004\035\031\211\226\0011\250G\355\204\003!\000\365\207\002\377\330\010\t\330\014\030\230\001\377\330\014\020\220\005\220V\230\3771\230E\240\021\330\020\031\377\230\027\240\001\240\026\240q\377\250\005\250W\260A\260Q\377\340\021\022\330\020\035\320\035\377.\250a\250q\330\014\035\317\230Q\320\036\333@\230\225\005\014\000.\\\t,\250A\212\211\002\010a\002\362\366\001\370b\001\356\204\001X\013\026\220g\230Q\036\355\001\240U\250\047\230\206\001^\005\217\211\001\361\001_\004\276@\376\225\005\020\000\005\010\277\200u\210B\210a\377\211\004\013\357\2101\210A\265\003_\240F\337\250!\320+<\225\206\001\330\014\325\017\272`2\225\205\002&\245\214\220\240?\376\205\242\001\022\320\022#\2401\240\007H\250A\253\353\004\320\312<\343\363\004\234\320\004\253\304\007O\000\000d\002\242\231\013\201\313\031\\\226\366\001\311\\\250\231\005\241\242\004d\210\366\026\331\240\2244\260\376\235\362\021\030\240\022\2404\240y\017\260\013\2704\311\344\007\377\275\047\335\320\004\234\353\004\240\301\336\004\362\353\004\304\366\013\224\271\004\355\370\004L\351\370\001LA\003\240\356\004\231\356\004\261\336\033\211\343\007\252\314\2021\312\3641\000\217\315\033\312\325\004\246\315\013\270\276\004\270\375\004\332\273\004\346\360\004\351\307\006\034\370\362\025\326\316\2006\260a\250\267P\202\300\004\343\272\013\220\321\353\004\343\360\004\334\360\004\364\240\013G\315\267\026\221\261\202\001\000\344\377\020\342\336\037\362\261\037\275\334\004\215\262\013\353\375\004\220\325\004\204\330\004\"\252\272\013I\364\261\026\353\377\025\273\253\016a\230\253/\274\377\001\206\327\371 8\270\363\2009\270\250\031\274\256\004\253\336>o\343\240Q\246\245\005\337\215\022\342\3730s\310!\016\300\200Xr\320r\365\347\006\363\364\004\273\326\004\310\260\004r\264\326\013i\327\347\026\361\253\2237\260q\363\254\017\034\253\354\023\205\352\t|\320|\332\303\030\325\364\004\372\235\031\320\270\376\004\362\345""\013\262\273\004\372\333\004_\255\374\001_\003\346\335\317\013g\003\257\273\025\321\256\2239\270\021\376\323\257\017\035\240b\250\004\250I\377\260[\300\004\300F\310!\177\3109\320T_\320_\273\265\017\264\270\273\031\335\343\004b\300\374\001b\002\202\317\013rB\325\374\001r\306\367\005\250\357\013\242\372\004\207\377\004a\221\377\001\353a\003\373\311\013i\316\257\r&\240a\304\241\206\021\301\261\210!\321\261v\245\372\004\357\316\007\000\000\203A\003\343\330\004\255\325\004\231\377\004\340\314\004\344\306\004j\330\250\262\030\202\230\t\250\264\206;\270\261\254\017\230\037\377\250\002\250$\250i\260{\377\300$\300f\310A\310Y\377\320Va\320ae\320e\377k\320kl\320lu\360\017\000\000v\001\235\351\004\377\272\031\304\306\004\225\270\004P\231\314\013\303\362\013\254\265\013\305\333\004Y\372\377\001Y\232\273\023\335k\234\265\r(\250\001\261\203\232<\270\376\234\254\021)\250\022\2504\250y\377\270\013\3004\300v\310Q\377\310i\320Wb\320bf\377\320fl\320lm\320m\000\207\324\003\356\351\004\263\327\004\343\377\013\331\367\004\247\356\004\331\367\004\271\306\013\000\225\354\013\304\225\013\212\325\004\272\322\004\340\367\004\206\273\004\232\361\006\337\365\n\337\320\026)\250\021\233\206\232=\270\335Q\372\267\020*\250\"\236\246\002\033\300\377D\310\006\310a\310y\320\377Xc\320cg\320gm\037\320mn\320n\364\315\003\321\354\004\346\327\004\032\211\370\013V\344\300\001V\002\350\300\004\337\354\004\350\306\013\244\375\356\006\300\327\001\002\231\341\013\312\372\004[\324\372\001[\212\361\351\023m\360\272\r*\361\252\001\203\265\003\250\206\222>\003\270a\370\271|\235\335\004\204\344\004\376\272\004\343\366\004\307\240\004\310\353\275\004\343\366\004\237\317\004n\325\272\030\223\211\222?\270\376\300\222\017\320\031,\250B\250d\377\260)\270;\300d\310&\377\320PQ\320QZ\320Z\377e\320ei\320io\320\377op\320py\360\000\000\003z\001\355\337\004\277\314\004\310\364\004\271\345\004\300\303\004\341\350\004@\326\364\004\277\306\013\202\340\004\322\335\004\334\275\013\320\357\004]\340\371\001\371]\352\217\005\334&\360""\000\000n\003%o\307\300\r,\205\303\001\274\203\230@\271\300\022\346\274j\000\274\362\004\310\300\004\335\327\004\271\311\004\303\303\004\331\335\004\333\267\004\333\327\0068\236\212\014\301\275\010\353\216\222A\300\021\303\274}\316\374\004 \264\332\022\247\230\004\245\332!\257\275\n\327\221\222B\226\303\022\306\274j\230\357\313\031\262\362\004\347\313!\320\026\241\275\010\303\224\222C\376\206\303\0220\260\002\260$\260i\377\270{\310$\310f\320T\377U\320U^\320^i\320oim\320m\277\346\001\320t\245\353\003x\351\374\004\330\375\004\205\337\007\000\000S\002\307\356\004\000\330\375\004\214\340\004\215\233\013\364\253\013\230\300\013\315\225\004\233\233\004\236\365\004\244\240\362\004\243\275\004s\367\313\r\301\262\001\004\301\217C\320\177\017 \240\001\240\023\240\336\342\023\004\276\3165\243\263\001\010\302\261\016\362\367\022\214\356\014\233\335\003\337\332\004\000\322\372\004\360\222\004\365\313\004\267\361\004\213\236\004\210\367\004\337\332\013\353\353\004`\314\361\013\216\370\004\351\222\004\213\236\004\221\343\004c\003\243\254\"\370\242\3211\213\201S\326\247)b\320bh\320\177hi\320ir\320r\364\360\003\240\344\337\031\226\364\004\341\245\022\307\243\004\361\240\004~\344\327\001~\001\002\342\366\004\364\372\004\234\233\004\355\372\004\326\321\004\370\353\006\311\335\025>\372\377\n\r\210T\220\026\302\276\003\372\323 \371Q\316\326 \302\232&X\320Xd\320\177de\320et\320t\326\377\003\006\361\320\022O\002\334\231#\265\022\330\205\027\251\037\203\270&\377Q\310l\320Z[\320[?j\320ju\320u\265\341\003\305\325\004\034\356\364\006\304\372\013i\230q\236\253\021rN\365\371\001\376\234\264#a\310|\320[\\\320\177\\k\320kv\320v\240\366\021\343F\002\332\263\"qP\253\270%q\320P\377\\\320\\]\320]l\320/lw\320w\256\365\021G\274\254\014\327\267\024\316\266\201P5\260Q\211\356\020\205\364\020Q\320\177Q]\320]^\320^\271\371\003\002\364\360\021H\202\256\014\211\363\004\246\331\001\351\276\t\374\202P\276\266&\377R\320R^\320^_\320\317_n\320n\201\232\003\363\351\022I\002:\367\356\025\360k\\:\270!\231\361\020""\200\343\0207V\320V\246\264\001\320c\311\212\006\366\243\022\tM\227\210\r\232\342\003\210\262\201`\301\250\002\303\301\016\264\250\020wW\320W\224\376\003s\320s\332\373\003\202\327\242\022N\342\211\r\307\247\024\334\207P\243\247\002\217\303\r\320\341\031\226\247\020\262\213\t\246\367\003\212\2131\r\210Kv\277\314\003\r\210\222\345\n7\240!\367\344!\037\025\260h\270j\315\245\001\344\344\"\256\277\033\375%\217\302\007`\320`f\320fwg\320g\250\334\003}\320}\210\377\003\010\263\277\004\225\334\004\214\323\022h\214\212\027\274\325\t\340\014\361\313\014\356\212\224\033v\310Q\254\200@$\270f\377\300A\300Y\310k\320Y\377_\320_e\320ef\320\035f\260\242\003|\320|\203\227\003\207\341\004\344\346\004\322\350\303\022g\322\032\325F\014\335G]\230\013!\230\261\202*\005\252\200B\323H+\301\306\307\035\3775\300\006\300a\300y\320OP[\320[\203\204H\222\307\010*\222\373\010\376\336\222\032D\320(9\270\021\270\303#\270\367\372\017\253\224!\310\273\002\246\314\010\010\026\360\366\355\002\370\321\001\300\357\004\307\273\020S\320S_\377\320_`\320`o\320o`\346\343\003\266\365\022\275\357\004\355\372\004\324\340\022r\002\316\367\022\370\366\324\003\234\200e\353\272\003\320\025&\240a\347\240x\250\254\325\001\314\361\007\r\016\330\367\014\031\230\353\272\020U\320Ua\377\320ab\320bq\320q\200\304\226\030\333\345\013\274\275\004\320\350\004\362\251\006\365\261\014\265\272\004=\305\230\373\324\0012\233\377\010\370\2329\237fT\320\373AR\264\344\002V\320VZ\320\301Z\360\266\003\315\253\001\264\377\022\366\3553\202\321\003\024\320\377\024%\240Q\240h\250a\373\330\010\000\t\023\320\023$\240\017A\240X\250\307\262\001\355\047\345#\227\321\022\000\252\361\014\332\350\003\363\374\004\277\372\004\261\364\004\302\262\004\341\342\004\270\364\004\000\353\275\004\363\374\013\353\254\013\271\361\004\372\374\004\227\321\022\350\342\004\345\337\004\335B\332\367\001B\004H\341\367\001H\004\335I\350\367\001I\004T\357\367\001T\004\335_\366\367\001_\004g\375\367\001g\004]m\204\370\001m\004n\213\370\001n\353\367\005\377D\005\360\000""\000D\005N\356\003\001N\005T\n\001T\005U\336\021\001U\005V\005\272\231\022<\220\277|\240;\250a\200\242\335\002A\177\330\014\023\2206\230\021\000\004\316\003\0107\230!\030\001\000\0048\230\3111\003\010\025\0045\223\327\0016\006;\230\035aI\001:\230QP\001*\004X\000\374e\001\201\335\002\330\014\r\33046\317\260d\270!\356\332\001|\001\017\210\325q\000\004\220\276\340\001\001\016\003t\220\350V\000\003\005\336\332\001A&\003u\220A\367\220S\230\036\004u\220B\220\367d\230!@\003w\220a\220\337t\2308\2401P\002\320\017\376\253ad\250&\260\001\260\021\\\343\001\373\330\004#\2401\226\337\001N\253\336\001\377\330\014\033\2305\240\014\250\177A\250[\270\001\270\021\215\327\001\376\276\337\001.\250\001\330\020\024\220\277H\230A\330\024,\205\331\003\340\177\020(\250\007\250q\260\336\332\002\375qB\n4\320\047B\300!\357\360\006\000\t\314\340\001\010\014\320\357\014\034\230A\266\336\001U\230-\357\240q\250\001\343\327\001\177\230g\277\240U\250!\330\024\242\343\001x\273\240q\267\331\001\026\230w\322\367\001\250?a\330\021 \240\007\357\364\002\021\013\207y\250\002\352\330\003\362\331\001\225\"\317\340\001M\\\366\336\001\335\340\001D\320\030\340\331\004\020\262#\376\177\001\023\220$\220l\240\"{\240A\236\340\001:\220Q\220\237\323\001\376\332@5\230\010\240\005\240Q:\355\330\003:\311\331\003\330\020\027\255 \321\341\001\357\014\021\220\030\266\336\003\230v\240\377Q\340\014\020\220\003\220:\357\230Y\240a\205\366\002\020\025\220\337X\230Q\230j\371\005\r\320\357\r\036\230a\313%H\230K\357\240q\250\013\235\341\003\013\2106\317\220\027\320\030\274\232\001\376\341\002\r\023\317\2207\320\032\343\325\001\216\342\001\340\010\373\013\210\220\001g\230Q\330\013\217\022\220!\330\033\001\335a\330\342\002\330_\020\021\330\024 \243\000[\344\344\001\023\260V\353\277\001\224d\030\353B\272\211\001\000\007\373\031\230\322A*A\320AX\377\320XY\330\010!\240\035v\360\333\002\010\035\357\344\001\"\240,\010\003\367\032\230,\201\212\005\036\230o\250\377Q\250h\260a\360\n\000\377\t*\250\021\330\010%\240\377^\2608\2701\270A\340""\335\010\331\334\001\010\t\330\274\334\001\033\230\2777\240%\320\047;\026\000K\177\300|\320ST\330\014\275\214\010\336\336\334\001\032\320\0320\323a\260(\377\270)\3006\310\026\310r\377\320QY\320Ye\320e\007p\320p\262\353\003\213\367\013\365\275\004\222\273\004\373\371\004\360\227\364\004\272\303\004\347\331\004\213\327\006\330\020\023\220\1778\2303\230a\330\024\343\341\001\367W\250A\003\003Q\330\024)\363\250\021\344\335\002\344a\010\013\2108\377\2203\220a\330\014\037\230\257q\320 :\216\000<\256\274\001Z\237\320Za\320a\276\230\001\207\350\001x\357\220|\2402\240\211\001\200A\330\353+,\374\200.%\314a \240\t\363\250\030\372\335\002\234.\240\177\260a\373\260q\2231+\2501\250A\377\250X\260Y\270f\300F\377\310\"\310H\320T`\320\035`\255\300\003x\320x\357\267\003\335\355\004\326\355\004\370\240\374\013\350\317\006\332\20035\260Y\270l\377\310)\320SU\320U\\s\320\\\343\235\001\315\200@&\240Q\355a\347\032\2508\226\347\001\251q7\260q\363\270\001\244q\357\340\003h\260i\270\177v\300V\3102\310X\365\216\002|\324\277\003\242\377\001\360\000\000{\001\317\373\004\360\340\357\004\303\333\013\375\213\006\353\20236\260i\270\375|\355\313\001V\320V]\320]t\366\221\001\336\202@\047\212\347\001\"\240+\347@\027Q\260a\272\205\0218\333\211\003\267\205\017\216\355\002\377\250x\260y\300\006\300f\317\310B\310h\276\237\002\361\372\003z\320\201z\374\364\003\364\364\004\331\375\004\347\356\013\347\255\006\374\20437\376w\000\014\310I\320UW\320\377W^\320^`\320`a\376\357\204@(\240q\330\010#\240!<\326\000\206`\313\207\021\344\225\001!\306\207\021\267\345\002\377\260\010\270\t\300\026\300v\317\310R\310x\204\240\002\237\276\003{\320\201{\221\364\003\211\364\004\217\326\004\223\220\013\313\342\006\215\20738\372w\000\034\305\312\001X\320X_\320\371_\224\224\001\200\207@)\250\001\330\010\377$\240M\260\030\270\021\270}!\334\211\021:\270!\2701\327\211\021\374\342\346\0025\000\031\300&\310\006\310\007b\320P\207\255\003\230\374\003\370\234\006\374\305\004\337\310\004\354\376\261\013\320\313\004e\002\237\21139\270\031""\373\300,\355\311\001Y\320Y`\320\235`\207\332\002\010\017\210\226\211<\334\213#A\000\322\213(\256\373\003\371\240\006\214\237\004\207\310\004\343\346\013\216\344\006\333\212\211\377+\250!\330\010&\240o\363\260X\235\360\002\201\216\020<\270A\270\365Q\373\215\0211\260\362\001\2608\2709\373\300F\333\304\001R\320RZ\320\017Zf\320f\305\372\003\270\332\006\310\343\004\375\350\004\215^\270\325\001^\002\356\317\004\264\367\006\304\2153;\376y\000L\320PY\320Y[\037\320[b\320b\253\262\001\270\215@\353\200&\037\031\230\036\240q\345\235\002\233\220\004\345\200+\374\331\336\004\262\200^\340\010$\240F\250\375*\314\365\001\014\210E\220\025\220wa\220z\255\366\001\033\2301\323\361\001\376\352\217@,\2501\330\010\047\320\377\0477\260x\270q\300\001\340\307\222\021\375\364\002\302\222\021\206\364\001\205\363\001I\300V\377\3106\320QS\320S[\037\320[g\320g\355\275\003\354\334\003\307\324\004\360\207\311\013\340\352\013\212\337\006\217\2223<\270I\300\375\\\234\312\002\\\320\\c\320c\364\355\246\001\203\222@.\237\235\001)\320);\223\2708\341\363\001\340\224\021?\256!\333\224\0214\376\332\362\001\260h\270i\300v\310\375V\311\221\002]\320]i\320i\207u\320u\355\323\n\274\343\004\205\350\004\224\341\022i\256\256\334\001i\002j\326\2114>\201\000|\373\320S\307\222\003e\320eg\320\373gh\240\224@2\260\021\330\010\377-\320-C\3008\3101\305\310\374\226\022C\226\366\002\371\226\020\327\220\002\270(\373\300)\260aW\320WY\320\177Ya\320am\320m\310\222\006\200\240\323\004\255\272\004\203\326\004\370\207\004\374\325\013\372\361\006\312\2263B\356\202\000<\320W\240\214\003i\320i\364\203\332\001\276\226@6\215\266\0011\3201K\377\3108\320ST\320TU\236\235\231\021G\300q\310\337\224\022\261\212\002\270\377h\300i\310v\320U[\377\320[]\320]e\320e\007q\320q\244\256\006\331\222\004\252\330\004\273\361\004\324\340\004\320\251d\264\361\004\341\276\006\352\2303F\202\000|\320\377[d\320df\320fms\320m\246\244\002\215\216<\014\000\t\265\220&\005\025\217\247\007\014\001\010\316\233\004\266\2201\347\222\022\302\366\004\360\337\327\004\224""\361\013\371\324\006\300\220Jy\230\014\240\377B\240h\250i\260|\300\0372\300X\310Q\267\2330\306 \372\207\047\027\030\230\016\333\251\004\014\001\007\226\236\004\370\2073\000\223\371\004\250\350\013\322\345\004\313\345\004\301\361\004\213\357\013\256\311\006\375\2353\376\275\210\021\340\010#\2406\250\031<\374\372\001\231\215\n\032\230!\230\374\263\001\000\034\367\010\017\210\210El\270,\300\037b\310\010\320P\214B\202\332\002\373\240,\356\330\236\"|\3001\322\236*t\320t4\217\343\n\343\350\004P\312\350\001P\002\240\266\022\332\350\006p\260\236W\312\326\002\232\243,\346\236#\014\300A\341\236*p\256\200o\365\236!\354\2001\323\232#<\300q\315\232+\377w\320wx\360\000\000y}\001\255\307\006\360\000\000E\002\317\366\004\000\364\320\004\244\334\004\353\217\004\343\344\006\254\232W\263\325\002\334\204\201\246\221o\376\306\245!B\320BT\320Tk\263\320k\266\363\003\225\276\004Z\002\220\252+\016\216\226\252%L\310\014\347\247\005\306\243\001\272\252\n\014\357\034\320\034-\211\253\003\330\014\032{\320\032\245\250\001H\260A\330\301\252\033>\260\220\001\360\000\000~\001\212\244\004\303\252\013\240\351\361\013\370\317\013\324\364\004\222\336\004\376\340\004c\336\364\001ct\332\364\005\222\336\004x\363\364\001x\003E\217\263\001wE\004K\226\263\001K\004M\235\263\001wM\004W\244\263\001W\004`\253\263\001w`\004k\262\263\001k\004q\271\263\001\367q\004s\300\263\001s\004t\004\374\355\252J\320\216\005j\270\014\300B\300\377h\320N^\320^j\320\217jl\320l\277\212\001\313\253\001\322@U\347\320UV\321\255.\221\211%L\320P\001Q\235\251*\304\344\003\234\326\013\274\344\013\265\365\004\223\352\004\201\256\004\315s\306\365\001s\002\373\354\006\206\251WB\320\377BX\320Xj\320jk\364\310\204.\246\211%y\205\240\002Z\330\014\033{\320\033\357\253\001X\260Q\330\346\204\n\000\r\010\334\223\036\225\347\003\227\377\004\307\357\013\364\330\004\224\347\004\344\354\004\000\244\226\004\247\341\004\252\362\004\335\354\004\372\204\013\372\204\004\214\365\004\300\357\004\335u\364\372\001u\003~\373\372\001~\003\335J\227\271\001J\004P""\236\271\001P\004\275R\245\271\001R\004S\004\350\223Ro\357\270\\\310\022\337\230\001c\320c?o\320oq\320q\217\256\001\336\204\004O[\320[\\\370\207.\363\254#\034\353\236\001\tR\364\207)\235\255\026z\265\257\t\260\255\004\315\263.\306\347\004\320\244\373\004\262\274\013\363\362\004\306\347\004w\240\376\001w\003\314\262\274\013\254DK\004\305\255J\350\207\037D\300\001A\255\207V\221\222+\237\256\006\302\355\004\240\342\004\324\227\013\222\342\004\354\200\267\004\331\234\004p\002\376\261WD\320D\177]\320]v\320vw\201\271+\367\014\000\t\365\251#\\\310\036\320\375W\251\244\002\014\027\320\027(\250\345\001\255\267\001\330\000\t\374\247\035\360\000\000\303s\001\324\245\013\262\254\004\246\252\004\265\243\006\360\000\007\000j\002\202\232\013\271\344\004\260\204\004\224\373\004\300\365\004\350\252\370\004\325\362\004\271\344\004t\263\373\001t\003u\371\003\245\252K\204\235\005k\270\034\300R\367\300x\310\333\300\001+E\300Q~\364\273.-\250A\330\010(\220\312\001\357\030\300\021\300\241\261\022>\270a\327\270|\310\243\261\0223\220\276\001\260X\377\270Y\300f\310F\320R\377T\320T\\\320\\h\320\177ht\360\000\000u\001\343\304\013\200\270\317\004\352\362\004\263\347\004\235\373\004\254\347\013\205\376\006\353\2733=N\214\000l\320R\200\243\003\201\242\003g\222\274\r\331,\370\2001\356\271#\r\300\241\217(n\320An\327\321\006\302\276\013\204\365\004\333\372\004\375\364\013p\372\372\001\267p\002q\357\205W-.\332\224TA\000\340\224@\365\2543\272\346\004\306\364\004\277\364\004\255\225\004\200\214\004\211\354\004\264\222\351\004\227\372\004s\241\375\001s\003\254\217\004v\271\003\216\224k\205A#\240=\336\307\001\330d\321\303$\345\274B\010\222\270s\216\275\032Z\250\302\312\001\377-D\320DW\320WX\010\371\274\001\353\200*\304\226Gx\250\275\013\262\356\003\230\237\013\340\243\004\000\352\303\004\246\331\004\312\374\004\341\253\004\200\227\004\324\321\006\233\301P\253$\256\350\212.\014\000\t\312\301#\033\346\243\014\014\000\326\301%\310\345\003\205\377\n\366\340\004\377\325\004\306\273\004\302\310\004\206\326\004""\320\333\363\004\356\253\004\367\355\004\221\374\004L\362\376\001L\003V\205\356\004O\003\276\222Y\310\322\320\001.\377\222\013\337 \240\r\250Q\267\323\001\035\230\351X\271\306\001\202\313\033\014\370\312%J\300a\376\300\317\001>\250\021\250(\260!\237\330\014\032\230.\356\220\004\214\313\030b\337\320bg\320g\367\257\003w\360\207\000\000x\274\244\005\245\340\013\337\304\004\241\276\006\360O\000\000f\002\237\313\013\3102X\321\237\001\303X\003\365\376\004\202\374\013\266\366\006\321\236Pf\250\237G\260?\300,\235\302\001\326\307\003^\237\200A\33001\217\316\010\327\201+\n\373\000\t\232\311K^\320^c\320\035c\217\265\003s\320s\247\353\003\263\371\004\261\341\013P\256\343\004\263\371\004\312\216\004\341\331\004}\331\363\001}\325\363\005\373@\003\264\311PV\2507\260!\000\374\200>\221\303L\235\204\026\277\211\013\356\373\004\347\303\004\236\331\004\334\320\004\306\374\236\022D\003\227\320P\374\200C\300\303Mc\320\377ch\320hn\320np\003\320p\267\254\003\227\355\004\363\320\004\270\376\004\343\230\013\261\376\004p\220\244\004\376\265J\225\304\033\303\203@\014\000\t\340\314&~\235\244\t\031\320\031*\250!\332\321\001\374\210\252\005\202\315\020`\320`e\320e?k\320km\320m\306\263\003\226\376\004\200\336\246\013\246\317\004\275\336\004\366\277\004\233\373\013\213\271\004\357\240\004Pf\221\252\001P\003\251\373\004\215\244\022l\003\216\315J\024\266\271\003\360\210M\016\216\236%Q\372\246)\324\311\022\226\204@\350\276\271\022\263\341\013\266\214\022{\277\255\001{\003D\352\275\341\001D\236\247\005V\313\341\001V\004X\036\322\341\001X\004Y\004\213\236Q\336\214\016\352\302\003p\252\324\003\273\350\004\374\332\006\206\215\001F\300a\252\214_\360\276\267\047\362\214\031\310\252\013\307\323\006\360\000\000di\002\203\275\004\326\252\004B\276\260\001B\003\352\344\004\335J\314\260\001J\003K\270\214ZG\300\371q\230\2179\200\274L]\320]b\320\377bh\320hj\320jr\003\320r\302\375\003\270\347\004\320\200t\327\334\032\323\217\006\210\201<\202\273\330#,\234\225\001\253\341\017\233\2120\271\212\013\243\322\006\360\247""\000\000g\253\262\005\352\265\004E\321\265\001E\333\003K\330\265\001K\003\361\265\004N\003\014\272\330P\302\047\320G\262\333\003\374\343\006\272\224.\277\301$\303<\310\277\341%\366\203 \315\227\013\321\311\006\360\000o\000r\002@\227\270\001@\003\325\304\004\230\215\215\004\267\270\004\333\227\004Y\003\301\341P\364\224\0052\0353\310\346\010\"\240-\366\351\003\231\232\"\345\226QJ\252\217=y\347\327\001y\256\227\005\271\307\004B\347\226S\3439\260\247\355\001\203\201;\340\335La\320al\355\223\212\265\336\032V\250\274#34\313\353\010\264\334\246\010\236\237 \n\373\241%\021\330\357\241#_\343\320_\236\237\023\207\231t\231\345\032V\250:!\260\374\316\001\275!\262\206\006\271\206\010Y\250\347\003\203\356\034\272\217\347B\007\273\345\005`\320`\227\200\247W\323\250I\376\200@\256\345B\047\325\360\006b\320\357bi\320i\220\275\004\360\000\000\003z\001\317\330\004\240\354\004\226\352\004\316\341\004\241\376\004\373\323\013\230\265\241\004\204\277\004\242\216\004F\003\303\345P\271&I?\320I\\\320\\]\225\363\010\201\350\001\221\021\326\321\001\245\213%\305\251%K\206\216\023\316\354\020_\203\320_\363\236\023\371\320\004\352\373\004\353\225\013\230\273\006\360\217\000\000p\002\327\307\004\243\261\004\321\251\004T\266\314\307\001T\003\336\307\004W\003\277\354PV\367\250;\260\262\373\0013Q\320Q\350\303\267\003\375\353\004\345\327\004Z\317\310\001Z\003z\356\326\310\001z\003]\324\374\001]\004^\371\004\312\2469\233\317$\320GX\320X\037n\360\000\000o\271\273\005\270\376\004\341\365\004\366\313\220\004A\003\274\353%a\320af\377\320fl\320ln\320n\000\337\340\003\327\340\004\364\342\004\224\364\004\336\331\004\355\376\004\323\312\004\323\273\004\355G\324\376\001G\004\376\006\360\000\000w^\004i\351\376\001i\004j\360\376\001wj\004x\367\376\001x\004A\277\376\001WA\005H\306\376\001H\302\376\005P\324\376\001\317P\005Q\005\345\353P\335\247\00545C\330\010\327\221\006\302\264\010\377\211#\305\364Bw\361\362\005\334\326\213\215\220\365\032W\250J\205\205\0025J\013\310!\203\254_\016\264\231\023\274\367\020\322\254""\022\353\354\013\214\334\371\004\313\235\21378\227\257\021\356\226\n\201\375\001\010\000\272\376\036\341\373J\321\236\014\211\370\003\337\350\004\335\376\004\205\366\004\226\370\004|\203\353\004\344\327\006\360\000\000l\002\276\267\006B\353\262\001\002\321\311\013\214\323\004\337\311\004\260\262\004_\206\231S\3775\260\t\270\021\200A\330\000\243\201F\305\261Z\345\370\003\332\332\004\374\372\004\340\366\004\362\370\004\227\377\004@\233\304\004\265\351\004\236\342\004\354\231\004\305\277\004\317\252\004W\356\325\001\353W\003\371\325\004_\374\325\001_\003`\370\357\261S\234\201N\230\375K_\320_d\320\005d\303\326\006}\323\330\002\212\260\004\330\373\004\273\367\004\315\371\004|\363\377\004\231\354\006\360\000\000n\002\322\234\004\320\262\302\004\201\247\004\364\311\004\374\267\013`\351\330\001`\003aa\300\217S\211\204N\364\375K\240\260\n\320u\241\247\003\240\217\357\004\263\374\004\225\370\004\250\372\004\366\354\004n\237\370\001n\241\002\366\354\004\230\305\004\322\325\004\361\347\004R\301\333\001Rt\250\260\005\314\204\004a\326\333\001a\003b\241\244S\000\366\206N\313\267^\256\366\004\210\322\004\200\373\004\347\347\004\266\330\004\236\377\004>\266\312\006\360\000\000q\002\264\355\004\356\272\004 \315\247\004\340\225\004\323\317\004\344$\305\336\004d\371\267S\350\211N\000\372\267_\366\260\013\250\371\004\222\367\004\333\362\004\377\377\004\354\247\013\332\275\004\264\270\341\004\262\303\004U\246\341\001U\003\366\327\022e-\003\336\375QV\250\337\214K\014\244\300(\251\336\t\320\227\336\017\322\222\037\346\214P\342\332 C\256\344\001C\0045I\265\344\001I\261\344\005L\004\373\340J\243\271\005\377E\260\031\270/\310\034\320\017UW\320W\375\261\003\346\370\001\221\220F\247\366)\017\030\320\030)\370\306\005\247\274\017\277\366\021\314\233\n\003\320v\321\377\003\225\373\004\202\326\004\327\377\004\214\364\004\301\354\004\200\364\236\013\330\341\004\326\366\004\364\265\004\244\271\013\245\321\004\236\336\022A\246\334\347\001A\004\233\234\004\256DJ\204\341Qf\335\250\252A,\300l\377\327""\002Z\320\205Z\371\240\003i\277\223F\355\273z\223\210Q\267\216\004g\246\233\353\001g\003\227\345\004\344\324\004|\260\353\001|u\003\337\205\004O\242\353\001O\004Q\251\353\001wQ\004[\260\353\001[\004d\267\353\001wd\004p\276\353\001p\004v\305\353\001\005v\340\237\005y\266\274T\374\205\022\366\321\003\375\340\004\335\376\004\360\334\366\004\215\344\004\245\247\006\221\230\001M\320Mbw\320bc\303\232A\016\000\t\221\370$\347;\310a\372\350)\244\357\001A\250X\377\260Y\270f\300F\310\"\017\310H\320T\344\232<\236\376\004\351\214\013\313\373\006\037\360\000\000J\003\314\316\004\316\222\004\346\330\022\335\177\307\357\001\177\003H\262\357\001H\004\245U\271\357\001U\210e\377\245\004g\316\357\001g\272\217e|\334\357\001|\004B\364\243\001B{\005D\373\243\001D\005E\005\220\371J\374\221\212\032\356\202,N\320Ne\320e\317~\320~\177\343\236A\345\215&\014\300\367L\320P\275\253\002\014\025\320\025\001&\353\377\005\262\215a\346\377\004\227\310\004\340\226\004\214\305\004\236\237\006_\360\000\000_\003\206\335\004v\313\363\001\243v\003\233\207\004\215\352\004\223\305\004N\313\363\001NJ\271\363\005c\331\363\001c\202\250\005\301\363\004l\321\215W\377)\300<\310r\320QW\237\320W\\\320\\\235\347\001\200\240\001Q\307\320QR\205\202D\375\344)\355\366\t\027\220\177~\240Q\240h\250a\360\366\005\376\237\345\022e\320ej\320jp\037\320pr\320r\332\355\003\356\373\004\205\361\004\000\301\333\004\365\373\004\343\313\004\327\352\004\317\363\004\207\331\004\317\275\004\225\300\004h\216\331\004\254\255\004\206\367\004p\220\367\001p\003\305D\300\206\367\004\322\355\013\205\361\004\240\310C\371\345\025\337\221\010\320:\377J\310,\320VX\320X\376\275\325\003l\320lm\200A\330\3778P\320Ph\320hi\034\360\245D\203\377#=\310\r\351\367\001\270\334\020\236\221Ix\275\346\004\345\326\004\316\310\006\360\000\000K\324\261\007\017\360\000\000W\264\372\005\210\361\004\264\364\004\216\314\004\235}\333\372\001}\003~\215\264Q\225\230\0079GR\320R\371\224\001\320\210D\274\367#>\346\356\001\203X\330\310\356\034\261\224I\233\347\004\320\337""\004\316\306\006\360\247\000\000N\244\322\005\365\263\004h\322\375\001h5\003\345\334\004y\340\375\001y\003\231\215\004\357\224\004\272\317\375\004T\340\375\001T\004\\\347\375\001\\\253\004b\356\375\001b\266\221\005e\261\224W+\376\353\366\001S\320SY\320Y^\377\320^g\320gh\200A1\330\300D\220\334\003\372\333\004Z\002\245\214D\340\325#\377.\310\016\320Vd\320d\017r\320rs\273]\361\325\035\271\244(\252\355\004\240\343\236\013\276K\232\373\004\247\362\006\276\360\001\003\351\233\004LV\235\373\001L\004\305DZ\253\373\001Z\313E\335f\271\373\001f\004o\300\373\001o\004\335w\307\373\001w\004}\316\373\001}\004=\177\325\373\001\177\004@\005\367\325R\235\234\001\300\316W\221\257\001\337\364\005\230\330\006\261\224D\343\360#\016\300\377n\320Tb\320bp\320\377pq\330\014\023\320\023$?\240A\240X\250Q\000\t\013\n\240\237\377\004\262\237H\325\250\004\263\234\013\267\344\004f\200\377\001f\001\003\373\230\004\250\366\004\346\356\004\263\234\004\222\377\004\322\220\004\304\206\004\252\363\326\004`\261\377\001`\342\271\005m\277\377\001m\273\004s\306\377\001s\004u\315\377\001ut\367E\352\271\004L\373\271\001L\005R\202\272\001\367R\005T\211\272\001T\005U\005\376\343\237V\047\300\034\310R\310v\377\320UZ\320Zc\320c\377j\320jv\320vx\320\361x\272\323\003\247\354\004\214\366\006\200A\330?\021@\201\265\032\222\310\n\272\303\002\330\207\265\037\276\261|\322\372\004\200\337\367\004\244\343\004\207\375\004\370\355\004\217\333\004\304\212\047\251\221\004~\356\325\372\001~\003@\222\333\001@\004A\375\004\320\345R5\260\007\260z\300>\313\265\001?V\320VW\316\201O\207\325Z\000\341\257!\223\361\004\201\351\004\305\306\004\232\361\004\223\361\004\305\306\004\355\375\004@\346\375\004\305\270\004\271\240\004\211\216\004\227\230\004\242\234\004F\255\336\0013F\004\266\212\004\227\230\004O\004\321\325R\237G\343AB\371\375\010\233\326\017\333\323\nX\250W\363\260A\243\205 \376\375$q\330\014\031\377\230\036\240q\250\010\260\001\376\316\227\035k\320kq\320qs\003\320s\267\364\003\237\347\004\263\241\013\246\347\004\237\357\004""\235\336\004\000\203\362\004\374\373\004\337\344\004\316\371\004\203\362\004\315\341\004\244\307\004\371\270\006\037\360\000\000`\003\277\224\004\266\304\004\276\205\004\354\324\341\004\252DG\004\244\376QV\2506\237\260\025\260i\270\277\367\001\320\201Q1\376\361 \010,\320,A\300\030\377\310\021\310!\340\010\030\230\357\001\330\010\t\331\347\002\033\2307\377\240%\320\047B\300!\300\3751\221P7\260q\270\001\270\377\030\300\031\310&\320PV\356\201\231\002`\320`\204\315\003u\320u\007w\320w\303\357\003\232\377\004\275\362\004\241\365\004\373\307\004\000\215\315\004\311\357\004\315\266\004\304\362\004\250\365\004\266\334\004\273\341\004\240\274\004\210\304\362\004\322\263\006\375\341\001\003\206\215\004\205\233\022\215\215\004K\372\273\3444A\343\000,\320V_\320\375_\253\326\003j\320jk\330\010\377\017\210x\220|\2402\240\372\305\201]3\221\316\001.\320.E\300\337X\310Q\310a\221QD\300\367A\300Q\266\205\0209\270\021\270\377!\2708\3009\310F\320\377RX\320XZ\320Zb\003\320b\301\205\003\237@\304\370\003\230\353\004\226\342\004\375\372\004\000\235\313\004\213\305\004\314\312\004\237\353\004\362\362\004\312\370\004\320\277\004\222\335\004h\312\370\004\237\353\004\357\314\004e\342\370\001e\003\266\220\004\240\375\312\004\204\315\004\233\350\004\257\220\004\256\224\004M\344\3474C~\347\000L\320Xa\320a\267\217\003\374\216\236\001\277\201g4\2601\330\010/\377\320/G\300x\310q\320;PQ\273\205\021E\300Q\230\371\001\342\210\016\375:\245@1\270H\300I\310\375V\374\230\002[\320[c\320c\377l\320lr\320rx\320\001x\331\241\003\341\315\004\225\366\004\240\376\004\216\350\004\225\366\004\206\300\004\000\364\373\004\265\340\004\247\376\004\346\335\004\257\217\013\222\320\004\256\272\004\322\223\013\252\251\236\013E\310\353\001E\271\264\005M\326\353\001M\353\004N\216\3534D\347\000\\\320Y\277b\320bd\320d\247\360\003n\372\351\204g5\276\214\0010\3200I\310\177\030\320QR\320RS\346\210\021\357F\300a\300\212\214\021;\2701\377\270A\270X\300Y\310f\377\320TZ\320Z\\\320\\\377d\320dm\320ms\320\017sy\320y\344\354\003\235\224""\013\273\364\004\331\313\004\000\273\374\004\304\300\004\205\367\004\364\361\004\236\306\004\261\303\004\300\353\004\230\377\004\250\243\217 \377\260\004\371\216JE\347\000l\212\226\002e\353\320e\361\322\003o\351\210\022\340\010\014\377\210J\220m\2406\250\021}\330\010\000M\230\024\230Q\005\001\377J\220i\230q\240\004\240\377A\360\006\000\t\r\210O\277\2309\240F\250!\010\002\320\377\014\036\230b\240\010\250\001\376-\001O\2301\200A\340\010\377\020\220\004\220A\330\010\013\377\2104\210w\220a\220w\377\230a\330\014\021\220\030\230}\021\004\000\320\021!\240\021D\000\377\r\022\220\037\240\013\2501\276\026\001\036\230{\250!\037\001\033\357\230K\240q \002\"\240!\376\037\003\030\230\037\250\001\250\024\373\250Q0\001\021\220\005\220V\377\2301\230E\240\025\240d\373\250!;\000\020\027\320\0270\377\260\001\260\024\260Y\270a\377\330\020\035\230T\240\021\240\375!\201\377\0014\220q\320\030(\373\250\003`\000\024\030\230\001\320\377\031+\320+G\300q\310\277\001\330\020\025\220\\#\000.\373\260\001\223\001\025\220a\320\027\237(\250\004\250AH\027\271\251\001D\357\270\t\300\021W\010\025\220[\277\240\001\240\036\250q<\006\047\317\240t\2501\325\003P\002)\250?\033\260A\330\014\020\240\022\353\363\001\375$\225\217\001\330\020\036\230d\240\367!\2401\224\001U\230!\230\377?\250!\250?\270$\270\367a\270q\247\001X\230Q\230\215o\273\234\001\021\220O\004\212 \270\214\001q\004\347!\217\352\006\035\246A\375\316B\245\342\021\212\263\020\224\353\001\033\320a\256\251\001\320m\301\222\n\362\377\004\355\372\004v\276\331\004U\002\200\351PX\250Q\321\2000\370\265\326\"\252\344\021\200\324\020a\320ab\320\177bm\320mn\320n\317\316\0030\264\337\004\332\313\004\264\337\004\341\313\004V\002\334\231P\317\2003\370\337\343\"\234\346$\327\270\001\320cn\320n\307o\320o\347\315\003\354\276\004\236\223\022W\002\340\352\335P\324\2023\236\376\"\264\350\021\242\376\020c\320c\377d\320do\320op\320\001p\246\365\003\214\312\004\315\335\004\344\317\004\370\367\006\343\361P\331\2043\374\354\354\"\262\337%d\320de\320ef\367\245\001\320q""\261\227\n\200\224\022Y\002\316\344P\340\337\2063\302\265#\300\354\021\304\265\022\272\263\001\320it\377\320tu\360\000\000v\001\350\351\244\013\321\343\004\362\366\004\\\275\361\001\\\002]\371\002\253\233Q\354\2103.\250Q\330\010\377)\320);\2708\3001\333\300A\301\233\021?\270\232\366\0224\260\377A\260Q\260h\270i\300\375v\203\225\001U\320U]\320]\377i\320ij\320ju\320\201u\346\343\003\203\326\004\262\336\004\374\325\004\222\347\004\263\245\004^\372\367\2124>v\000|\320S\\\320\177\\^\320^e\320e\376\257\001\374\335\232\007\371\2123/\250a\330\010*\237\320*=\270X\366\226\001\316\235\021@\353\300\001\332\360\0215\210 a\260x\357\270y\310\006\345\223\001V\320V\367^\320^\366\233\001\320kv\320\003vw\256\335\001\342\353\005\362\345\004\321\346\004\214d\350\353\006\352\254\3723?v\000\014\300\302\002_\320_\007f\320f\314\270\003\354\234\005\257\200[\200\243\016\341\200(\234\202\335\004n\233\014\000\t\266\326\"\371\364\n\014w\032\320\032\343\305\001H\260A\217\276\005\376\270\224\001\021\260(\270)\3006\374\207\360\006\303\277\001\320fq\320qr\017\360\000\000s\354\352\005\240\337\004\237\233\022\311\355\004\240\247\337\004\215\342\004\215\360\004\230\276\006\362\3763:\230\000<\223\310y\365\237\002\220\236\003d\265\241\001\251\320\003h\377\250j\270\014\300B\300h\373\310a\335\223-\014\000\t,\250\3771\330\010\047\320\0477\260\337x\270q\300\001\250\244\021=\270\376\221\241\001\320\031*\250!\2508\317\2601\330\014\331\300\010\261\262\0042\260\377!\2601\260H\270I\300\377V\3106\320QS\320S\367[\320[\367\267\001\320hs\320\321s\304\356\003\351\235\013\321\205\022h\304\374\001h\002P\245\377\004\376\357\004\233\304\004\320\344\004G\340\3764<\231\000w\\\320Q\343\233\003c\320c\243\303\001>\270)m\270<\300r\303\234\002\305\226\n\037 \240\r\250Q\371\207\001\364\376%\325\330\"\374\203\372\021\210\230\001!\2608\2709\300\035F\210\247\001R\320R\267\262\003\304\374\023\226\365\004\330\352\330\004\235\365\004\275\243 y\002\370\327S7\260\001!\2423\257\3510\320\226I\240\354\014\313\346&\207\344\004\355\346\013""\200\223\341\004\254\311\004\250\336\004\207\344\004\360\254\006\266\262T\325\351\002\340\201\010\267\257\034\235\354#\241\223J\267\3275\212\341\004\217\367f9\377\270\031\300,\310i\320W?Y\320Y`\320`\205\323\003\363\253\007\320\265\354\004\233\201D\246\206]\324\340\047f\337\346\001f\002@\367\340\013\246\370\004\334\346\004\266\354\004\321\372\004\320\351\004Y\231\340[\000\255\204\032\272\2732\364\361!\257\241$\345\361.\270\227\004\335\346\004\240\265\004\370\260\357\004\202\262\004\227\373\006\360\000\000A\003P\361\343\004\341\307\004\344\346\004\302\335\004k\343\375\001k\331\307\005\002\221\332\004t\332\361U\336\273\004\276\201O\221\240I\234\357.\362\332\004\000\366\204\004\272\362\004\347\354\004\304\377\004\216\253\004\333\273\004\225\253\004\342\273\004\010\340\375\004\240\303\004\375\330\022v\221\357U\3668\370\301\014\233\273!\000\242\207d\241\273\031\373\207\004\253\324\004\257\273\004\262\324\004\373\301\004\330\343\0040\322\362\004\277\365\004\364\264\006\250\351U\n\270\246\220\013\353\275D\000\360\217L\264\365\017\204\373\031\302\240\004\365\375\004\343\267\004\247\373\004\374\326.\rj\313\370\001j\003\255\327\004\236\311\006\232\304R\231\276\006\340\331\220\010\374\300D\375\232$\257\301\016\203\233\021b\320b\000\202\226\014\202\360\004\305\351\031\301\373\004\306\304 \207\336\004\351\304\004\317\373\004\020\256\376\004\332\351\013\246\320\004\216\336\004w\302\362S\272\201X\327\230N\016\256\301\003q\320q\211\276\003\336\272\004\367\365\031\353\373\004\320\356\233\004\205\371\004\232\366\004\220\341\013E\324\376\001E\003\320\337\376\004\371\373\004\330\376\004\211\327\004o\367\376\001o\003:\234\332\004w\205\377\001w\003x\345\362T\322\204X\000\347\236&\336\307\r\356\236\022\375\376\003\311\340\020\311\304\004\243\366\022\226\374\004\000\240\301\004\226\374\004\277\366\004\212\377\004\212D\356\307\004\212\377\004\244\374\004\010\203\377\004\335\322\004\334\340\022y\366\236L\261\304\016\363\207O\364\254%\032\201\312\202G\261\377\001G\003\307\347\013\351\357\013""\271\335\004\014\242\205\004\300\335\004z\003\240\312\\\213\213O\377\255%\215\316\016\356\221\256\022f\320f\247\304\003t\320t\000\276\270\n\360\346\031\324\377\004\334\324\004\350\374\004\223\347\004\300\366\004\212D\rH\344\374\001H\003\227\316\013\300\366\004\321\340\004\362\312\013\002\327\307\004{\300\3774\355\256\033\214\316\010\243\216O\212\257%\377\254#wg\320g\224\304\003u\320u\321\271\n\000\323\275\022\307\263\004\371\377\004\212\253\004\250\321\004\221\316\004\321\371\004\212D4\211\362\004\257\321\004U\225\366\001U\003\253\352\004\222\366\013\314\351\343\004\374\346\004|\003\302\257Q\273\201Z0\250\377q\330\010+\320+?\270\271x\204\303\001\230\321\021A\300\021\273\324\0206\377\260a\260q\270\010\300\t\273\310\026\326\334\001W\320W\343\372\003n\377\320nt\320tv\320v\000\344\272\n\346\276\022\214\333\004\214\241\004\205\333\004\274\355\004\214\333\004\241\365\004\200\223\365\013\212D\232\241\004\351\374\004\226\225\004\371\315\013\270\371\004}\372\335\3514@\333\000\034\320U^\320\177^`\320`g\320g\261\266\001\000\215\307\024\326\327\006\241\327D\236\324#\272\323\205\334\360\004\254\244\004\311\324\004\340\231\321\004\271\241\004\340\354J\222\324&\354\227O2\260\021\377\330\010-\320-C\3008\327\3101\310\363\272\022C\306\327\0228\270\177\001\270\021\270(\300)\216\262\001\235W\363\250\002a\320a\345\363\003\213\343\001\360\007\000\000y\311\264\014\222\301\022\240\336\004\225\262\004\231\336\004@\273\341\004\240\336\004\371\363\004\353\363\013\330\327\013\354\345\004l\361\377\001Sl\003\276\367\013\311\341\004\177\223\3604B\340\000w<\320W\317\252\003i\320i\251\360\003\300\305\327\020\211\233O\257\327#\307\326\211\324\360\004\335\252\006\360\000\203\000Y\201\351\005\364\376\004\266\230\004\331\363\004\364\376\004@\000\354\326]\246\236O\242\327$\247\341\020\316\326v\234\324\004\352\332\013\353\363\004\000\376\366\004\267\347J\227\327&\304\241O\225\327%\306\344\020\302\326v\201\350\004\020\337\332\013\267\363\004\372\236\004\374\366\022B\267\3664\211\327(\300\216M\3776\260Q""\330\0101\3201\377K\3108\320ST\320T\365U\302\344\021G\305\332\022<\270A\270\337Q\270h\300i\376\357\001[\320\177[]\320]e\320e\242\222\003\007z\320z\235\322\003\363\307\013\234\322\004\222\370\004\201\310\004\000\303\301\013\253\253\004\367\335\004\204\272\004\222\353\013\302\264\004\231\353\013\267\250\013t\250\341\004\264\356\004B\236\372\001B\004C\326\3714\375F\340\000|\320[d\320d?f\320fm\320m\365\317\001\313\221a\367\020\000\t\310\264#\030\320\030)\377\250\021\250(\260!\330\014z\000\t\027\351\331\001\001\250\030\260\345\225\001\370\317\302\007\376\365\004\325\327\020]\320]c\320\035c\326\215\003s\320s\340\325\003\353\344\004\334\321\004\000\271\353\004\262\353\004\304\313\004\226\336\004\321\302\004\271\353\004\262\353\004\213\372\004\000\354\375\004\224\350\004\316\275\004\362\344\004\224\234\004\375\264\022\230\214\004\343\356\004\335O\350\375\001O\004U\357\375\001U\004\335W\366\375\001W\004a\375\375\001a\004\335j\204\376\001j\004r\213\376\001r\004\335x\222\376\001x\004z\231\376\001z\004\335D\226\366\001D\005M\235\366\001M\005\335W\244\366\001W\005]\253\366\001]\005=_\262\366\001_\005`\005\351\330J\257\306\003\377f\250F\260%\260y\300\367\014\310L\313\347\002`\320`f_\320fk\320k\246\305\003A\214\320\001\003A\002\234\366\004\260\324\013\237\316\004\277\347\013\330\267\013\352\340\0040\350\236\004\361\340\004\224\356\004\267\361\004]\003\255\334\n\325\366\n\271Q\226\366E\232\332$^\320^\363\240\003n\003\320n\231\320\003\234\346\004\243\370\004\267\326\004\315\351\004\314\354 =w\220\332QV\250:\260\346\334\002\277\362\006\356\306\362\010Y\240a\317\200cw\300f\017\310B\310h\302\355\002\222\200\240\250\373\002\213\344\001\374\373\2007\343\334@\007\300v\310R\3109x\237\227\002\305\242\003o\320o\366\322\003\206\375\004\020\376\364\004\260\356\004\215\353\004\327\230 x\365\334Q\243/\366\375\010\374\365\202r\257\200\2036\260i\270|\310\3779\320TV\320V]\320\337]_\320_`\266\363\007W\250\373J\260\375\320\001\r\016\330\014\027\363\220\177\214\206\001\370\350\001q\330\014\022\377""\220,\230a\230q\200A\337\360\010\000\t\021\220\351\004\320\013\357\035\230W\240\225\347\002\n\230!\357\2305\240\017\301\347\001\023\2205\377\230\r\240V\2501\340\014\356\005\003U\250!+\n\014\210L\336\315\350\001\013\2606\270\305\351\001\220\034\377\230Q\230k\250\021\320*\367<\270A\302\350\004\220~\240Q\373\240n\331\372\001\r\320\r\036\230\275ak\n\016\210k\230\320\352\004\025\376\216\352\001\017\210q\220\r\230T\203\320!\204\367\002\313\347\004\235\010\264\350\001\337\350\001\033\373\250A\214\333\001\013\2106\220\023\377\220A\330\014\024\220E\230\177\033\240A\240[\260\001\234\237\001\334D\000\322\n\026\220a\303\353\001G\220\3771\330\014\017\210t\2203\377\220e\2301\330\020\030\230\371\006\206!\225\352\002\320\027/\250q\177\260\005\260Q\330\024\031F\002\177T\250\021\250+\260V\223\356\001\377\330\024\"\240!\330\021\025\277\220S\230\005\230Q\244\352\005$\177\240a\320\0479\270\026\244\323\001\376\240\351\005>\250\021\250\047\260\026^\302\370\001\340\010\013\210\336\370\002\021o\002\247\320\023$\235\000Q\001!\217\353\001Q\376\205\001s\220!\2206\230\022\356\207\001\024\220C\246 Y\250a\357\250u\260A\177\001\021\330\024\327\027\220r\032\0003\236\002\030 \376\347\354\001\240Q\330\030\033\2304\373\320\037\244\371\001\014\300A\330\034\373!\240\207![\270\001\270\033\356\013\001*\250!t\0015\220\003\372\345\003q\272\352\004\320\033+\2504\371\250\276\354\006\371@\n\000\t\017\210\377d\220(\230(\240%\240\375q\223\355\003z\230\021\230%\230>\236b$\220a\220q\370%)\000u\020\263 8\224`\001\240\0217\003r\007\007\037\262!\007\013\005\240Q]\003\344\330d\336FNZ\003\343A\016\230e\253\240<\360 \013\335\"\010\255C\014\376\213\204\004\340\010\021\320\021&\240\371a\272\354\001\362\356\001C\210}\230I\372\305`e\231\356\001\024\220D\320\030\324\352\344\002\357GZ\272@\001\331Av\220\277V\320\0332\260#\267@6\374\230\355\001\353\222\003#\260Q\330\021\027\377\220v\320\0357\260s\270\177&\300\006\300a\330\020\270\351\001\377X\260S\270\001\340\010\t\377\330\014\027\320\027\047\240q?\250\001\340\014 \240\343""\000\364e\275\016\232\205\007\2104\210u\351a\020\373\320\020 \000\330\010\016\210e\277\2208\2307\240!\2465\013~\320\205\003E\250\021\330\020\032\314\205\007\356\251\204\001\035\240a\372E5\230\003\372\211\204\001\027\244\205\002c\250\021\250$\277\250f\260A\340\020\217\224\004\025\373\250m\377b)/\250q\330\377)1\260\024\260Q\330\r\317\037\230w\240\210!K\t\017\210t\314a=\016!8\0170\260\004^\000\377\014\023\2203\220a\220v\377\230S\240\001\240\025\240c\177\250\027\260\001\200A\360\351\005\377\340\010\033\2302\230\\\250\177\025\250k\270\021\270+\335\367\002\377\034 \240\016\250e\260;\377\270e\3001\330\010#\240\3772\240S\250\005\250\\\270w\021\270\"\341\230\001\330$(\014\000SU\260\201\362\002\256a1\357\361\001\027\305a\347#\2404\361\376\002\376\361\0015\220\004\377\220D\230\n\240!\2404\366\356 \004\250\213\360\002\003\2207\230\337)\2401\240A\242\361\003z\240\375\021\223\204\002\024\025\340\020\021\330\355\024\220@\320!\364\373\001&\300\001\377\330\027\030\330\024\032\320\032\376\352\231\001\030\033\2301\230A\330o\030\034\230E\337\361\002\024\032?\003\363\340\010\365$L\000\024\220J\230\337a\230u\240O\250\332\001\047\240\337u\250M\270\021\274#a\330}\020\n\020\031\300!\340\014\264\361\001\3714\213\207\003\305\206\0013\210a\210~\252\246 \003\235\002\014\377@!\317\362\002\014\237\023\2204\220q\275A\203\000\r\377\020\220\001\220\036\230t\320\351#\372\210\001X\000C\030\000\006\230cg\240\024\240\233\204\001\361 \260T\243\211\001w\022\320\022\320\256\001\020\023\220\234!\276\200\000E\230\021\230!\225\212\001)\356\312\001\340\010\014\265\364\t\320\014\034\275\230\335\364\004L\230\t\240\342\211\002\033\277\230A\230[\250\001\307\362\002\010\177\r\210U\220!\320\023\337 c\240q\206\365\003\037\006\364\211\030\340\010\205\211\001\3371\200A\3602\327\204\010:\220\307Q\220n\203\213\001\325 \242\363\001\007\220\377t\320\0336\260a\330\020\337\023\320\023%\240\314\325\001\024\030\276\266B>\260\021\330\024\242\363\001\047_\250\034\260Q\340\004\004\021\342\364\001\3451\254A\007\310\205\001\335""\210\005>\240\023\276\325A\025\320\025%\240\274\211\001\320\277\025&\240a\330\020\227`\340\373\020\026\303\366\002\001\330/6\260\377c\270\021\270.\310\002\310\377!\3309:\33004\260\271E\345\377\001\321\363\003N\220!\226\204\001\014\320\317\211\001\365&\245!\232 \330\305\003\320\000\377\021\220\021\330\004\005\360\006\377\000\n\013\330\010\023\220?\377\240!\330\004\007\200t\210\3511\364\366\001\201\365\002\016\262\206\001l\230!\343\2301&\000\021\002\360\340\002\036\230lz\351\366\001\035\317\364\005\036\230a\340\265\215\001\377\031\230\021\320\004\035\230Q\370\237\215\010\337\365\001\203`\330\010\022\220\047\376\262B\010\014\210G\2209\230\367J\240f\305\204\001\017\210t\320\315\023\226\364\001G\260\270\365\002\214\366\001\026\240\047q\250\013\302\376\001\373\214\003\330\245J"; - PyObject *data = __Pyx_DecompressString_LZSS(cstring, 36761, 121608); - #define __Pyx_DecompressString_UNUSED - if (unlikely(!data)) __PYX_ERR(0, 1, __pyx_L1_error) - const char* const bytes = __Pyx_PyBytes_AsString(data); - #if !CYTHON_ASSUME_SAFE_MACROS - if (likely(bytes)); else { Py_DECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) } - #endif - #else /* compression: none (121608 bytes) */ - #ifdef _MSC_VER -static const char bytes[] = {'\n','\n',' ',' ',' ',' ','T','h','i','s',' ','i','s',' ','a',' ','p','y','t','h','o','n','i','c',' ','w','r','a','p','p','e','r',' ','a','r','o','u','n','d',' ','T','A','L','I','B','\047','s',' ','a','b','s','t','r','a','c','t',' ','i','n','t','e','r','f','a','c','e','.',' ','I','t',' ','i','s','\n',' ',' ',' ',' ','i','n','t','e','n','d','e','d',' ','t','o',' ','s','i','m','p','l','i','f','y',' ','u','s','i','n','g',' ','i','n','d','i','v','i','d','u','a','l',' ','T','A','L','I','B',' ','f','u','n','c','t','i','o','n','s',' ','b','y',' ','p','r','o','v','i','d','i','n','g',' ','a','\n',' ',' ',' ',' ','u','n','i','f','i','e','d',' ','i','n','t','e','r','f','a','c','e',' ','f','o','r',' ','s','e','t','t','i','n','g','/','c','o','n','t','r','o','l','l','i','n','g',' ','i','n','p','u','t',' ','d','a','t','a',',',' ','s','e','t','t','i','n','g',' ','f','u','n','c','t','i','o','n','\n',' ',' ',' ',' ','p','a','r','a','m','e','t','e','r','s',' ','a','n','d',' ','r','e','t','r','i','e','v','i','n','g',' ','r','e','s','u','l','t','s','.',' ','I','n','p','u','t',' ','d','a','t','a',' ','c','o','n','s','i','s','t','s',' ','o','f',' ','a',' ','`','`','d','i','c','t','`','`',' ','o','f','\n',' ',' ',' ',' ','`','`','n','u','m','p','y','`','`',' ','a','r','r','a','y','s',' ','(','o','r',' ','a',' ','`','`','p','a','n','d','a','s','.','D','a','t','a','F','r','a','m','e','`','`',' ','o','r',' ','`','`','p','o','l','a','r','s','.','D','a','t','a','F','r','a','m','e','`','`',')',',',' ','o','n','e','\n',' ',' ',' ',' ','a','r','r','a','y',' ','f','o','r',' ','e','a','c','h',' ','o','f',' ','o','p','e','n',',',' ','h','i','g','h',',',' ','l','o','w',',',' ','c','l','o','s','e',' ','a','n','d',' ','v','o','l','u','m','e','.',' ','T','h','i','s',' ','c','a','n',' ','b','e',' ','s','e','t',' ','w','i','t','h','\n',' ',' ',' ',' ','t','h','e',' ','s','e','t','_','i','n','p','u','t','_','a','r','r','a','y','s','(',')',' ','m','e','t','h','o','d','.',' ','W','h','i','c','h',' ','k','e','y','e','d',' ','a','r','r','a','y','(','s',')',' ','a','r','e',' ','u','s','e','d',' ','a','s',' ','i','n','p','u','t','s',' ','w','h','e','n','\n',' ',' ',' ',' ','c','a','l','l','i','n','g',' ','t','h','e',' ','f','u','n','c','t','i','o','n',' ','i','s',' ','c','o','n','t','r','o','l','l','e','d',' ','u','s','i','n','g',' ','t','h','e',' ','i','n','p','u','t','_','n','a','m','e','s',' ','p','r','o','p','e','r','t','y','.','\n','\n',' ',' ',' ',' ','T','h','i','s',' ','c','l','a','s','s',' ','g','e','t','s',' ','i','n','i','t','i','a','l','i','z','e','d',' ','w','i','t','h',' ','a',' ','T','A','L','I','B',' ','f','u','n','c','t','i','o','n',' ','n','a','m','e',' ','a','n','d',' ','o','p','t','i','o','n','a','l','l','y',' ','a','n','\n',' ',' ',' ',' ','i','n','p','u','t','_','a','r','r','a','y','s',' ','o','b','j','e','c','t','.',' ','I','t',' ','p','r','o','v','i','d','e','s',' ','t','h','e',' ','f','o','l','l','o','w','i','n','g',' ','p','r','i','m','a','r','y',' ','f','u','n','c','t','i','o','n','s',' ','f','o','r','\n',' ',' ',' ',' ','s','e','t','t','i','n','g',' ','i','n','p','u','t','s',' ','a','n','d',' ','r','e','t','r','i','e','v','i','n','g',' ','r','e','s','u','l','t','s',':','\n','\n',' ',' ',' ',' ','-','-','-','-',' ','i','n','p','u','t','_','a','r','r','a','y','/','T','A','-','f','u','n','c','t','i','o','n','-','p','a','r','a','m','e','t','e','r',' ','s','e','t','-','o','n','l','y',' ','f','u','n','c','t','i','o','n','s',' ','-','-','-','-','-','\n',' ',' ',' ',' ','-',' ','s','e','t','_','i','n','p','u','t','_','a','r','r','a','y','s','(','i','n','p','u','t','_','a','r','r','a','y','s',')','\n',' ',' ',' ',' ','-',' ','s','e','t','_','f','u','n','c','t','i','o','n','_','a','r','g','s','(','[','i','n','p','u','t','_','a','r','r','a','y','s',',',']',' ','[','p','a','r','a','m','_','a','r','g','s','_','a','n','d','o','r','_','k','w','a','r','g','s',']',')','\n','\n',' ',' ',' ',' ','D','o','c','u','m','e','n','t','a','t','i','o','n',' ','f','o','r',' ','p','a','r','a','m','_','a','r','g','s','_','a','n','d','o','r','_','k','w','a','r','g','s',' ','c','a','n',' ','b','e',' ','s','e','e','n',' ','b','y',' ','p','r','i','n','t','i','n','g',' ','t','h','e','\n',' ',' ',' ',' ','F','u','n','c','t','i','o','n',' ','i','n','s','t','a','n','c','e',' ','o','r',' ','p','r','o','g','r','a','m','m','a','t','i','c','a','l','l','y',' ','v','i','a',' ','t','h','e',' ','i','n','f','o',',',' ','i','n','p','u','t','_','n','a','m','e','s',' ','a','n','d','\n',' ',' ',' ',' ','p','a','r','a','m','e','t','e','r','s',' ','p','r','o','p','e','r','t','i','e','s','.','\n','\n',' ',' ',' ',' ','-','-','-','-','-',' ','r','e','s','u','l','t','-','r','e','t','u','r','n','i','n','g',' ','f','u','n','c','t','i','o','n','s',' ','-','-','-','-','-','\n',' ',' ',' ',' ','-',' ','t','h','e',' ','o','u','t','p','u','t','s',' ','p','r','o','p','e','r','t','y',' ','w','r','a','p','s',' ','a',' ','m','e','t','h','o','d',' ','w','h','i','c','h',' ','e','n','s','u','r','e','s',' ','r','e','s','u','l','t','s',' ','a','r','e',' ','a','l','w','a','y','s',' ','v','a','l','i','d','\n',' ',' ',' ',' ','-',' ','r','u','n','(','[','i','n','p','u','t','_','a','r','r','a','y','s',']',')',' ','#',' ','c','a','l','l','s',' ','s','e','t','_','i','n','p','u','t','_','a','r','r','a','y','s',' ','a','n','d',' ','r','e','t','u','r','n','s',' ','s','e','l','f','.','o','u','t','p','u','t','s','\n',' ',' ',' ',' ','-',' ','F','u','n','c','t','i','o','n','I','n','s','t','a','n','c','e','(','[','i','n','p','u','t','_','a','r','r','a','y','s',',',']',' ','[','p','a','r','a','m','_','a','r','g','s','_','a','n','d','o','r','_','k','w','a','r','g','s',']',')',' ','#',' ','c','a','l','l','s',' ','s','e','t','_','f','u','n','c','t','i','o','n','_','a','r','g','s',' ','a','n','d',' ','r','e','t','u','r','n','s',' ','s','e','l','f','.','o','u','t','p','u','t','s','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','%','s',' ','(',' ','(','e','x','p','e','c','t','e','d',' ',' ','b','a','r','s',' ','o','f',' ','h','i','s','t','o','r','y',',',' ','a','t',' ','l','e','a','s','t',' ',' ','f','u','n','c','t','i','o','n',' ','f','a','i','l','e','d',' ','w','i','t','h',' ','e','r','r','o','r',' ','c','o','d','e',' ',' ','n','e','e','d','e','d',' ','(','a',' ','l','e','a','d','i','n','g',' ','b','a','r',' ','t','h','a','t',' ','i','s',' ','N','a','N',' ','i','n',' ','a','n','y',' ','i','n','p','u','t',' ','i','s',' ','n','o','t',' ','h','i','s','t','o','r','y',')','%','(','d','i','s','p','l','a','y','_','n','a','m','e',')','s',' ','(','%','(','g','r','o','u','p',')','s',')','\n','%','s','%','s','.','a','d','v','a','n','c','e','%','s','.','o','u','t','_','r','a','n','g','e','\047',' ','i','s',' ','d','e','p','r','e','c','a','t','e','d',' ','a','n','d',' ','h','a','s',' ','n','o',' ','e','f','f','e','c','t',':',' ','(','(','%','s',')','(','a','n','y',' ','n','d','a','r','r','a','y',')','(','t','r','e','e',' ','f','r','a','g','m','e','n','t',')',')',')','\n',',',' ',',',' ','g','o','t',' ','.','3',':',' ','=','?','A',' ','p','e','r','i','o','d',' ','o','f',' ','1',' ','p','e','r','f','o','r','m','s',' ','n','o',' ','s','m','o','o','t','h','i','n','g','A','D','X','R',' ','h','a','s',' ','n','o',' ','u','n','s','t','a','b','l','e',' ','p','e','r','i','o','d',' ','o','f',' ','i','t','s',' ','o','w','n',';',' ','i','t',' ','f','o','l','l','o','w','s',' ','t','h','e',' ','i','n','n','e','r',' ','A','D','X','.',' ','S','e','t',' ','\047','A','D','X','\047',' ','i','n','s','t','e','a','d','.','A','l','l','o','c','a','t','i','o','n',' ','E','r','r','o','r',' ','(','T','A','_','A','L','L','O','C','_','E','R','R',')','B','a','d',' ','O','b','j','e','c','t',' ','(','T','A','_','B','A','D','_','O','B','J','E','C','T',')','B','a','d',' ','P','a','r','a','m','e','t','e','r',' ','(','T','A','_','B','A','D','_','P','A','R','A','M',')','B','u','l','l','/','B','e','a','r',' ','P','a','t','t','e','r','n',' ','(','B','e','a','r','i','s','h',' ','<',' ','0',',',' ','N','e','u','t','r','a','l',' ','=',' ','0',',',' ','B','u','l','l','i','s','h',' ','>',' ','0',')','C','a','n','n','o','t',' ','m','i','x',' ','p','o','l','a','r','s',' ','a','n','d',' ','p','a','n','d','a','s','D','a','s','h','e','d',' ','L','i','n','e','D','o','t','t','e','d',' ','L','i','n','e','D','o','u','b','l','e',' ','E','x','p','o','n','e','n','t','i','a','l',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e','E','x','p','o','n','e','n','t','i','a','l',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e','F','u','n','c','t','i','o','n',' ','N','o','t',' ','F','o','u','n','d',' ','(','T','A','_','F','U','N','C','_','N','O','T','_','F','O','U','N','D',')','F','u','n','c','t','i','o','n',' ','h','a','s',' ','a',' ','s','t','r','e','a','m','i','n','g',' ','A','P','I','F','u','n','c','t','i','o','n',' ','h','a','s',' ','a','n',' ','u','n','s','t','a','b','l','e',' ','p','e','r','i','o','d','G','r','o','u','p',' ','N','o','t',' ','F','o','u','n','d',' ','(','T','A','_','G','R','O','U','P','_','N','O','T','_','F','O','U','N','D',')','H','u','l','l',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e','I','n','p','u','t',' ','N','o','t',' ','A','l','l',' ','I','n','i','t','i','a','l','i','z','e','d',' ','(','T','A','_','I','N','P','U','T','_','N','O','T','_','A','L','L','_','I','N','I','T','I','A','L','I','Z','E',')','I','n','p','u','t','s',':','I','n','s','u','f','f','i','c','i','e','n','t',' ','H','i','s','t','o','r','y',' ','(','T','A','_','I','N','S','U','F','F','I','C','I','E','N','T','_','H','I','S','T','O','R','Y',')','I','n','t','e','r','n','a','l',' ','E','r','r','o','r',' ','(','T','A','_','I','N','T','E','R','N','A','L','_','E','R','R','O','R',')','I','n','v','a','l','i','d',' ','H','a','n','d','l','e',' ','(','T','A','_','I','N','V','A','L','I','D','_','H','A','N','D','L','E',')','I','n','v','a','l','i','d',' ','L','i','s','t',' ','T','y','p','e',' ','(','T','A','_','I','N','V','A','L','I','D','_','L','I','S','T','_','T','Y','P','E',')','I','n','v','a','l','i','d',' ','P','a','r','a','m','e','t','e','r',' ','F','u','n','c','t','i','o','n',' ','(','T','A','_','I','N','V','A','L','I','D','_','P','A','R','A','M','_','F','U','N','C','T','I','O','N',')','I','n','v','a','l','i','d',' ','P','a','r','a','m','e','t','e','r',' ','H','o','l','d','e','r',' ','(','T','A','_','I','N','V','A','L','I','D','_','P','A','R','A','M','_','H','O','L','D','E','R',')','I','n','v','a','l','i','d',' ','P','a','r','a','m','e','t','e','r',' ','H','o','l','d','e','r',' ','T','y','p','e',' ','(','T','A','_','I','N','V','A','L','I','D','_','P','A','R','A','M','_','H','O','L','D','E','R','_','T','Y','P','E',')','I','n','v','a','l','i','d',' ','p','a','r','a','m','e','t','e','r',' ','v','a','l','u','e',' ','f','o','r',' ','K','a','u','f','m','a','n',' ','A','d','a','p','t','i','v','e',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e','L','i','b','r','a','r','y',' ','N','o','t',' ','I','n','i','t','i','a','l','i','z','e','d',' ','(','T','A','_','L','I','B','_','N','O','T','_','I','N','I','T','I','A','L','I','Z','E',')','M','E','S','A',' ','A','d','a','p','t','i','v','e',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e','M','F','I','\047','s',' ','u','n','s','t','a','b','l','e',' ','p','e','r','i','o','d',' ','w','a','s',' ','r','e','t','i','r','e','d',' ','i','n',' ','T','A','-','L','i','b',' ','C','.','N','o',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e',' ','(','i','d','e','n','t','i','t','y',')','N','o','n','e','N','o','t',' ','S','u','p','p','o','r','t','e','d',' ','(','T','A','_','N','O','T','_','S','U','P','P','O','R','T','E','D',')','N','o','t',' ','e','n','o','u','g','h',' ','h','i','s','t','o','r','y',' ','t','o',' ','o','p','e','n',' ','a',' ','s','t','r','e','a','m',' ','(','T','A','_','I','N','S','U','F','F','I','C','I','E','N','T','_','H','I','S','T','O','R','Y',')','.','\n','\n',' ',' ',' ',' ','R','e','c','o','v','e','r','a','b','l','e',':',' ','c','o','l','l','e','c','t',' ','m','o','r','e',' ','b','a','r','s',' ','a','n','d',' ','t','r','y',' ','a','g','a','i','n','.','N','o','t',' ','e','n','o','u','g','h',' ','p','r','i','c','e',' ','a','r','g','u','m','e','n','t','s',':',' ','e','x','p','e','c','t','e','d',' ','N','o','t','e',' ','t','h','a','t',' ','C','y','t','h','o','n',' ','i','s',' ','d','e','l','i','b','e','r','a','t','e','l','y',' ','s','t','r','i','c','t','e','r',' ','t','h','a','n',' ','P','E','P','-','4','8','4',' ','a','n','d',' ','r','e','j','e','c','t','s',' ','s','u','b','c','l','a','s','s','e','s',' ','o','f',' ','b','u','i','l','t','i','n',' ','t','y','p','e','s','.',' ','I','f',' ','y','o','u',' ','n','e','e','d',' ','t','o',' ','p','a','s','s',' ','s','u','b','c','l','a','s','s','e','s',' ','t','h','e','n',' ','s','e','t',' ','t','h','e',' ','\047','a','n','n','o','t','a','t','i','o','n','_','t','y','p','i','n','g','\047',' ','d','i','r','e','c','t','i','v','e',' ','t','o',' ','F','a','l','s','e','.','O','u','t','-','o','f','-','R','a','n','g','e',' ','E','n','d',' ','I','n','d','e','x',' ','(','T','A','_','O','U','T','_','O','F','_','R','A','N','G','E','_','E','N','D','_','I','N','D','E','X',')','O','u','t','-','o','f','-','R','a','n','g','e',' ','S','t','a','r','t',' ','I','n','d','e','x',' ','(','T','A','_','O','U','T','_','O','F','_','R','A','N','G','E','_','S','T','A','R','T','_','I','N','D','E','X',')','O','u','t','p','u','t',' ','N','o','t',' ','A','l','l',' ','I','n','i','t','i','a','l','i','z','e','d',' ','(','T','A','_','O','U','T','P','U','T','_','N','O','T','_','A','L','L','_','I','N','I','T','I','A','L','I','Z','E',')','O','u','t','p','u','t',' ','c','a','n',' ','b','e',' ','N','a','N',' ','o','r',' ','i','n','f','i','n','i','t','e','O','u','t','p','u','t',' ','c','a','n',' ','b','e',' ','n','e','g','a','t','i','v','e','O','u','t','p','u','t',' ','c','a','n',' ','b','e',' ','p','o','s','i','t','i','v','e','O','u','t','p','u','t',' ','c','a','n',' ','b','e',' ','z','e','r','o','O','u','t','p','u','t',' ','i','s',' ','a',' ','c','a','n','d','l','e','s','t','i','c','k','O','u','t','p','u','t',' ','i','s',' ','o','p','t','i','o','n','a','l',' ','(','n','u','l','l','a','b','l','e',')','O','u','t','p','u','t',' ','i','s',' ','o','v','e','r',' ','v','o','l','u','m','e','O','u','t','p','u','t',' ','i','s',' ','p','a','t','h','-','d','e','p','e','n','d','e','n','t','O','u','t','p','u','t',' ','s','c','a','l','e',' ','s','a','m','e',' ','a','s',' ','i','n','p','u','t','O','u','t','p','u','t','s',':','P','a','r','a','m','e','t','e','r','s',':','P','a','t','t','e','r','n',' ','(','B','o','o','l',')','S','T','O','C','H','R','S','I',' ','h','a','s',' ','n','o',' ','u','n','s','t','a','b','l','e',' ','p','e','r','i','o','d',' ','o','f',' ','i','t','s',' ','o','w','n',';',' ','i','t',' ','f','o','l','l','o','w','s',' ','t','h','e',' ','i','n','n','e','r',' ','R','S','I','.',' ','S','e','t',' ','\047','R','S','I','\047',' ','i','n','s','t','e','a','d','.','S','i','m','p','l','e',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e','S','t','r','e','n','g','t','h',' ','P','a','t','t','e','r','n',' ','(','[','-','2','0','0','.','.','-','1','0','0',']',' ','=',' ','B','e','a','r','i','s','h',',',' ','[','-','1','0','0','.','.','0',']',' ','=',' ','G','e','t','t','i','n','g',' ','B','e','a','r','i','s','h',',',' ','0',' ','=',' ','N','e','u','t','r','a','l',',',' ','[','0','.','.','1','0','0',']',' ','=',' ','G','e','t','t','i','n','g',' ','B','u','l','l','i','s','h',',',' ','[','1','0','0','-','2','0','0',']',' ','=',' ','B','u','l','l','i','s','h',')','T','A','-','L','i','b',' ','i','s',' ','n','o','t',' ','i','n','i','t','i','a','l','i','z','e','d',' ','o','r',' ','a',' ','s','e','t','t','i','n','g','s',' ','c','h','a','n','g','e',' ','i','s',' ','i','n',' ','p','r','o','g','r','e','s','s','T','h','e',' ','F','u','n','c','t','i','o','n','\047','s',' ','O','w','n',' ','D','e','f','a','u','l','t',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e','T','o','o',' ','m','a','n','y',' ','p','r','i','c','e',' ','a','r','g','u','m','e','n','t','s',':',' ','e','x','p','e','c','t','e','d',' ','T','r','i','a','n','g','u','l','a','r',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e','T','r','i','p','l','e',' ','E','x','p','o','n','e','n','t','i','a','l',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e','T','r','i','p','l','e',' ','G','e','n','e','r','a','l','i','z','e','d',' ','D','o','u','b','l','e',' ','E','x','p','o','n','e','n','t','i','a','l',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e','U','n','k','n','o','w','n',' ','E','r','r','o','r','U','n','k','n','o','w','n',' ','E','r','r','o','r',' ','(','T','A','_','U','N','K','N','O','W','N','_','E','R','R',')','V','a','l','u','e','s',' ','r','e','p','r','e','s','e','n','t',' ','a',' ','l','o','w','e','r',' ','l','i','m','i','t','V','a','l','u','e','s',' ','r','e','p','r','e','s','e','n','t',' ','a','n',' ','u','p','p','e','r',' ','l','i','m','i','t','W','e','i','g','h','t','e','d',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e','W','i','l','d','e','r','\047','s',' ','S','m','o','o','t','h','e','d',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e','Z','e','r','o','-','L','a','g',' ','E','x','p','o','n','e','n','t','i','a','l',' ','M','o','v','i','n','g',' ','A','v','e','r','a','g','e','[','[','i','n','p','u','t','_','a','r','r','a','y','s',']',']','a','d','d','_','n','o','t','e','b','e','g','i','d','x',' ','n','b','e','l','e','m','e','n','t','c','a','n','n','o','t',' ','c','h','a','n','g','e',' ','T','A','-','L','i','b',' ','s','e','t','t','i','n','g','s',' ','o','r',' ','l','i','f','e','c','y','c','l','e',' ','w','h','i','l','e',' ','c','a','l','l','s',' ','o','r',' ','s','t','r','e','a','m','s',' ','a','r','e',' ','a','c','t','i','v','e','c','a','n','n','o','t',' ','p','i','c','k','l','e',' ','%','s',':',' ','a',' ','s','t','r','e','a','m',' ','h','a','n','d','l','e',' ','p','o','i','n','t','s',' ','i','n','t','o',' ','t','h','e',' ','T','A','-','L','i','b',' ','C',' ','l','i','b','r','a','r','y',',',' ','a','n','d',' ','d','o','e','s',' ','n','o','t',' ','c','r','o','s','s',' ','a',' ','p','r','o','c','e','s','s',' ','b','o','u','n','d','a','r','y','c','a','n','n','o','t',' ','s','h','u','t',' ','d','o','w','n',' ','T','A','-','L','i','b',' ','w','h','i','l','e',' ','c','a','l','l','s',' ','o','r',' ','s','t','r','e','a','m','s',' ','a','r','e',' ','a','c','t','i','v','e','d','i','s','a','b','l','e','e','n','a','b','l','e','g','c','i','n','p','u','t',' ','a','r','r','a','y',' ','h','a','s',' ','w','r','o','n','g',' ','d','i','m','e','n','s','i','o','n','s','i','n','p','u','t',' ','a','r','r','a','y',' ','l','e','n','g','t','h','s',' ','a','r','e',' ','d','i','f','f','e','r','e','n','t','i','n','p','u','t',' ','a','r','r','a','y',' ','t','y','p','e',' ','i','s',' ','n','o','t',' ','d','o','u','b','l','e','i','n','p','u','t',' ','m','u','s','t',' ','b','e',' ','a',' ','n','u','m','p','y',' ','a','r','r','a','y',' ','o','r',' ','a',' ','p','a','n','d','a','s',' ','o','r',' ','p','o','l','a','r','s',' ','S','e','r','i','e','s',',',' ','n','o','t',' ','%','s','i','n','p','u','t','_','a','r','r','a','y','s',' ','p','a','r','a','m','e','t','e','r',' ','m','i','s','s','i','n','g',' ','r','e','q','u','i','r','e','d',' ','d','a','t','a',' ','k','e','y','i','n','t','e','g','e','r',' ','(','v','a','l','u','e','s',' ','a','r','e',' ','-','1','0','0',',',' ','0',' ','o','r',' ','1','0','0',')','i','s','e','n','a','b','l','e','d','n','o',' ','h','i','s','t','o','r','y',':',' ','t','h','e',' ','i','n','p','u','t',' ','a','r','r','a','y',' ','i','s',' ','e','m','p','t','y','n','u','m','p','y','.','_','c','o','r','e','.','m','u','l','t','i','a','r','r','a','y',' ','f','a','i','l','e','d',' ','t','o',' ','i','m','p','o','r','t','n','u','m','p','y','.','_','c','o','r','e','.','u','m','a','t','h',' ','f','a','i','l','e','d',' ','t','o',' ','i','m','p','o','r','t','t','a','l','i','b','.','c','o','l','l','e','c','t','i','o','n','s','t','a','l','i','b','.','n','u','m','p','y','t','a','l','i','b','.','o','r','d','e','r','e','d','d','i','c','t','t','a','l','i','b','.','p','a','n','d','a','s','t','a','l','i','b','.','p','o','l','a','r','s','t','a','l','i','b','.','s','y','s','t','a','l','i','b','.','t','h','r','e','a','d','i','n','g','t','a','l','i','b','.','w','a','r','n','i','n','g','s','t','a','l','i','b','/','_','a','b','s','t','r','a','c','t','.','p','x','i','t','a','l','i','b','/','_','c','o','m','m','o','n','.','p','x','i','t','a','l','i','b','/','_','f','u','n','c','.','p','x','i','t','a','l','i','b','/','_','s','t','r','e','a','m','.','p','x','i','t','o','o',' ','m','a','n','y',' ','i','n','p','u','t',' ','a','r','r','a','y','s','u','n','s','t','a','b','l','e',' ','p','e','r','i','o','d',' ','\047','A','C','A','C','C','B','A','N','D','S','A','C','C','B','A','N','D','S','_','S','t','r','e','a','m','A','C','C','B','A','N','D','S','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','C','O','S','A','C','O','S','_','S','t','r','e','a','m','A','C','O','S','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','C','_','S','t','r','e','a','m','A','C','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','D','A','D','D','A','D','D','_','S','t','r','e','a','m','A','D','D','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','D','O','S','C','A','D','O','S','C','_','S','t','r','e','a','m','A','D','O','S','C','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','D','R','A','D','R','_','S','t','r','e','a','m','A','D','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','D','X','A','D','X','R','A','D','X','R','_','S','t','r','e','a','m','A','D','X','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','D','X','_','S','t','r','e','a','m','A','D','X','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','D','_','S','t','r','e','a','m','A','D','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','L','L','A','O','A','O','_','S','t','r','e','a','m','A','O','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','P','O','A','P','O','_','S','t','r','e','a','m','A','P','O','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','R','O','O','N','A','R','O','O','N','O','S','C','A','R','O','O','N','O','S','C','_','S','t','r','e','a','m','A','R','O','O','N','O','S','C','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','R','O','O','N','_','S','t','r','e','a','m','A','R','O','O','N','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','S','I','N','A','S','I','N','_','S','t','r','e','a','m','A','S','I','N','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','T','A','N','A','T','A','N','_','S','t','r','e','a','m','A','T','A','N','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','T','R','A','T','R','_','S','t','r','e','a','m','A','T','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','V','G','D','E','V','A','V','G','D','E','V','_','S','t','r','e','a','m','A','V','G','D','E','V','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','V','G','P','R','I','C','E','A','V','G','P','R','I','C','E','_','S','t','r','e','a','m','A','V','G','P','R','I','C','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','A','l','l','C','a','n','d','l','e','S','e','t','t','i','n','g','s','B','B','A','N','D','S','B','B','A','N','D','S','_','S','t','r','e','a','m','B','B','A','N','D','S','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','B','E','T','A','B','E','T','A','_','S','t','r','e','a','m','B','E','T','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','B','O','P','B','O','P','_','S','t','r','e','a','m','B','O','P','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','B','o','d','y','D','o','j','i','B','o','d','y','L','o','n','g','B','o','d','y','S','h','o','r','t','B','o','d','y','V','e','r','y','L','o','n','g','C','C','I','C','C','I','_','S','t','r','e','a','m','C','C','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','2','C','R','O','W','S','C','D','L','2','C','R','O','W','S','_','S','t','r','e','a','m','C','D','L','2','C','R','O','W','S','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','3','B','L','A','C','K','C','R','O','W','S','C','D','L','3','B','L','A','C','K','C','R','O','W','S','_','S','t','r','e','a','m','C','D','L','3','B','L','A','C','K','C','R','O','W','S','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','3','I','N','S','I','D','E','C','D','L','3','I','N','S','I','D','E','_','S','t','r','e','a','m','C','D','L','3','I','N','S','I','D','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','3','L','I','N','E','S','T','R','I','K','E','C','D','L','3','L','I','N','E','S','T','R','I','K','E','_','S','t','r','e','a','m','C','D','L','3','L','I','N','E','S','T','R','I','K','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','3','O','U','T','S','I','D','E','C','D','L','3','O','U','T','S','I','D','E','_','S','t','r','e','a','m','C','D','L','3','O','U','T','S','I','D','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','3','S','T','A','R','S','I','N','S','O','U','T','H','C','D','L','3','S','T','A','R','S','I','N','S','O','U','T','H','_','S','t','r','e','a','m','C','D','L','3','S','T','A','R','S','I','N','S','O','U','T','H','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','3','W','H','I','T','E','S','O','L','D','I','E','R','S','C','D','L','3','W','H','I','T','E','S','O','L','D','I','E','R','S','_','S','t','r','e','a','m','C','D','L','3','W','H','I','T','E','S','O','L','D','I','E','R','S','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','A','B','A','N','D','O','N','E','D','B','A','B','Y','C','D','L','A','B','A','N','D','O','N','E','D','B','A','B','Y','_','S','t','r','e','a','m','C','D','L','A','B','A','N','D','O','N','E','D','B','A','B','Y','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','A','D','V','A','N','C','E','B','L','O','C','K','C','D','L','A','D','V','A','N','C','E','B','L','O','C','K','_','S','t','r','e','a','m','C','D','L','A','D','V','A','N','C','E','B','L','O','C','K','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','B','E','L','T','H','O','L','D','C','D','L','B','E','L','T','H','O','L','D','_','S','t','r','e','a','m','C','D','L','B','E','L','T','H','O','L','D','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','B','R','E','A','K','A','W','A','Y','C','D','L','B','R','E','A','K','A','W','A','Y','_','S','t','r','e','a','m','C','D','L','B','R','E','A','K','A','W','A','Y','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','C','L','O','S','I','N','G','M','A','R','U','B','O','Z','U','C','D','L','C','L','O','S','I','N','G','M','A','R','U','B','O','Z','U','_','S','t','r','e','a','m','C','D','L','C','L','O','S','I','N','G','M','A','R','U','B','O','Z','U','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','C','O','N','C','E','A','L','B','A','B','Y','S','W','A','L','L','C','D','L','C','O','N','C','E','A','L','B','A','B','Y','S','W','A','L','L','_','S','t','r','e','a','m','C','D','L','C','O','N','C','E','A','L','B','A','B','Y','S','W','A','L','L','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','C','O','U','N','T','E','R','A','T','T','A','C','K','C','D','L','C','O','U','N','T','E','R','A','T','T','A','C','K','_','S','t','r','e','a','m','C','D','L','C','O','U','N','T','E','R','A','T','T','A','C','K','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','D','A','R','K','C','L','O','U','D','C','O','V','E','R','C','D','L','D','A','R','K','C','L','O','U','D','C','O','V','E','R','_','S','t','r','e','a','m','C','D','L','D','A','R','K','C','L','O','U','D','C','O','V','E','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','D','O','J','I','C','D','L','D','O','J','I','S','T','A','R','C','D','L','D','O','J','I','S','T','A','R','_','S','t','r','e','a','m','C','D','L','D','O','J','I','S','T','A','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','D','O','J','I','_','S','t','r','e','a','m','C','D','L','D','O','J','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','D','R','A','G','O','N','F','L','Y','D','O','J','I','C','D','L','D','R','A','G','O','N','F','L','Y','D','O','J','I','_','S','t','r','e','a','m','C','D','L','D','R','A','G','O','N','F','L','Y','D','O','J','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','E','N','G','U','L','F','I','N','G','C','D','L','E','N','G','U','L','F','I','N','G','_','S','t','r','e','a','m','C','D','L','E','N','G','U','L','F','I','N','G','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','E','V','E','N','I','N','G','D','O','J','I','S','T','A','R','C','D','L','E','V','E','N','I','N','G','D','O','J','I','S','T','A','R','_','S','t','r','e','a','m','C','D','L','E','V','E','N','I','N','G','D','O','J','I','S','T','A','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','E','V','E','N','I','N','G','S','T','A','R','C','D','L','E','V','E','N','I','N','G','S','T','A','R','_','S','t','r','e','a','m','C','D','L','E','V','E','N','I','N','G','S','T','A','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','G','A','P','S','I','D','E','S','I','D','E','W','H','I','T','E','C','D','L','G','A','P','S','I','D','E','S','I','D','E','W','H','I','T','E','_','S','t','r','e','a','m','C','D','L','G','A','P','S','I','D','E','S','I','D','E','W','H','I','T','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','G','R','A','V','E','S','T','O','N','E','D','O','J','I','C','D','L','G','R','A','V','E','S','T','O','N','E','D','O','J','I','_','S','t','r','e','a','m','C','D','L','G','R','A','V','E','S','T','O','N','E','D','O','J','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','H','A','M','M','E','R','C','D','L','H','A','M','M','E','R','_','S','t','r','e','a','m','C','D','L','H','A','M','M','E','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','H','A','N','G','I','N','G','M','A','N','C','D','L','H','A','N','G','I','N','G','M','A','N','_','S','t','r','e','a','m','C','D','L','H','A','N','G','I','N','G','M','A','N','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','H','A','R','A','M','I','C','D','L','H','A','R','A','M','I','C','R','O','S','S','C','D','L','H','A','R','A','M','I','C','R','O','S','S','_','S','t','r','e','a','m','C','D','L','H','A','R','A','M','I','C','R','O','S','S','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','H','A','R','A','M','I','_','S','t','r','e','a','m','C','D','L','H','A','R','A','M','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','H','I','G','H','W','A','V','E','C','D','L','H','I','G','H','W','A','V','E','_','S','t','r','e','a','m','C','D','L','H','I','G','H','W','A','V','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','H','I','K','K','A','K','E','C','D','L','H','I','K','K','A','K','E','M','O','D','C','D','L','H','I','K','K','A','K','E','M','O','D','_','S','t','r','e','a','m','C','D','L','H','I','K','K','A','K','E','M','O','D','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','H','I','K','K','A','K','E','_','S','t','r','e','a','m','C','D','L','H','I','K','K','A','K','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','H','O','M','I','N','G','P','I','G','E','O','N','C','D','L','H','O','M','I','N','G','P','I','G','E','O','N','_','S','t','r','e','a','m','C','D','L','H','O','M','I','N','G','P','I','G','E','O','N','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','I','D','E','N','T','I','C','A','L','3','C','R','O','W','S','C','D','L','I','D','E','N','T','I','C','A','L','3','C','R','O','W','S','_','S','t','r','e','a','m','C','D','L','I','D','E','N','T','I','C','A','L','3','C','R','O','W','S','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','I','N','N','E','C','K','C','D','L','I','N','N','E','C','K','_','S','t','r','e','a','m','C','D','L','I','N','N','E','C','K','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','I','N','V','E','R','T','E','D','H','A','M','M','E','R','C','D','L','I','N','V','E','R','T','E','D','H','A','M','M','E','R','_','S','t','r','e','a','m','C','D','L','I','N','V','E','R','T','E','D','H','A','M','M','E','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','K','I','C','K','I','N','G','C','D','L','K','I','C','K','I','N','G','B','Y','L','E','N','G','T','H','C','D','L','K','I','C','K','I','N','G','B','Y','L','E','N','G','T','H','_','S','t','r','e','a','m','C','D','L','K','I','C','K','I','N','G','B','Y','L','E','N','G','T','H','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','K','I','C','K','I','N','G','_','S','t','r','e','a','m','C','D','L','K','I','C','K','I','N','G','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','L','A','D','D','E','R','B','O','T','T','O','M','C','D','L','L','A','D','D','E','R','B','O','T','T','O','M','_','S','t','r','e','a','m','C','D','L','L','A','D','D','E','R','B','O','T','T','O','M','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','L','O','N','G','L','E','G','G','E','D','D','O','J','I','C','D','L','L','O','N','G','L','E','G','G','E','D','D','O','J','I','_','S','t','r','e','a','m','C','D','L','L','O','N','G','L','E','G','G','E','D','D','O','J','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','L','O','N','G','L','I','N','E','C','D','L','L','O','N','G','L','I','N','E','_','S','t','r','e','a','m','C','D','L','L','O','N','G','L','I','N','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','M','A','R','U','B','O','Z','U','C','D','L','M','A','R','U','B','O','Z','U','_','S','t','r','e','a','m','C','D','L','M','A','R','U','B','O','Z','U','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','M','A','T','C','H','I','N','G','L','O','W','C','D','L','M','A','T','C','H','I','N','G','L','O','W','_','S','t','r','e','a','m','C','D','L','M','A','T','C','H','I','N','G','L','O','W','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','M','A','T','H','O','L','D','C','D','L','M','A','T','H','O','L','D','_','S','t','r','e','a','m','C','D','L','M','A','T','H','O','L','D','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','M','O','R','N','I','N','G','D','O','J','I','S','T','A','R','C','D','L','M','O','R','N','I','N','G','D','O','J','I','S','T','A','R','_','S','t','r','e','a','m','C','D','L','M','O','R','N','I','N','G','D','O','J','I','S','T','A','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','M','O','R','N','I','N','G','S','T','A','R','C','D','L','M','O','R','N','I','N','G','S','T','A','R','_','S','t','r','e','a','m','C','D','L','M','O','R','N','I','N','G','S','T','A','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','O','N','N','E','C','K','C','D','L','O','N','N','E','C','K','_','S','t','r','e','a','m','C','D','L','O','N','N','E','C','K','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','P','I','E','R','C','I','N','G','C','D','L','P','I','E','R','C','I','N','G','_','S','t','r','e','a','m','C','D','L','P','I','E','R','C','I','N','G','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','R','I','C','K','S','H','A','W','M','A','N','C','D','L','R','I','C','K','S','H','A','W','M','A','N','_','S','t','r','e','a','m','C','D','L','R','I','C','K','S','H','A','W','M','A','N','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','R','I','S','E','F','A','L','L','3','M','E','T','H','O','D','S','C','D','L','R','I','S','E','F','A','L','L','3','M','E','T','H','O','D','S','_','S','t','r','e','a','m','C','D','L','R','I','S','E','F','A','L','L','3','M','E','T','H','O','D','S','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','S','E','P','A','R','A','T','I','N','G','L','I','N','E','S','C','D','L','S','E','P','A','R','A','T','I','N','G','L','I','N','E','S','_','S','t','r','e','a','m','C','D','L','S','E','P','A','R','A','T','I','N','G','L','I','N','E','S','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','S','H','O','O','T','I','N','G','S','T','A','R','C','D','L','S','H','O','O','T','I','N','G','S','T','A','R','_','S','t','r','e','a','m','C','D','L','S','H','O','O','T','I','N','G','S','T','A','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','S','H','O','R','T','L','I','N','E','C','D','L','S','H','O','R','T','L','I','N','E','_','S','t','r','e','a','m','C','D','L','S','H','O','R','T','L','I','N','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','S','P','I','N','N','I','N','G','T','O','P','C','D','L','S','P','I','N','N','I','N','G','T','O','P','_','S','t','r','e','a','m','C','D','L','S','P','I','N','N','I','N','G','T','O','P','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','S','T','A','L','L','E','D','P','A','T','T','E','R','N','C','D','L','S','T','A','L','L','E','D','P','A','T','T','E','R','N','_','S','t','r','e','a','m','C','D','L','S','T','A','L','L','E','D','P','A','T','T','E','R','N','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','S','T','I','C','K','S','A','N','D','W','I','C','H','C','D','L','S','T','I','C','K','S','A','N','D','W','I','C','H','_','S','t','r','e','a','m','C','D','L','S','T','I','C','K','S','A','N','D','W','I','C','H','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','T','A','K','U','R','I','C','D','L','T','A','K','U','R','I','_','S','t','r','e','a','m','C','D','L','T','A','K','U','R','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','T','A','S','U','K','I','G','A','P','C','D','L','T','A','S','U','K','I','G','A','P','_','S','t','r','e','a','m','C','D','L','T','A','S','U','K','I','G','A','P','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','T','H','R','U','S','T','I','N','G','C','D','L','T','H','R','U','S','T','I','N','G','_','S','t','r','e','a','m','C','D','L','T','H','R','U','S','T','I','N','G','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','T','R','I','S','T','A','R','C','D','L','T','R','I','S','T','A','R','_','S','t','r','e','a','m','C','D','L','T','R','I','S','T','A','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','U','N','I','Q','U','E','3','R','I','V','E','R','C','D','L','U','N','I','Q','U','E','3','R','I','V','E','R','_','S','t','r','e','a','m','C','D','L','U','N','I','Q','U','E','3','R','I','V','E','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','U','P','S','I','D','E','G','A','P','2','C','R','O','W','S','C','D','L','U','P','S','I','D','E','G','A','P','2','C','R','O','W','S','_','S','t','r','e','a','m','C','D','L','U','P','S','I','D','E','G','A','P','2','C','R','O','W','S','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','D','L','X','S','I','D','E','G','A','P','3','M','E','T','H','O','D','S','C','D','L','X','S','I','D','E','G','A','P','3','M','E','T','H','O','D','S','_','S','t','r','e','a','m','C','D','L','X','S','I','D','E','G','A','P','3','M','E','T','H','O','D','S','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','E','I','L','C','E','I','L','_','S','t','r','e','a','m','C','E','I','L','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','M','F','C','M','F','_','S','t','r','e','a','m','C','M','F','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','M','O','C','M','O','U','C','M','O','U','_','S','t','r','e','a','m','C','M','O','U','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','M','O','_','S','t','r','e','a','m','C','M','O','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','O','P','P','O','C','K','C','O','P','P','O','C','K','_','S','t','r','e','a','m','C','O','P','P','O','C','K','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','O','R','R','E','L','C','O','R','R','E','L','_','S','t','r','e','a','m','C','O','R','R','E','L','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','O','S','C','O','S','H','C','O','S','H','_','S','t','r','e','a','m','C','O','S','H','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','O','S','_','S','t','r','e','a','m','C','O','S','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','U','M','S','U','M','C','U','M','S','U','M','_','S','t','r','e','a','m','C','U','M','S','U','M','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','V','I','C','V','I','_','S','t','r','e','a','m','C','V','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','C','a','n','d','l','e','S','e','t','t','i','n','g','T','y','p','e','D','E','F','A','U','L','T','D','E','M','A','D','E','M','A','_','S','t','r','e','a','m','D','E','M','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','D','I','S','A','B','L','E','D','D','I','V','D','I','V','_','S','t','r','e','a','m','D','I','V','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','D','O','N','C','H','I','A','N','D','O','N','C','H','I','A','N','_','S','t','r','e','a','m','D','O','N','C','H','I','A','N','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','D','P','O','D','P','O','_','S','t','r','e','a','m','D','P','O','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','D','X','D','X','_','S','t','r','e','a','m','D','X','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','D','a','t','a','F','r','a','m','e','D','o','t','E','F','I','E','F','I','_','S','t','r','e','a','m','E','F','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','E','M','A','E','M','A','_','S','t','r','e','a','m','E','M','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','E','R','E','R','I','E','R','I','_','S','t','r','e','a','m','E','R','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','E','R','_','S','t','r','e','a','m','E','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','E','X','P','E','X','P','_','S','t','r','e','a','m','E','X','P','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','E','q','u','a','l','F','L','O','O','R','F','L','O','O','R','_','S','t','r','e','a','m','F','L','O','O','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','F','O','S','C','F','O','S','C','_','S','t','r','e','a','m','F','O','S','C','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','F','R','A','C','T','A','L','F','R','A','C','T','A','L','_','S','t','r','e','a','m','F','R','A','C','T','A','L','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','F','a','r','F','u','n','c','t','i','o','n','F','u','n','c','t','i','o','n','.','_','_','c','a','l','l','_','_','F','u','n','c','t','i','o','n','.','_','_','c','a','l','l','_','f','u','n','c','t','i','o','n','F','u','n','c','t','i','o','n','.','_','_','c','h','e','c','k','_','o','p','t','_','i','n','p','u','t','_','v','a','l','u','e','F','u','n','c','t','i','o','n','.','_','_','g','e','t','_','o','p','t','_','i','n','p','u','t','_','v','a','l','u','e','F','u','n','c','t','i','o','n','.','_','_','i','n','i','t','_','_','F','u','n','c','t','i','o','n','.','_','_','i','n','p','u','t','_','p','r','i','c','e','_','s','e','r','i','e','s','_','n','a','m','e','s','F','u','n','c','t','i','o','n','.','_','_','l','o','c','a','l','F','u','n','c','t','i','o','n','.','_','_','r','e','p','r','_','_','F','u','n','c','t','i','o','n','.','_','_','s','t','r','_','_','F','u','n','c','t','i','o','n','.','_','_','u','n','i','c','o','d','e','_','_','F','u','n','c','t','i','o','n','.','f','u','n','c','t','i','o','n','_','f','l','a','g','s','F','u','n','c','t','i','o','n','.','g','e','t','_','i','n','p','u','t','_','a','r','r','a','y','s','F','u','n','c','t','i','o','n','.','g','e','t','_','i','n','p','u','t','_','n','a','m','e','s','F','u','n','c','t','i','o','n','.','g','e','t','_','p','a','r','a','m','e','t','e','r','s','F','u','n','c','t','i','o','n','.','i','n','f','o','F','u','n','c','t','i','o','n','.','l','o','o','k','b','a','c','k','F','u','n','c','t','i','o','n','.','o','u','t','p','u','t','_','f','l','a','g','s','F','u','n','c','t','i','o','n','.','o','u','t','p','u','t','_','n','a','m','e','s','F','u','n','c','t','i','o','n','.','o','u','t','p','u','t','s','F','u','n','c','t','i','o','n','.','r','u','n','F','u','n','c','t','i','o','n','.','s','e','t','_','f','u','n','c','t','i','o','n','_','a','r','g','s','F','u','n','c','t','i','o','n','.','s','e','t','_','i','n','p','u','t','_','a','r','r','a','y','s','F','u','n','c','t','i','o','n','.','s','e','t','_','i','n','p','u','t','_','n','a','m','e','s','F','u','n','c','t','i','o','n','.','s','e','t','_','p','a','r','a','m','e','t','e','r','s','H','A','H','A','_','S','t','r','e','a','m','H','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','H','M','A','H','M','A','_','S','t','r','e','a','m','H','M','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','H','T','_','D','C','P','E','R','I','O','D','H','T','_','D','C','P','E','R','I','O','D','_','S','t','r','e','a','m','H','T','_','D','C','P','E','R','I','O','D','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','H','T','_','D','C','P','H','A','S','E','H','T','_','D','C','P','H','A','S','E','_','S','t','r','e','a','m','H','T','_','D','C','P','H','A','S','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','H','T','_','P','H','A','S','O','R','H','T','_','P','H','A','S','O','R','_','S','t','r','e','a','m','H','T','_','P','H','A','S','O','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','H','T','_','S','I','N','E','H','T','_','S','I','N','E','_','S','t','r','e','a','m','H','T','_','S','I','N','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','H','T','_','T','R','E','N','D','L','I','N','E','H','T','_','T','R','E','N','D','L','I','N','E','_','S','t','r','e','a','m','H','T','_','T','R','E','N','D','L','I','N','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','H','T','_','T','R','E','N','D','M','O','D','E','H','T','_','T','R','E','N','D','M','O','D','E','_','S','t','r','e','a','m','H','T','_','T','R','E','N','D','M','O','D','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','H','i','g','h','L','o','w','H','i','s','t','o','g','r','a','m','I','M','I','I','M','I','_','S','t','r','e','a','m','I','M','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','I','n','s','u','f','f','i','c','i','e','n','t','H','i','s','t','o','r','y','K','A','M','A','K','A','M','A','_','S','t','r','e','a','m','K','A','M','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','K','C','K','C','_','S','t','r','e','a','m','K','C','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','K','D','J','K','D','J','_','S','t','r','e','a','m','K','D','J','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','L','I','N','E','A','R','R','E','G','L','I','N','E','A','R','R','E','G','_','A','N','G','L','E','L','I','N','E','A','R','R','E','G','_','A','N','G','L','E','_','S','t','r','e','a','m','L','I','N','E','A','R','R','E','G','_','A','N','G','L','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','L','I','N','E','A','R','R','E','G','_','I','N','T','E','R','C','E','P','T','L','I','N','E','A','R','R','E','G','_','I','N','T','E','R','C','E','P','T','_','S','t','r','e','a','m','L','I','N','E','A','R','R','E','G','_','I','N','T','E','R','C','E','P','T','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','L','I','N','E','A','R','R','E','G','_','S','L','O','P','E','L','I','N','E','A','R','R','E','G','_','S','L','O','P','E','_','S','t','r','e','a','m','L','I','N','E','A','R','R','E','G','_','S','L','O','P','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','L','I','N','E','A','R','R','E','G','_','S','t','r','e','a','m','L','I','N','E','A','R','R','E','G','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','L','N','L','N','_','S','t','r','e','a','m','L','N','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','L','O','G','1','0','L','O','G','1','0','_','S','t','r','e','a','m','L','O','G','1','0','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','L','i','n','e','M','A','M','A','C','D','M','A','C','D','E','X','T','M','A','C','D','E','X','T','_','S','t','r','e','a','m','M','A','C','D','E','X','T','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','A','C','D','F','I','X','M','A','C','D','F','I','X','_','S','t','r','e','a','m','M','A','C','D','F','I','X','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','A','C','D','_','S','t','r','e','a','m','M','A','C','D','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','A','M','A','M','A','M','A','_','S','t','r','e','a','m','M','A','M','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','A','R','K','E','T','F','I','M','A','R','K','E','T','F','I','_','S','t','r','e','a','m','M','A','R','K','E','T','F','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','A','S','S','I','M','A','S','S','I','_','S','t','r','e','a','m','M','A','S','S','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','A','V','P','M','A','V','P','_','S','t','r','e','a','m','M','A','V','P','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','A','X','M','A','X','I','N','D','E','X','M','A','X','I','N','D','E','X','_','S','t','r','e','a','m','M','A','X','I','N','D','E','X','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','A','X','_','S','t','r','e','a','m','M','A','X','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','A','_','S','t','r','e','a','m','M','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','A','_','T','y','p','e','M','A','_','T','y','p','e','.','_','_','g','e','t','i','t','e','m','_','_','M','A','_','T','y','p','e','.','_','_','i','n','i','t','_','_','M','E','D','P','R','I','C','E','M','E','D','P','R','I','C','E','_','S','t','r','e','a','m','M','E','D','P','R','I','C','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','F','I','M','F','I','_','S','t','r','e','a','m','M','F','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','I','D','P','O','I','N','T','M','I','D','P','O','I','N','T','_','S','t','r','e','a','m','M','I','D','P','O','I','N','T','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','I','D','P','R','I','C','E','M','I','D','P','R','I','C','E','_','S','t','r','e','a','m','M','I','D','P','R','I','C','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','I','N','M','I','N','I','N','D','E','X','M','I','N','I','N','D','E','X','_','S','t','r','e','a','m','M','I','N','I','N','D','E','X','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','I','N','M','A','X','M','I','N','M','A','X','I','N','D','E','X','M','I','N','M','A','X','I','N','D','E','X','_','S','t','r','e','a','m','M','I','N','M','A','X','I','N','D','E','X','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','I','N','M','A','X','_','S','t','r','e','a','m','M','I','N','M','A','X','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','I','N','U','S','_','D','I','M','I','N','U','S','_','D','I','_','S','t','r','e','a','m','M','I','N','U','S','_','D','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','I','N','U','S','_','D','M','M','I','N','U','S','_','D','M','_','S','t','r','e','a','m','M','I','N','U','S','_','D','M','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','I','N','_','S','t','r','e','a','m','M','I','N','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','O','M','M','O','M','_','S','t','r','e','a','m','M','O','M','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','M','U','L','T','M','U','L','T','_','S','t','r','e','a','m','M','U','L','T','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','N','A','T','R','N','A','T','R','_','S','t','r','e','a','m','N','A','T','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','N','O','N','E','N','V','I','N','V','I','_','S','t','r','e','a','m','N','V','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','N','e','a','r','O','B','V','O','B','V','_','S','t','r','e','a','m','O','B','V','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','O','r','d','e','r','e','d','D','i','c','t','O','u','t','R','a','n','g','e','P','E','R','C','E','N','T','I','L','E','P','E','R','C','E','N','T','I','L','E','_','S','t','r','e','a','m','P','E','R','C','E','N','T','I','L','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','P','E','R','C','E','N','T','R','A','N','K','P','E','R','C','E','N','T','R','A','N','K','_','S','t','r','e','a','m','P','E','R','C','E','N','T','R','A','N','K','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','P','L','U','S','_','D','I','P','L','U','S','_','D','I','_','S','t','r','e','a','m','P','L','U','S','_','D','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','P','L','U','S','_','D','M','P','L','U','S','_','D','M','_','S','t','r','e','a','m','P','L','U','S','_','D','M','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','P','P','O','P','P','O','_','S','t','r','e','a','m','P','P','O','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','P','V','I','P','V','I','_','S','t','r','e','a','m','P','V','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','P','V','O','P','V','O','_','S','t','r','e','a','m','P','V','O','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','P','V','T','P','V','T','_','S','t','r','e','a','m','P','V','T','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','Q','S','T','I','C','K','Q','S','T','I','C','K','_','S','t','r','e','a','m','Q','S','T','I','C','K','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','R','M','A','R','M','A','_','S','t','r','e','a','m','R','M','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','R','O','C','R','O','C','P','R','O','C','P','_','S','t','r','e','a','m','R','O','C','P','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','R','O','C','R','R','O','C','R','1','0','0','R','O','C','R','1','0','0','_','S','t','r','e','a','m','R','O','C','R','1','0','0','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','R','O','C','R','_','S','t','r','e','a','m','R','O','C','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','R','O','C','_','S','t','r','e','a','m','R','O','C','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','R','S','I','R','S','I','_','S','t','r','e','a','m','R','S','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','R','V','I','R','V','I','_','S','t','r','e','a','m','R','V','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','R','V','O','L','R','V','O','L','_','S','t','r','e','a','m','R','V','O','L','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','R','a','n','g','e','T','y','p','e','R','e','a','l','B','o','d','y','S','A','R','S','A','R','E','X','T','S','A','R','E','X','T','_','S','t','r','e','a','m','S','A','R','E','X','T','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','A','R','_','S','t','r','e','a','m','S','A','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','I','N','S','I','N','H','S','I','N','H','_','S','t','r','e','a','m','S','I','N','H','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','I','N','_','S','t','r','e','a','m','S','I','N','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','M','A','S','M','A','_','S','t','r','e','a','m','S','M','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','M','I','S','M','I','_','S','t','r','e','a','m','S','M','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','Q','R','T','S','Q','R','T','_','S','t','r','e','a','m','S','Q','R','T','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','T','D','D','E','V','S','T','D','D','E','V','_','S','t','r','e','a','m','S','T','D','D','E','V','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','T','O','C','H','S','T','O','C','H','F','S','T','O','C','H','F','_','S','t','r','e','a','m','S','T','O','C','H','F','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','T','O','C','H','R','S','I','S','T','O','C','H','R','S','I','_','S','t','r','e','a','m','S','T','O','C','H','R','S','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','T','O','C','H','_','S','t','r','e','a','m','S','T','O','C','H','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','U','B','S','U','B','_','S','t','r','e','a','m','S','U','B','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','U','M','S','U','M','_','S','t','r','e','a','m','S','U','M','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','U','P','E','R','T','R','E','N','D','S','U','P','E','R','T','R','E','N','D','_','S','t','r','e','a','m','S','U','P','E','R','T','R','E','N','D','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','S','e','r','i','e','s','S','h','a','d','o','w','L','o','n','g','S','h','a','d','o','w','S','h','o','r','t','S','h','a','d','o','w','V','e','r','y','L','o','n','g','S','h','a','d','o','w','V','e','r','y','S','h','o','r','t','S','h','a','d','o','w','s','S','t','r','e','a','m','S','t','r','e','a','m','.','_','_','c','o','p','y','_','_','S','t','r','e','a','m','.','_','_','d','e','e','p','c','o','p','y','_','_','S','t','r','e','a','m','.','_','_','r','e','d','u','c','e','_','_','T','3','T','3','_','S','t','r','e','a','m','T','3','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','T','A','N','T','A','N','H','T','A','N','H','_','S','t','r','e','a','m','T','A','N','H','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','T','A','N','_','S','t','r','e','a','m','T','A','N','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','T','A','_','A','C','T','A','_','A','C','C','B','A','N','D','S','T','A','_','A','C','C','B','A','N','D','S','_','C','l','o','n','e','T','A','_','A','C','C','B','A','N','D','S','_','O','p','e','n','T','A','_','A','C','C','B','A','N','D','S','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','C','C','B','A','N','D','S','_','P','e','e','k','T','A','_','A','C','C','B','A','N','D','S','_','U','p','d','a','t','e','T','A','_','A','C','C','B','A','N','D','S','_','V','a','l','u','e','T','A','_','A','C','O','S','T','A','_','A','C','O','S','_','C','l','o','n','e','T','A','_','A','C','O','S','_','O','p','e','n','T','A','_','A','C','O','S','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','C','O','S','_','P','e','e','k','T','A','_','A','C','O','S','_','U','p','d','a','t','e','T','A','_','A','C','O','S','_','V','a','l','u','e','T','A','_','A','C','_','C','l','o','n','e','T','A','_','A','C','_','O','p','e','n','T','A','_','A','C','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','C','_','P','e','e','k','T','A','_','A','C','_','U','p','d','a','t','e','T','A','_','A','C','_','V','a','l','u','e','T','A','_','A','D','T','A','_','A','D','D','T','A','_','A','D','D','_','C','l','o','n','e','T','A','_','A','D','D','_','O','p','e','n','T','A','_','A','D','D','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','D','D','_','P','e','e','k','T','A','_','A','D','D','_','U','p','d','a','t','e','T','A','_','A','D','D','_','V','a','l','u','e','T','A','_','A','D','O','S','C','T','A','_','A','D','O','S','C','_','C','l','o','n','e','T','A','_','A','D','O','S','C','_','O','p','e','n','T','A','_','A','D','O','S','C','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','D','O','S','C','_','P','e','e','k','T','A','_','A','D','O','S','C','_','U','p','d','a','t','e','T','A','_','A','D','O','S','C','_','V','a','l','u','e','T','A','_','A','D','R','T','A','_','A','D','R','_','C','l','o','n','e','T','A','_','A','D','R','_','O','p','e','n','T','A','_','A','D','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','D','R','_','P','e','e','k','T','A','_','A','D','R','_','U','p','d','a','t','e','T','A','_','A','D','R','_','V','a','l','u','e','T','A','_','A','D','X','T','A','_','A','D','X','R','T','A','_','A','D','X','R','_','C','l','o','n','e','T','A','_','A','D','X','R','_','O','p','e','n','T','A','_','A','D','X','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','D','X','R','_','P','e','e','k','T','A','_','A','D','X','R','_','U','p','d','a','t','e','T','A','_','A','D','X','R','_','V','a','l','u','e','T','A','_','A','D','X','_','C','l','o','n','e','T','A','_','A','D','X','_','O','p','e','n','T','A','_','A','D','X','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','D','X','_','P','e','e','k','T','A','_','A','D','X','_','U','p','d','a','t','e','T','A','_','A','D','X','_','V','a','l','u','e','T','A','_','A','D','_','C','l','o','n','e','T','A','_','A','D','_','O','p','e','n','T','A','_','A','D','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','D','_','P','e','e','k','T','A','_','A','D','_','U','p','d','a','t','e','T','A','_','A','D','_','V','a','l','u','e','T','A','_','A','O','T','A','_','A','O','_','C','l','o','n','e','T','A','_','A','O','_','O','p','e','n','T','A','_','A','O','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','O','_','P','e','e','k','T','A','_','A','O','_','U','p','d','a','t','e','T','A','_','A','O','_','V','a','l','u','e','T','A','_','A','P','O','T','A','_','A','P','O','_','C','l','o','n','e','T','A','_','A','P','O','_','O','p','e','n','T','A','_','A','P','O','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','P','O','_','P','e','e','k','T','A','_','A','P','O','_','U','p','d','a','t','e','T','A','_','A','P','O','_','V','a','l','u','e','T','A','_','A','R','O','O','N','T','A','_','A','R','O','O','N','O','S','C','T','A','_','A','R','O','O','N','O','S','C','_','C','l','o','n','e','T','A','_','A','R','O','O','N','O','S','C','_','O','p','e','n','T','A','_','A','R','O','O','N','O','S','C','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','R','O','O','N','O','S','C','_','P','e','e','k','T','A','_','A','R','O','O','N','O','S','C','_','U','p','d','a','t','e','T','A','_','A','R','O','O','N','O','S','C','_','V','a','l','u','e','T','A','_','A','R','O','O','N','_','C','l','o','n','e','T','A','_','A','R','O','O','N','_','O','p','e','n','T','A','_','A','R','O','O','N','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','R','O','O','N','_','P','e','e','k','T','A','_','A','R','O','O','N','_','U','p','d','a','t','e','T','A','_','A','R','O','O','N','_','V','a','l','u','e','T','A','_','A','S','I','N','T','A','_','A','S','I','N','_','C','l','o','n','e','T','A','_','A','S','I','N','_','O','p','e','n','T','A','_','A','S','I','N','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','S','I','N','_','P','e','e','k','T','A','_','A','S','I','N','_','U','p','d','a','t','e','T','A','_','A','S','I','N','_','V','a','l','u','e','T','A','_','A','T','A','N','T','A','_','A','T','A','N','_','C','l','o','n','e','T','A','_','A','T','A','N','_','O','p','e','n','T','A','_','A','T','A','N','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','T','A','N','_','P','e','e','k','T','A','_','A','T','A','N','_','U','p','d','a','t','e','T','A','_','A','T','A','N','_','V','a','l','u','e','T','A','_','A','T','R','T','A','_','A','T','R','_','C','l','o','n','e','T','A','_','A','T','R','_','O','p','e','n','T','A','_','A','T','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','T','R','_','P','e','e','k','T','A','_','A','T','R','_','U','p','d','a','t','e','T','A','_','A','T','R','_','V','a','l','u','e','T','A','_','A','V','G','D','E','V','T','A','_','A','V','G','D','E','V','_','C','l','o','n','e','T','A','_','A','V','G','D','E','V','_','O','p','e','n','T','A','_','A','V','G','D','E','V','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','V','G','D','E','V','_','P','e','e','k','T','A','_','A','V','G','D','E','V','_','U','p','d','a','t','e','T','A','_','A','V','G','D','E','V','_','V','a','l','u','e','T','A','_','A','V','G','P','R','I','C','E','T','A','_','A','V','G','P','R','I','C','E','_','C','l','o','n','e','T','A','_','A','V','G','P','R','I','C','E','_','O','p','e','n','T','A','_','A','V','G','P','R','I','C','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','A','V','G','P','R','I','C','E','_','P','e','e','k','T','A','_','A','V','G','P','R','I','C','E','_','U','p','d','a','t','e','T','A','_','A','V','G','P','R','I','C','E','_','V','a','l','u','e','T','A','_','B','B','A','N','D','S','T','A','_','B','B','A','N','D','S','_','C','l','o','n','e','T','A','_','B','B','A','N','D','S','_','O','p','e','n','T','A','_','B','B','A','N','D','S','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','B','B','A','N','D','S','_','P','e','e','k','T','A','_','B','B','A','N','D','S','_','U','p','d','a','t','e','T','A','_','B','B','A','N','D','S','_','V','a','l','u','e','T','A','_','B','E','T','A','T','A','_','B','E','T','A','_','C','l','o','n','e','T','A','_','B','E','T','A','_','O','p','e','n','T','A','_','B','E','T','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','B','E','T','A','_','P','e','e','k','T','A','_','B','E','T','A','_','U','p','d','a','t','e','T','A','_','B','E','T','A','_','V','a','l','u','e','T','A','_','B','O','P','T','A','_','B','O','P','_','C','l','o','n','e','T','A','_','B','O','P','_','O','p','e','n','T','A','_','B','O','P','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','B','O','P','_','P','e','e','k','T','A','_','B','O','P','_','U','p','d','a','t','e','T','A','_','B','O','P','_','V','a','l','u','e','T','A','_','C','C','I','T','A','_','C','C','I','_','C','l','o','n','e','T','A','_','C','C','I','_','O','p','e','n','T','A','_','C','C','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','C','I','_','P','e','e','k','T','A','_','C','C','I','_','U','p','d','a','t','e','T','A','_','C','C','I','_','V','a','l','u','e','T','A','_','C','D','L','2','C','R','O','W','S','T','A','_','C','D','L','2','C','R','O','W','S','_','C','l','o','n','e','T','A','_','C','D','L','2','C','R','O','W','S','_','O','p','e','n','T','A','_','C','D','L','2','C','R','O','W','S','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','2','C','R','O','W','S','_','P','e','e','k','T','A','_','C','D','L','2','C','R','O','W','S','_','U','p','d','a','t','e','T','A','_','C','D','L','2','C','R','O','W','S','_','V','a','l','u','e','T','A','_','C','D','L','3','B','L','A','C','K','C','R','O','W','S','T','A','_','C','D','L','3','B','L','A','C','K','C','R','O','W','S','_','C','l','o','n','e','T','A','_','C','D','L','3','B','L','A','C','K','C','R','O','W','S','_','O','p','e','n','T','A','_','C','D','L','3','B','L','A','C','K','C','R','O','W','S','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','3','B','L','A','C','K','C','R','O','W','S','_','P','e','e','k','T','A','_','C','D','L','3','B','L','A','C','K','C','R','O','W','S','_','U','p','d','a','t','e','T','A','_','C','D','L','3','B','L','A','C','K','C','R','O','W','S','_','V','a','l','u','e','T','A','_','C','D','L','3','I','N','S','I','D','E','T','A','_','C','D','L','3','I','N','S','I','D','E','_','C','l','o','n','e','T','A','_','C','D','L','3','I','N','S','I','D','E','_','O','p','e','n','T','A','_','C','D','L','3','I','N','S','I','D','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','3','I','N','S','I','D','E','_','P','e','e','k','T','A','_','C','D','L','3','I','N','S','I','D','E','_','U','p','d','a','t','e','T','A','_','C','D','L','3','I','N','S','I','D','E','_','V','a','l','u','e','T','A','_','C','D','L','3','L','I','N','E','S','T','R','I','K','E','T','A','_','C','D','L','3','L','I','N','E','S','T','R','I','K','E','_','C','l','o','n','e','T','A','_','C','D','L','3','L','I','N','E','S','T','R','I','K','E','_','O','p','e','n','T','A','_','C','D','L','3','L','I','N','E','S','T','R','I','K','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','3','L','I','N','E','S','T','R','I','K','E','_','P','e','e','k','T','A','_','C','D','L','3','L','I','N','E','S','T','R','I','K','E','_','U','p','d','a','t','e','T','A','_','C','D','L','3','L','I','N','E','S','T','R','I','K','E','_','V','a','l','u','e','T','A','_','C','D','L','3','O','U','T','S','I','D','E','T','A','_','C','D','L','3','O','U','T','S','I','D','E','_','C','l','o','n','e','T','A','_','C','D','L','3','O','U','T','S','I','D','E','_','O','p','e','n','T','A','_','C','D','L','3','O','U','T','S','I','D','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','3','O','U','T','S','I','D','E','_','P','e','e','k','T','A','_','C','D','L','3','O','U','T','S','I','D','E','_','U','p','d','a','t','e','T','A','_','C','D','L','3','O','U','T','S','I','D','E','_','V','a','l','u','e','T','A','_','C','D','L','3','S','T','A','R','S','I','N','S','O','U','T','H','T','A','_','C','D','L','3','S','T','A','R','S','I','N','S','O','U','T','H','_','C','l','o','n','e','T','A','_','C','D','L','3','S','T','A','R','S','I','N','S','O','U','T','H','_','O','p','e','n','T','A','_','C','D','L','3','S','T','A','R','S','I','N','S','O','U','T','H','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','3','S','T','A','R','S','I','N','S','O','U','T','H','_','P','e','e','k','T','A','_','C','D','L','3','S','T','A','R','S','I','N','S','O','U','T','H','_','U','p','d','a','t','e','T','A','_','C','D','L','3','S','T','A','R','S','I','N','S','O','U','T','H','_','V','a','l','u','e','T','A','_','C','D','L','3','W','H','I','T','E','S','O','L','D','I','E','R','S','T','A','_','C','D','L','3','W','H','I','T','E','S','O','L','D','I','E','R','S','_','C','l','o','n','e','T','A','_','C','D','L','3','W','H','I','T','E','S','O','L','D','I','E','R','S','_','O','p','e','n','T','A','_','C','D','L','3','W','H','I','T','E','S','O','L','D','I','E','R','S','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','3','W','H','I','T','E','S','O','L','D','I','E','R','S','_','P','e','e','k','T','A','_','C','D','L','3','W','H','I','T','E','S','O','L','D','I','E','R','S','_','U','p','d','a','t','e','T','A','_','C','D','L','3','W','H','I','T','E','S','O','L','D','I','E','R','S','_','V','a','l','u','e','T','A','_','C','D','L','A','B','A','N','D','O','N','E','D','B','A','B','Y','T','A','_','C','D','L','A','B','A','N','D','O','N','E','D','B','A','B','Y','_','C','l','o','n','e','T','A','_','C','D','L','A','B','A','N','D','O','N','E','D','B','A','B','Y','_','O','p','e','n','T','A','_','C','D','L','A','B','A','N','D','O','N','E','D','B','A','B','Y','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','A','B','A','N','D','O','N','E','D','B','A','B','Y','_','P','e','e','k','T','A','_','C','D','L','A','B','A','N','D','O','N','E','D','B','A','B','Y','_','U','p','d','a','t','e','T','A','_','C','D','L','A','B','A','N','D','O','N','E','D','B','A','B','Y','_','V','a','l','u','e','T','A','_','C','D','L','A','D','V','A','N','C','E','B','L','O','C','K','T','A','_','C','D','L','A','D','V','A','N','C','E','B','L','O','C','K','_','C','l','o','n','e','T','A','_','C','D','L','A','D','V','A','N','C','E','B','L','O','C','K','_','O','p','e','n','T','A','_','C','D','L','A','D','V','A','N','C','E','B','L','O','C','K','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','A','D','V','A','N','C','E','B','L','O','C','K','_','P','e','e','k','T','A','_','C','D','L','A','D','V','A','N','C','E','B','L','O','C','K','_','U','p','d','a','t','e','T','A','_','C','D','L','A','D','V','A','N','C','E','B','L','O','C','K','_','V','a','l','u','e','T','A','_','C','D','L','B','E','L','T','H','O','L','D','T','A','_','C','D','L','B','E','L','T','H','O','L','D','_','C','l','o','n','e','T','A','_','C','D','L','B','E','L','T','H','O','L','D','_','O','p','e','n','T','A','_','C','D','L','B','E','L','T','H','O','L','D','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','B','E','L','T','H','O','L','D','_','P','e','e','k','T','A','_','C','D','L','B','E','L','T','H','O','L','D','_','U','p','d','a','t','e','T','A','_','C','D','L','B','E','L','T','H','O','L','D','_','V','a','l','u','e','T','A','_','C','D','L','B','R','E','A','K','A','W','A','Y','T','A','_','C','D','L','B','R','E','A','K','A','W','A','Y','_','C','l','o','n','e','T','A','_','C','D','L','B','R','E','A','K','A','W','A','Y','_','O','p','e','n','T','A','_','C','D','L','B','R','E','A','K','A','W','A','Y','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','B','R','E','A','K','A','W','A','Y','_','P','e','e','k','T','A','_','C','D','L','B','R','E','A','K','A','W','A','Y','_','U','p','d','a','t','e','T','A','_','C','D','L','B','R','E','A','K','A','W','A','Y','_','V','a','l','u','e','T','A','_','C','D','L','C','L','O','S','I','N','G','M','A','R','U','B','O','Z','U','T','A','_','C','D','L','C','L','O','S','I','N','G','M','A','R','U','B','O','Z','U','_','C','l','o','n','e','T','A','_','C','D','L','C','L','O','S','I','N','G','M','A','R','U','B','O','Z','U','_','O','p','e','n','T','A','_','C','D','L','C','L','O','S','I','N','G','M','A','R','U','B','O','Z','U','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','C','L','O','S','I','N','G','M','A','R','U','B','O','Z','U','_','P','e','e','k','T','A','_','C','D','L','C','L','O','S','I','N','G','M','A','R','U','B','O','Z','U','_','U','p','d','a','t','e','T','A','_','C','D','L','C','L','O','S','I','N','G','M','A','R','U','B','O','Z','U','_','V','a','l','u','e','T','A','_','C','D','L','C','O','N','C','E','A','L','B','A','B','Y','S','W','A','L','L','T','A','_','C','D','L','C','O','N','C','E','A','L','B','A','B','Y','S','W','A','L','L','_','C','l','o','n','e','T','A','_','C','D','L','C','O','N','C','E','A','L','B','A','B','Y','S','W','A','L','L','_','O','p','e','n','T','A','_','C','D','L','C','O','N','C','E','A','L','B','A','B','Y','S','W','A','L','L','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','C','O','N','C','E','A','L','B','A','B','Y','S','W','A','L','L','_','P','e','e','k','T','A','_','C','D','L','C','O','N','C','E','A','L','B','A','B','Y','S','W','A','L','L','_','U','p','d','a','t','e','T','A','_','C','D','L','C','O','N','C','E','A','L','B','A','B','Y','S','W','A','L','L','_','V','a','l','u','e','T','A','_','C','D','L','C','O','U','N','T','E','R','A','T','T','A','C','K','T','A','_','C','D','L','C','O','U','N','T','E','R','A','T','T','A','C','K','_','C','l','o','n','e','T','A','_','C','D','L','C','O','U','N','T','E','R','A','T','T','A','C','K','_','O','p','e','n','T','A','_','C','D','L','C','O','U','N','T','E','R','A','T','T','A','C','K','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','C','O','U','N','T','E','R','A','T','T','A','C','K','_','P','e','e','k','T','A','_','C','D','L','C','O','U','N','T','E','R','A','T','T','A','C','K','_','U','p','d','a','t','e','T','A','_','C','D','L','C','O','U','N','T','E','R','A','T','T','A','C','K','_','V','a','l','u','e','T','A','_','C','D','L','D','A','R','K','C','L','O','U','D','C','O','V','E','R','T','A','_','C','D','L','D','A','R','K','C','L','O','U','D','C','O','V','E','R','_','C','l','o','n','e','T','A','_','C','D','L','D','A','R','K','C','L','O','U','D','C','O','V','E','R','_','O','p','e','n','T','A','_','C','D','L','D','A','R','K','C','L','O','U','D','C','O','V','E','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','D','A','R','K','C','L','O','U','D','C','O','V','E','R','_','P','e','e','k','T','A','_','C','D','L','D','A','R','K','C','L','O','U','D','C','O','V','E','R','_','U','p','d','a','t','e','T','A','_','C','D','L','D','A','R','K','C','L','O','U','D','C','O','V','E','R','_','V','a','l','u','e','T','A','_','C','D','L','D','O','J','I','T','A','_','C','D','L','D','O','J','I','S','T','A','R','T','A','_','C','D','L','D','O','J','I','S','T','A','R','_','C','l','o','n','e','T','A','_','C','D','L','D','O','J','I','S','T','A','R','_','O','p','e','n','T','A','_','C','D','L','D','O','J','I','S','T','A','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','D','O','J','I','S','T','A','R','_','P','e','e','k','T','A','_','C','D','L','D','O','J','I','S','T','A','R','_','U','p','d','a','t','e','T','A','_','C','D','L','D','O','J','I','S','T','A','R','_','V','a','l','u','e','T','A','_','C','D','L','D','O','J','I','_','C','l','o','n','e','T','A','_','C','D','L','D','O','J','I','_','O','p','e','n','T','A','_','C','D','L','D','O','J','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','D','O','J','I','_','P','e','e','k','T','A','_','C','D','L','D','O','J','I','_','U','p','d','a','t','e','T','A','_','C','D','L','D','O','J','I','_','V','a','l','u','e','T','A','_','C','D','L','D','R','A','G','O','N','F','L','Y','D','O','J','I','T','A','_','C','D','L','D','R','A','G','O','N','F','L','Y','D','O','J','I','_','C','l','o','n','e','T','A','_','C','D','L','D','R','A','G','O','N','F','L','Y','D','O','J','I','_','O','p','e','n','T','A','_','C','D','L','D','R','A','G','O','N','F','L','Y','D','O','J','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','D','R','A','G','O','N','F','L','Y','D','O','J','I','_','P','e','e','k','T','A','_','C','D','L','D','R','A','G','O','N','F','L','Y','D','O','J','I','_','U','p','d','a','t','e','T','A','_','C','D','L','D','R','A','G','O','N','F','L','Y','D','O','J','I','_','V','a','l','u','e','T','A','_','C','D','L','E','N','G','U','L','F','I','N','G','T','A','_','C','D','L','E','N','G','U','L','F','I','N','G','_','C','l','o','n','e','T','A','_','C','D','L','E','N','G','U','L','F','I','N','G','_','O','p','e','n','T','A','_','C','D','L','E','N','G','U','L','F','I','N','G','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','E','N','G','U','L','F','I','N','G','_','P','e','e','k','T','A','_','C','D','L','E','N','G','U','L','F','I','N','G','_','U','p','d','a','t','e','T','A','_','C','D','L','E','N','G','U','L','F','I','N','G','_','V','a','l','u','e','T','A','_','C','D','L','E','V','E','N','I','N','G','D','O','J','I','S','T','A','R','T','A','_','C','D','L','E','V','E','N','I','N','G','D','O','J','I','S','T','A','R','_','C','l','o','n','e','T','A','_','C','D','L','E','V','E','N','I','N','G','D','O','J','I','S','T','A','R','_','O','p','e','n','T','A','_','C','D','L','E','V','E','N','I','N','G','D','O','J','I','S','T','A','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','E','V','E','N','I','N','G','D','O','J','I','S','T','A','R','_','P','e','e','k','T','A','_','C','D','L','E','V','E','N','I','N','G','D','O','J','I','S','T','A','R','_','U','p','d','a','t','e','T','A','_','C','D','L','E','V','E','N','I','N','G','D','O','J','I','S','T','A','R','_','V','a','l','u','e','T','A','_','C','D','L','E','V','E','N','I','N','G','S','T','A','R','T','A','_','C','D','L','E','V','E','N','I','N','G','S','T','A','R','_','C','l','o','n','e','T','A','_','C','D','L','E','V','E','N','I','N','G','S','T','A','R','_','O','p','e','n','T','A','_','C','D','L','E','V','E','N','I','N','G','S','T','A','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','E','V','E','N','I','N','G','S','T','A','R','_','P','e','e','k','T','A','_','C','D','L','E','V','E','N','I','N','G','S','T','A','R','_','U','p','d','a','t','e','T','A','_','C','D','L','E','V','E','N','I','N','G','S','T','A','R','_','V','a','l','u','e','T','A','_','C','D','L','G','A','P','S','I','D','E','S','I','D','E','W','H','I','T','E','T','A','_','C','D','L','G','A','P','S','I','D','E','S','I','D','E','W','H','I','T','E','_','C','l','o','n','e','T','A','_','C','D','L','G','A','P','S','I','D','E','S','I','D','E','W','H','I','T','E','_','O','p','e','n','T','A','_','C','D','L','G','A','P','S','I','D','E','S','I','D','E','W','H','I','T','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','G','A','P','S','I','D','E','S','I','D','E','W','H','I','T','E','_','P','e','e','k','T','A','_','C','D','L','G','A','P','S','I','D','E','S','I','D','E','W','H','I','T','E','_','U','p','d','a','t','e','T','A','_','C','D','L','G','A','P','S','I','D','E','S','I','D','E','W','H','I','T','E','_','V','a','l','u','e','T','A','_','C','D','L','G','R','A','V','E','S','T','O','N','E','D','O','J','I','T','A','_','C','D','L','G','R','A','V','E','S','T','O','N','E','D','O','J','I','_','C','l','o','n','e','T','A','_','C','D','L','G','R','A','V','E','S','T','O','N','E','D','O','J','I','_','O','p','e','n','T','A','_','C','D','L','G','R','A','V','E','S','T','O','N','E','D','O','J','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','G','R','A','V','E','S','T','O','N','E','D','O','J','I','_','P','e','e','k','T','A','_','C','D','L','G','R','A','V','E','S','T','O','N','E','D','O','J','I','_','U','p','d','a','t','e','T','A','_','C','D','L','G','R','A','V','E','S','T','O','N','E','D','O','J','I','_','V','a','l','u','e','T','A','_','C','D','L','H','A','M','M','E','R','T','A','_','C','D','L','H','A','M','M','E','R','_','C','l','o','n','e','T','A','_','C','D','L','H','A','M','M','E','R','_','O','p','e','n','T','A','_','C','D','L','H','A','M','M','E','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','H','A','M','M','E','R','_','P','e','e','k','T','A','_','C','D','L','H','A','M','M','E','R','_','U','p','d','a','t','e','T','A','_','C','D','L','H','A','M','M','E','R','_','V','a','l','u','e','T','A','_','C','D','L','H','A','N','G','I','N','G','M','A','N','T','A','_','C','D','L','H','A','N','G','I','N','G','M','A','N','_','C','l','o','n','e','T','A','_','C','D','L','H','A','N','G','I','N','G','M','A','N','_','O','p','e','n','T','A','_','C','D','L','H','A','N','G','I','N','G','M','A','N','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','H','A','N','G','I','N','G','M','A','N','_','P','e','e','k','T','A','_','C','D','L','H','A','N','G','I','N','G','M','A','N','_','U','p','d','a','t','e','T','A','_','C','D','L','H','A','N','G','I','N','G','M','A','N','_','V','a','l','u','e','T','A','_','C','D','L','H','A','R','A','M','I','T','A','_','C','D','L','H','A','R','A','M','I','C','R','O','S','S','T','A','_','C','D','L','H','A','R','A','M','I','C','R','O','S','S','_','C','l','o','n','e','T','A','_','C','D','L','H','A','R','A','M','I','C','R','O','S','S','_','O','p','e','n','T','A','_','C','D','L','H','A','R','A','M','I','C','R','O','S','S','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','H','A','R','A','M','I','C','R','O','S','S','_','P','e','e','k','T','A','_','C','D','L','H','A','R','A','M','I','C','R','O','S','S','_','U','p','d','a','t','e','T','A','_','C','D','L','H','A','R','A','M','I','C','R','O','S','S','_','V','a','l','u','e','T','A','_','C','D','L','H','A','R','A','M','I','_','C','l','o','n','e','T','A','_','C','D','L','H','A','R','A','M','I','_','O','p','e','n','T','A','_','C','D','L','H','A','R','A','M','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','H','A','R','A','M','I','_','P','e','e','k','T','A','_','C','D','L','H','A','R','A','M','I','_','U','p','d','a','t','e','T','A','_','C','D','L','H','A','R','A','M','I','_','V','a','l','u','e','T','A','_','C','D','L','H','I','G','H','W','A','V','E','T','A','_','C','D','L','H','I','G','H','W','A','V','E','_','C','l','o','n','e','T','A','_','C','D','L','H','I','G','H','W','A','V','E','_','O','p','e','n','T','A','_','C','D','L','H','I','G','H','W','A','V','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','H','I','G','H','W','A','V','E','_','P','e','e','k','T','A','_','C','D','L','H','I','G','H','W','A','V','E','_','U','p','d','a','t','e','T','A','_','C','D','L','H','I','G','H','W','A','V','E','_','V','a','l','u','e','T','A','_','C','D','L','H','I','K','K','A','K','E','T','A','_','C','D','L','H','I','K','K','A','K','E','M','O','D','T','A','_','C','D','L','H','I','K','K','A','K','E','M','O','D','_','C','l','o','n','e','T','A','_','C','D','L','H','I','K','K','A','K','E','M','O','D','_','O','p','e','n','T','A','_','C','D','L','H','I','K','K','A','K','E','M','O','D','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','H','I','K','K','A','K','E','M','O','D','_','P','e','e','k','T','A','_','C','D','L','H','I','K','K','A','K','E','M','O','D','_','U','p','d','a','t','e','T','A','_','C','D','L','H','I','K','K','A','K','E','M','O','D','_','V','a','l','u','e','T','A','_','C','D','L','H','I','K','K','A','K','E','_','C','l','o','n','e','T','A','_','C','D','L','H','I','K','K','A','K','E','_','O','p','e','n','T','A','_','C','D','L','H','I','K','K','A','K','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','H','I','K','K','A','K','E','_','P','e','e','k','T','A','_','C','D','L','H','I','K','K','A','K','E','_','U','p','d','a','t','e','T','A','_','C','D','L','H','I','K','K','A','K','E','_','V','a','l','u','e','T','A','_','C','D','L','H','O','M','I','N','G','P','I','G','E','O','N','T','A','_','C','D','L','H','O','M','I','N','G','P','I','G','E','O','N','_','C','l','o','n','e','T','A','_','C','D','L','H','O','M','I','N','G','P','I','G','E','O','N','_','O','p','e','n','T','A','_','C','D','L','H','O','M','I','N','G','P','I','G','E','O','N','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','H','O','M','I','N','G','P','I','G','E','O','N','_','P','e','e','k','T','A','_','C','D','L','H','O','M','I','N','G','P','I','G','E','O','N','_','U','p','d','a','t','e','T','A','_','C','D','L','H','O','M','I','N','G','P','I','G','E','O','N','_','V','a','l','u','e','T','A','_','C','D','L','I','D','E','N','T','I','C','A','L','3','C','R','O','W','S','T','A','_','C','D','L','I','D','E','N','T','I','C','A','L','3','C','R','O','W','S','_','C','l','o','n','e','T','A','_','C','D','L','I','D','E','N','T','I','C','A','L','3','C','R','O','W','S','_','O','p','e','n','T','A','_','C','D','L','I','D','E','N','T','I','C','A','L','3','C','R','O','W','S','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','I','D','E','N','T','I','C','A','L','3','C','R','O','W','S','_','P','e','e','k','T','A','_','C','D','L','I','D','E','N','T','I','C','A','L','3','C','R','O','W','S','_','U','p','d','a','t','e','T','A','_','C','D','L','I','D','E','N','T','I','C','A','L','3','C','R','O','W','S','_','V','a','l','u','e','T','A','_','C','D','L','I','N','N','E','C','K','T','A','_','C','D','L','I','N','N','E','C','K','_','C','l','o','n','e','T','A','_','C','D','L','I','N','N','E','C','K','_','O','p','e','n','T','A','_','C','D','L','I','N','N','E','C','K','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','I','N','N','E','C','K','_','P','e','e','k','T','A','_','C','D','L','I','N','N','E','C','K','_','U','p','d','a','t','e','T','A','_','C','D','L','I','N','N','E','C','K','_','V','a','l','u','e','T','A','_','C','D','L','I','N','V','E','R','T','E','D','H','A','M','M','E','R','T','A','_','C','D','L','I','N','V','E','R','T','E','D','H','A','M','M','E','R','_','C','l','o','n','e','T','A','_','C','D','L','I','N','V','E','R','T','E','D','H','A','M','M','E','R','_','O','p','e','n','T','A','_','C','D','L','I','N','V','E','R','T','E','D','H','A','M','M','E','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','I','N','V','E','R','T','E','D','H','A','M','M','E','R','_','P','e','e','k','T','A','_','C','D','L','I','N','V','E','R','T','E','D','H','A','M','M','E','R','_','U','p','d','a','t','e','T','A','_','C','D','L','I','N','V','E','R','T','E','D','H','A','M','M','E','R','_','V','a','l','u','e','T','A','_','C','D','L','K','I','C','K','I','N','G','T','A','_','C','D','L','K','I','C','K','I','N','G','B','Y','L','E','N','G','T','H','T','A','_','C','D','L','K','I','C','K','I','N','G','B','Y','L','E','N','G','T','H','_','C','l','o','n','e','T','A','_','C','D','L','K','I','C','K','I','N','G','B','Y','L','E','N','G','T','H','_','O','p','e','n','T','A','_','C','D','L','K','I','C','K','I','N','G','B','Y','L','E','N','G','T','H','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','K','I','C','K','I','N','G','B','Y','L','E','N','G','T','H','_','P','e','e','k','T','A','_','C','D','L','K','I','C','K','I','N','G','B','Y','L','E','N','G','T','H','_','U','p','d','a','t','e','T','A','_','C','D','L','K','I','C','K','I','N','G','B','Y','L','E','N','G','T','H','_','V','a','l','u','e','T','A','_','C','D','L','K','I','C','K','I','N','G','_','C','l','o','n','e','T','A','_','C','D','L','K','I','C','K','I','N','G','_','O','p','e','n','T','A','_','C','D','L','K','I','C','K','I','N','G','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','K','I','C','K','I','N','G','_','P','e','e','k','T','A','_','C','D','L','K','I','C','K','I','N','G','_','U','p','d','a','t','e','T','A','_','C','D','L','K','I','C','K','I','N','G','_','V','a','l','u','e','T','A','_','C','D','L','L','A','D','D','E','R','B','O','T','T','O','M','T','A','_','C','D','L','L','A','D','D','E','R','B','O','T','T','O','M','_','C','l','o','n','e','T','A','_','C','D','L','L','A','D','D','E','R','B','O','T','T','O','M','_','O','p','e','n','T','A','_','C','D','L','L','A','D','D','E','R','B','O','T','T','O','M','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','L','A','D','D','E','R','B','O','T','T','O','M','_','P','e','e','k','T','A','_','C','D','L','L','A','D','D','E','R','B','O','T','T','O','M','_','U','p','d','a','t','e','T','A','_','C','D','L','L','A','D','D','E','R','B','O','T','T','O','M','_','V','a','l','u','e','T','A','_','C','D','L','L','O','N','G','L','E','G','G','E','D','D','O','J','I','T','A','_','C','D','L','L','O','N','G','L','E','G','G','E','D','D','O','J','I','_','C','l','o','n','e','T','A','_','C','D','L','L','O','N','G','L','E','G','G','E','D','D','O','J','I','_','O','p','e','n','T','A','_','C','D','L','L','O','N','G','L','E','G','G','E','D','D','O','J','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','L','O','N','G','L','E','G','G','E','D','D','O','J','I','_','P','e','e','k','T','A','_','C','D','L','L','O','N','G','L','E','G','G','E','D','D','O','J','I','_','U','p','d','a','t','e','T','A','_','C','D','L','L','O','N','G','L','E','G','G','E','D','D','O','J','I','_','V','a','l','u','e','T','A','_','C','D','L','L','O','N','G','L','I','N','E','T','A','_','C','D','L','L','O','N','G','L','I','N','E','_','C','l','o','n','e','T','A','_','C','D','L','L','O','N','G','L','I','N','E','_','O','p','e','n','T','A','_','C','D','L','L','O','N','G','L','I','N','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','L','O','N','G','L','I','N','E','_','P','e','e','k','T','A','_','C','D','L','L','O','N','G','L','I','N','E','_','U','p','d','a','t','e','T','A','_','C','D','L','L','O','N','G','L','I','N','E','_','V','a','l','u','e','T','A','_','C','D','L','M','A','R','U','B','O','Z','U','T','A','_','C','D','L','M','A','R','U','B','O','Z','U','_','C','l','o','n','e','T','A','_','C','D','L','M','A','R','U','B','O','Z','U','_','O','p','e','n','T','A','_','C','D','L','M','A','R','U','B','O','Z','U','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','M','A','R','U','B','O','Z','U','_','P','e','e','k','T','A','_','C','D','L','M','A','R','U','B','O','Z','U','_','U','p','d','a','t','e','T','A','_','C','D','L','M','A','R','U','B','O','Z','U','_','V','a','l','u','e','T','A','_','C','D','L','M','A','T','C','H','I','N','G','L','O','W','T','A','_','C','D','L','M','A','T','C','H','I','N','G','L','O','W','_','C','l','o','n','e','T','A','_','C','D','L','M','A','T','C','H','I','N','G','L','O','W','_','O','p','e','n','T','A','_','C','D','L','M','A','T','C','H','I','N','G','L','O','W','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','M','A','T','C','H','I','N','G','L','O','W','_','P','e','e','k','T','A','_','C','D','L','M','A','T','C','H','I','N','G','L','O','W','_','U','p','d','a','t','e','T','A','_','C','D','L','M','A','T','C','H','I','N','G','L','O','W','_','V','a','l','u','e','T','A','_','C','D','L','M','A','T','H','O','L','D','T','A','_','C','D','L','M','A','T','H','O','L','D','_','C','l','o','n','e','T','A','_','C','D','L','M','A','T','H','O','L','D','_','O','p','e','n','T','A','_','C','D','L','M','A','T','H','O','L','D','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','M','A','T','H','O','L','D','_','P','e','e','k','T','A','_','C','D','L','M','A','T','H','O','L','D','_','U','p','d','a','t','e','T','A','_','C','D','L','M','A','T','H','O','L','D','_','V','a','l','u','e','T','A','_','C','D','L','M','O','R','N','I','N','G','D','O','J','I','S','T','A','R','T','A','_','C','D','L','M','O','R','N','I','N','G','D','O','J','I','S','T','A','R','_','C','l','o','n','e','T','A','_','C','D','L','M','O','R','N','I','N','G','D','O','J','I','S','T','A','R','_','O','p','e','n','T','A','_','C','D','L','M','O','R','N','I','N','G','D','O','J','I','S','T','A','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','M','O','R','N','I','N','G','D','O','J','I','S','T','A','R','_','P','e','e','k','T','A','_','C','D','L','M','O','R','N','I','N','G','D','O','J','I','S','T','A','R','_','U','p','d','a','t','e','T','A','_','C','D','L','M','O','R','N','I','N','G','D','O','J','I','S','T','A','R','_','V','a','l','u','e','T','A','_','C','D','L','M','O','R','N','I','N','G','S','T','A','R','T','A','_','C','D','L','M','O','R','N','I','N','G','S','T','A','R','_','C','l','o','n','e','T','A','_','C','D','L','M','O','R','N','I','N','G','S','T','A','R','_','O','p','e','n','T','A','_','C','D','L','M','O','R','N','I','N','G','S','T','A','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','M','O','R','N','I','N','G','S','T','A','R','_','P','e','e','k','T','A','_','C','D','L','M','O','R','N','I','N','G','S','T','A','R','_','U','p','d','a','t','e','T','A','_','C','D','L','M','O','R','N','I','N','G','S','T','A','R','_','V','a','l','u','e','T','A','_','C','D','L','O','N','N','E','C','K','T','A','_','C','D','L','O','N','N','E','C','K','_','C','l','o','n','e','T','A','_','C','D','L','O','N','N','E','C','K','_','O','p','e','n','T','A','_','C','D','L','O','N','N','E','C','K','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','O','N','N','E','C','K','_','P','e','e','k','T','A','_','C','D','L','O','N','N','E','C','K','_','U','p','d','a','t','e','T','A','_','C','D','L','O','N','N','E','C','K','_','V','a','l','u','e','T','A','_','C','D','L','P','I','E','R','C','I','N','G','T','A','_','C','D','L','P','I','E','R','C','I','N','G','_','C','l','o','n','e','T','A','_','C','D','L','P','I','E','R','C','I','N','G','_','O','p','e','n','T','A','_','C','D','L','P','I','E','R','C','I','N','G','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','P','I','E','R','C','I','N','G','_','P','e','e','k','T','A','_','C','D','L','P','I','E','R','C','I','N','G','_','U','p','d','a','t','e','T','A','_','C','D','L','P','I','E','R','C','I','N','G','_','V','a','l','u','e','T','A','_','C','D','L','R','I','C','K','S','H','A','W','M','A','N','T','A','_','C','D','L','R','I','C','K','S','H','A','W','M','A','N','_','C','l','o','n','e','T','A','_','C','D','L','R','I','C','K','S','H','A','W','M','A','N','_','O','p','e','n','T','A','_','C','D','L','R','I','C','K','S','H','A','W','M','A','N','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','R','I','C','K','S','H','A','W','M','A','N','_','P','e','e','k','T','A','_','C','D','L','R','I','C','K','S','H','A','W','M','A','N','_','U','p','d','a','t','e','T','A','_','C','D','L','R','I','C','K','S','H','A','W','M','A','N','_','V','a','l','u','e','T','A','_','C','D','L','R','I','S','E','F','A','L','L','3','M','E','T','H','O','D','S','T','A','_','C','D','L','R','I','S','E','F','A','L','L','3','M','E','T','H','O','D','S','_','C','l','o','n','e','T','A','_','C','D','L','R','I','S','E','F','A','L','L','3','M','E','T','H','O','D','S','_','O','p','e','n','T','A','_','C','D','L','R','I','S','E','F','A','L','L','3','M','E','T','H','O','D','S','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','R','I','S','E','F','A','L','L','3','M','E','T','H','O','D','S','_','P','e','e','k','T','A','_','C','D','L','R','I','S','E','F','A','L','L','3','M','E','T','H','O','D','S','_','U','p','d','a','t','e','T','A','_','C','D','L','R','I','S','E','F','A','L','L','3','M','E','T','H','O','D','S','_','V','a','l','u','e','T','A','_','C','D','L','S','E','P','A','R','A','T','I','N','G','L','I','N','E','S','T','A','_','C','D','L','S','E','P','A','R','A','T','I','N','G','L','I','N','E','S','_','C','l','o','n','e','T','A','_','C','D','L','S','E','P','A','R','A','T','I','N','G','L','I','N','E','S','_','O','p','e','n','T','A','_','C','D','L','S','E','P','A','R','A','T','I','N','G','L','I','N','E','S','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','S','E','P','A','R','A','T','I','N','G','L','I','N','E','S','_','P','e','e','k','T','A','_','C','D','L','S','E','P','A','R','A','T','I','N','G','L','I','N','E','S','_','U','p','d','a','t','e','T','A','_','C','D','L','S','E','P','A','R','A','T','I','N','G','L','I','N','E','S','_','V','a','l','u','e','T','A','_','C','D','L','S','H','O','O','T','I','N','G','S','T','A','R','T','A','_','C','D','L','S','H','O','O','T','I','N','G','S','T','A','R','_','C','l','o','n','e','T','A','_','C','D','L','S','H','O','O','T','I','N','G','S','T','A','R','_','O','p','e','n','T','A','_','C','D','L','S','H','O','O','T','I','N','G','S','T','A','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','S','H','O','O','T','I','N','G','S','T','A','R','_','P','e','e','k','T','A','_','C','D','L','S','H','O','O','T','I','N','G','S','T','A','R','_','U','p','d','a','t','e','T','A','_','C','D','L','S','H','O','O','T','I','N','G','S','T','A','R','_','V','a','l','u','e','T','A','_','C','D','L','S','H','O','R','T','L','I','N','E','T','A','_','C','D','L','S','H','O','R','T','L','I','N','E','_','C','l','o','n','e','T','A','_','C','D','L','S','H','O','R','T','L','I','N','E','_','O','p','e','n','T','A','_','C','D','L','S','H','O','R','T','L','I','N','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','S','H','O','R','T','L','I','N','E','_','P','e','e','k','T','A','_','C','D','L','S','H','O','R','T','L','I','N','E','_','U','p','d','a','t','e','T','A','_','C','D','L','S','H','O','R','T','L','I','N','E','_','V','a','l','u','e','T','A','_','C','D','L','S','P','I','N','N','I','N','G','T','O','P','T','A','_','C','D','L','S','P','I','N','N','I','N','G','T','O','P','_','C','l','o','n','e','T','A','_','C','D','L','S','P','I','N','N','I','N','G','T','O','P','_','O','p','e','n','T','A','_','C','D','L','S','P','I','N','N','I','N','G','T','O','P','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','S','P','I','N','N','I','N','G','T','O','P','_','P','e','e','k','T','A','_','C','D','L','S','P','I','N','N','I','N','G','T','O','P','_','U','p','d','a','t','e','T','A','_','C','D','L','S','P','I','N','N','I','N','G','T','O','P','_','V','a','l','u','e','T','A','_','C','D','L','S','T','A','L','L','E','D','P','A','T','T','E','R','N','T','A','_','C','D','L','S','T','A','L','L','E','D','P','A','T','T','E','R','N','_','C','l','o','n','e','T','A','_','C','D','L','S','T','A','L','L','E','D','P','A','T','T','E','R','N','_','O','p','e','n','T','A','_','C','D','L','S','T','A','L','L','E','D','P','A','T','T','E','R','N','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','S','T','A','L','L','E','D','P','A','T','T','E','R','N','_','P','e','e','k','T','A','_','C','D','L','S','T','A','L','L','E','D','P','A','T','T','E','R','N','_','U','p','d','a','t','e','T','A','_','C','D','L','S','T','A','L','L','E','D','P','A','T','T','E','R','N','_','V','a','l','u','e','T','A','_','C','D','L','S','T','I','C','K','S','A','N','D','W','I','C','H','T','A','_','C','D','L','S','T','I','C','K','S','A','N','D','W','I','C','H','_','C','l','o','n','e','T','A','_','C','D','L','S','T','I','C','K','S','A','N','D','W','I','C','H','_','O','p','e','n','T','A','_','C','D','L','S','T','I','C','K','S','A','N','D','W','I','C','H','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','S','T','I','C','K','S','A','N','D','W','I','C','H','_','P','e','e','k','T','A','_','C','D','L','S','T','I','C','K','S','A','N','D','W','I','C','H','_','U','p','d','a','t','e','T','A','_','C','D','L','S','T','I','C','K','S','A','N','D','W','I','C','H','_','V','a','l','u','e','T','A','_','C','D','L','T','A','K','U','R','I','T','A','_','C','D','L','T','A','K','U','R','I','_','C','l','o','n','e','T','A','_','C','D','L','T','A','K','U','R','I','_','O','p','e','n','T','A','_','C','D','L','T','A','K','U','R','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','T','A','K','U','R','I','_','P','e','e','k','T','A','_','C','D','L','T','A','K','U','R','I','_','U','p','d','a','t','e','T','A','_','C','D','L','T','A','K','U','R','I','_','V','a','l','u','e','T','A','_','C','D','L','T','A','S','U','K','I','G','A','P','T','A','_','C','D','L','T','A','S','U','K','I','G','A','P','_','C','l','o','n','e','T','A','_','C','D','L','T','A','S','U','K','I','G','A','P','_','O','p','e','n','T','A','_','C','D','L','T','A','S','U','K','I','G','A','P','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','T','A','S','U','K','I','G','A','P','_','P','e','e','k','T','A','_','C','D','L','T','A','S','U','K','I','G','A','P','_','U','p','d','a','t','e','T','A','_','C','D','L','T','A','S','U','K','I','G','A','P','_','V','a','l','u','e','T','A','_','C','D','L','T','H','R','U','S','T','I','N','G','T','A','_','C','D','L','T','H','R','U','S','T','I','N','G','_','C','l','o','n','e','T','A','_','C','D','L','T','H','R','U','S','T','I','N','G','_','O','p','e','n','T','A','_','C','D','L','T','H','R','U','S','T','I','N','G','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','T','H','R','U','S','T','I','N','G','_','P','e','e','k','T','A','_','C','D','L','T','H','R','U','S','T','I','N','G','_','U','p','d','a','t','e','T','A','_','C','D','L','T','H','R','U','S','T','I','N','G','_','V','a','l','u','e','T','A','_','C','D','L','T','R','I','S','T','A','R','T','A','_','C','D','L','T','R','I','S','T','A','R','_','C','l','o','n','e','T','A','_','C','D','L','T','R','I','S','T','A','R','_','O','p','e','n','T','A','_','C','D','L','T','R','I','S','T','A','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','T','R','I','S','T','A','R','_','P','e','e','k','T','A','_','C','D','L','T','R','I','S','T','A','R','_','U','p','d','a','t','e','T','A','_','C','D','L','T','R','I','S','T','A','R','_','V','a','l','u','e','T','A','_','C','D','L','U','N','I','Q','U','E','3','R','I','V','E','R','T','A','_','C','D','L','U','N','I','Q','U','E','3','R','I','V','E','R','_','C','l','o','n','e','T','A','_','C','D','L','U','N','I','Q','U','E','3','R','I','V','E','R','_','O','p','e','n','T','A','_','C','D','L','U','N','I','Q','U','E','3','R','I','V','E','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','U','N','I','Q','U','E','3','R','I','V','E','R','_','P','e','e','k','T','A','_','C','D','L','U','N','I','Q','U','E','3','R','I','V','E','R','_','U','p','d','a','t','e','T','A','_','C','D','L','U','N','I','Q','U','E','3','R','I','V','E','R','_','V','a','l','u','e','T','A','_','C','D','L','U','P','S','I','D','E','G','A','P','2','C','R','O','W','S','T','A','_','C','D','L','U','P','S','I','D','E','G','A','P','2','C','R','O','W','S','_','C','l','o','n','e','T','A','_','C','D','L','U','P','S','I','D','E','G','A','P','2','C','R','O','W','S','_','O','p','e','n','T','A','_','C','D','L','U','P','S','I','D','E','G','A','P','2','C','R','O','W','S','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','U','P','S','I','D','E','G','A','P','2','C','R','O','W','S','_','P','e','e','k','T','A','_','C','D','L','U','P','S','I','D','E','G','A','P','2','C','R','O','W','S','_','U','p','d','a','t','e','T','A','_','C','D','L','U','P','S','I','D','E','G','A','P','2','C','R','O','W','S','_','V','a','l','u','e','T','A','_','C','D','L','X','S','I','D','E','G','A','P','3','M','E','T','H','O','D','S','T','A','_','C','D','L','X','S','I','D','E','G','A','P','3','M','E','T','H','O','D','S','_','C','l','o','n','e','T','A','_','C','D','L','X','S','I','D','E','G','A','P','3','M','E','T','H','O','D','S','_','O','p','e','n','T','A','_','C','D','L','X','S','I','D','E','G','A','P','3','M','E','T','H','O','D','S','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','D','L','X','S','I','D','E','G','A','P','3','M','E','T','H','O','D','S','_','P','e','e','k','T','A','_','C','D','L','X','S','I','D','E','G','A','P','3','M','E','T','H','O','D','S','_','U','p','d','a','t','e','T','A','_','C','D','L','X','S','I','D','E','G','A','P','3','M','E','T','H','O','D','S','_','V','a','l','u','e','T','A','_','C','E','I','L','T','A','_','C','E','I','L','_','C','l','o','n','e','T','A','_','C','E','I','L','_','O','p','e','n','T','A','_','C','E','I','L','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','E','I','L','_','P','e','e','k','T','A','_','C','E','I','L','_','U','p','d','a','t','e','T','A','_','C','E','I','L','_','V','a','l','u','e','T','A','_','C','M','F','T','A','_','C','M','F','_','C','l','o','n','e','T','A','_','C','M','F','_','O','p','e','n','T','A','_','C','M','F','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','M','F','_','P','e','e','k','T','A','_','C','M','F','_','U','p','d','a','t','e','T','A','_','C','M','F','_','V','a','l','u','e','T','A','_','C','M','O','T','A','_','C','M','O','U','T','A','_','C','M','O','U','_','C','l','o','n','e','T','A','_','C','M','O','U','_','O','p','e','n','T','A','_','C','M','O','U','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','M','O','U','_','P','e','e','k','T','A','_','C','M','O','U','_','U','p','d','a','t','e','T','A','_','C','M','O','U','_','V','a','l','u','e','T','A','_','C','M','O','_','C','l','o','n','e','T','A','_','C','M','O','_','O','p','e','n','T','A','_','C','M','O','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','M','O','_','P','e','e','k','T','A','_','C','M','O','_','U','p','d','a','t','e','T','A','_','C','M','O','_','V','a','l','u','e','T','A','_','C','O','P','P','O','C','K','T','A','_','C','O','P','P','O','C','K','_','C','l','o','n','e','T','A','_','C','O','P','P','O','C','K','_','O','p','e','n','T','A','_','C','O','P','P','O','C','K','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','O','P','P','O','C','K','_','P','e','e','k','T','A','_','C','O','P','P','O','C','K','_','U','p','d','a','t','e','T','A','_','C','O','P','P','O','C','K','_','V','a','l','u','e','T','A','_','C','O','R','R','E','L','T','A','_','C','O','R','R','E','L','_','C','l','o','n','e','T','A','_','C','O','R','R','E','L','_','O','p','e','n','T','A','_','C','O','R','R','E','L','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','O','R','R','E','L','_','P','e','e','k','T','A','_','C','O','R','R','E','L','_','U','p','d','a','t','e','T','A','_','C','O','R','R','E','L','_','V','a','l','u','e','T','A','_','C','O','S','T','A','_','C','O','S','H','T','A','_','C','O','S','H','_','C','l','o','n','e','T','A','_','C','O','S','H','_','O','p','e','n','T','A','_','C','O','S','H','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','O','S','H','_','P','e','e','k','T','A','_','C','O','S','H','_','U','p','d','a','t','e','T','A','_','C','O','S','H','_','V','a','l','u','e','T','A','_','C','O','S','_','C','l','o','n','e','T','A','_','C','O','S','_','O','p','e','n','T','A','_','C','O','S','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','O','S','_','P','e','e','k','T','A','_','C','O','S','_','U','p','d','a','t','e','T','A','_','C','O','S','_','V','a','l','u','e','T','A','_','C','U','M','S','U','M','T','A','_','C','U','M','S','U','M','_','C','l','o','n','e','T','A','_','C','U','M','S','U','M','_','O','p','e','n','T','A','_','C','U','M','S','U','M','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','U','M','S','U','M','_','P','e','e','k','T','A','_','C','U','M','S','U','M','_','U','p','d','a','t','e','T','A','_','C','U','M','S','U','M','_','V','a','l','u','e','T','A','_','C','V','I','T','A','_','C','V','I','_','C','l','o','n','e','T','A','_','C','V','I','_','O','p','e','n','T','A','_','C','V','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','C','V','I','_','P','e','e','k','T','A','_','C','V','I','_','U','p','d','a','t','e','T','A','_','C','V','I','_','V','a','l','u','e','T','A','_','D','E','M','A','T','A','_','D','E','M','A','_','C','l','o','n','e','T','A','_','D','E','M','A','_','O','p','e','n','T','A','_','D','E','M','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','D','E','M','A','_','P','e','e','k','T','A','_','D','E','M','A','_','U','p','d','a','t','e','T','A','_','D','E','M','A','_','V','a','l','u','e','T','A','_','D','I','V','T','A','_','D','I','V','_','C','l','o','n','e','T','A','_','D','I','V','_','O','p','e','n','T','A','_','D','I','V','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','D','I','V','_','P','e','e','k','T','A','_','D','I','V','_','U','p','d','a','t','e','T','A','_','D','I','V','_','V','a','l','u','e','T','A','_','D','O','N','C','H','I','A','N','T','A','_','D','O','N','C','H','I','A','N','_','C','l','o','n','e','T','A','_','D','O','N','C','H','I','A','N','_','O','p','e','n','T','A','_','D','O','N','C','H','I','A','N','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','D','O','N','C','H','I','A','N','_','P','e','e','k','T','A','_','D','O','N','C','H','I','A','N','_','U','p','d','a','t','e','T','A','_','D','O','N','C','H','I','A','N','_','V','a','l','u','e','T','A','_','D','P','O','T','A','_','D','P','O','_','C','l','o','n','e','T','A','_','D','P','O','_','O','p','e','n','T','A','_','D','P','O','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','D','P','O','_','P','e','e','k','T','A','_','D','P','O','_','U','p','d','a','t','e','T','A','_','D','P','O','_','V','a','l','u','e','T','A','_','D','X','T','A','_','D','X','_','C','l','o','n','e','T','A','_','D','X','_','O','p','e','n','T','A','_','D','X','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','D','X','_','P','e','e','k','T','A','_','D','X','_','U','p','d','a','t','e','T','A','_','D','X','_','V','a','l','u','e','T','A','_','E','F','I','T','A','_','E','F','I','_','C','l','o','n','e','T','A','_','E','F','I','_','O','p','e','n','T','A','_','E','F','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','E','F','I','_','P','e','e','k','T','A','_','E','F','I','_','U','p','d','a','t','e','T','A','_','E','F','I','_','V','a','l','u','e','T','A','_','E','M','A','T','A','_','E','M','A','_','C','l','o','n','e','T','A','_','E','M','A','_','O','p','e','n','T','A','_','E','M','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','E','M','A','_','P','e','e','k','T','A','_','E','M','A','_','U','p','d','a','t','e','T','A','_','E','M','A','_','V','a','l','u','e','T','A','_','E','R','T','A','_','E','R','I','T','A','_','E','R','I','_','C','l','o','n','e','T','A','_','E','R','I','_','O','p','e','n','T','A','_','E','R','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','E','R','I','_','P','e','e','k','T','A','_','E','R','I','_','U','p','d','a','t','e','T','A','_','E','R','I','_','V','a','l','u','e','T','A','_','E','R','_','C','l','o','n','e','T','A','_','E','R','_','O','p','e','n','T','A','_','E','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','E','R','_','P','e','e','k','T','A','_','E','R','_','U','p','d','a','t','e','T','A','_','E','R','_','V','a','l','u','e','T','A','_','E','X','P','T','A','_','E','X','P','_','C','l','o','n','e','T','A','_','E','X','P','_','O','p','e','n','T','A','_','E','X','P','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','E','X','P','_','P','e','e','k','T','A','_','E','X','P','_','U','p','d','a','t','e','T','A','_','E','X','P','_','V','a','l','u','e','T','A','_','F','L','O','O','R','T','A','_','F','L','O','O','R','_','C','l','o','n','e','T','A','_','F','L','O','O','R','_','O','p','e','n','T','A','_','F','L','O','O','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','F','L','O','O','R','_','P','e','e','k','T','A','_','F','L','O','O','R','_','U','p','d','a','t','e','T','A','_','F','L','O','O','R','_','V','a','l','u','e','T','A','_','F','O','S','C','T','A','_','F','O','S','C','_','C','l','o','n','e','T','A','_','F','O','S','C','_','O','p','e','n','T','A','_','F','O','S','C','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','F','O','S','C','_','P','e','e','k','T','A','_','F','O','S','C','_','U','p','d','a','t','e','T','A','_','F','O','S','C','_','V','a','l','u','e','T','A','_','F','R','A','C','T','A','L','T','A','_','F','R','A','C','T','A','L','_','C','l','o','n','e','T','A','_','F','R','A','C','T','A','L','_','O','p','e','n','T','A','_','F','R','A','C','T','A','L','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','F','R','A','C','T','A','L','_','P','e','e','k','T','A','_','F','R','A','C','T','A','L','_','U','p','d','a','t','e','T','A','_','F','R','A','C','T','A','L','_','V','a','l','u','e','T','A','_','F','U','N','C','_','F','L','A','G','S','T','A','_','F','u','n','c','T','a','b','l','e','A','l','l','o','c','T','A','_','F','u','n','c','T','a','b','l','e','F','r','e','e','T','A','_','G','e','t','F','u','n','c','H','a','n','d','l','e','T','A','_','G','e','t','F','u','n','c','I','n','f','o','T','A','_','G','e','t','I','n','p','u','t','P','a','r','a','m','e','t','e','r','I','n','f','o','T','A','_','G','e','t','L','o','o','k','b','a','c','k','T','A','_','G','e','t','O','p','t','I','n','p','u','t','P','a','r','a','m','e','t','e','r','I','n','f','o','T','A','_','G','e','t','O','u','t','p','u','t','P','a','r','a','m','e','t','e','r','I','n','f','o','T','A','_','G','r','o','u','p','T','a','b','l','e','A','l','l','o','c','T','A','_','G','r','o','u','p','T','a','b','l','e','F','r','e','e','T','A','_','H','A','T','A','_','H','A','_','C','l','o','n','e','T','A','_','H','A','_','O','p','e','n','T','A','_','H','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','H','A','_','P','e','e','k','T','A','_','H','A','_','U','p','d','a','t','e','T','A','_','H','A','_','V','a','l','u','e','T','A','_','H','M','A','T','A','_','H','M','A','_','C','l','o','n','e','T','A','_','H','M','A','_','O','p','e','n','T','A','_','H','M','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','H','M','A','_','P','e','e','k','T','A','_','H','M','A','_','U','p','d','a','t','e','T','A','_','H','M','A','_','V','a','l','u','e','T','A','_','H','T','_','D','C','P','E','R','I','O','D','T','A','_','H','T','_','D','C','P','E','R','I','O','D','_','C','l','o','n','e','T','A','_','H','T','_','D','C','P','E','R','I','O','D','_','O','p','e','n','T','A','_','H','T','_','D','C','P','E','R','I','O','D','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','H','T','_','D','C','P','E','R','I','O','D','_','P','e','e','k','T','A','_','H','T','_','D','C','P','E','R','I','O','D','_','U','p','d','a','t','e','T','A','_','H','T','_','D','C','P','E','R','I','O','D','_','V','a','l','u','e','T','A','_','H','T','_','D','C','P','H','A','S','E','T','A','_','H','T','_','D','C','P','H','A','S','E','_','C','l','o','n','e','T','A','_','H','T','_','D','C','P','H','A','S','E','_','O','p','e','n','T','A','_','H','T','_','D','C','P','H','A','S','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','H','T','_','D','C','P','H','A','S','E','_','P','e','e','k','T','A','_','H','T','_','D','C','P','H','A','S','E','_','U','p','d','a','t','e','T','A','_','H','T','_','D','C','P','H','A','S','E','_','V','a','l','u','e','T','A','_','H','T','_','P','H','A','S','O','R','T','A','_','H','T','_','P','H','A','S','O','R','_','C','l','o','n','e','T','A','_','H','T','_','P','H','A','S','O','R','_','O','p','e','n','T','A','_','H','T','_','P','H','A','S','O','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','H','T','_','P','H','A','S','O','R','_','P','e','e','k','T','A','_','H','T','_','P','H','A','S','O','R','_','U','p','d','a','t','e','T','A','_','H','T','_','P','H','A','S','O','R','_','V','a','l','u','e','T','A','_','H','T','_','S','I','N','E','T','A','_','H','T','_','S','I','N','E','_','C','l','o','n','e','T','A','_','H','T','_','S','I','N','E','_','O','p','e','n','T','A','_','H','T','_','S','I','N','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','H','T','_','S','I','N','E','_','P','e','e','k','T','A','_','H','T','_','S','I','N','E','_','U','p','d','a','t','e','T','A','_','H','T','_','S','I','N','E','_','V','a','l','u','e','T','A','_','H','T','_','T','R','E','N','D','L','I','N','E','T','A','_','H','T','_','T','R','E','N','D','L','I','N','E','_','C','l','o','n','e','T','A','_','H','T','_','T','R','E','N','D','L','I','N','E','_','O','p','e','n','T','A','_','H','T','_','T','R','E','N','D','L','I','N','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','H','T','_','T','R','E','N','D','L','I','N','E','_','P','e','e','k','T','A','_','H','T','_','T','R','E','N','D','L','I','N','E','_','U','p','d','a','t','e','T','A','_','H','T','_','T','R','E','N','D','L','I','N','E','_','V','a','l','u','e','T','A','_','H','T','_','T','R','E','N','D','M','O','D','E','T','A','_','H','T','_','T','R','E','N','D','M','O','D','E','_','C','l','o','n','e','T','A','_','H','T','_','T','R','E','N','D','M','O','D','E','_','O','p','e','n','T','A','_','H','T','_','T','R','E','N','D','M','O','D','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','H','T','_','T','R','E','N','D','M','O','D','E','_','P','e','e','k','T','A','_','H','T','_','T','R','E','N','D','M','O','D','E','_','U','p','d','a','t','e','T','A','_','H','T','_','T','R','E','N','D','M','O','D','E','_','V','a','l','u','e','T','A','_','I','M','I','T','A','_','I','M','I','_','C','l','o','n','e','T','A','_','I','M','I','_','O','p','e','n','T','A','_','I','M','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','I','M','I','_','P','e','e','k','T','A','_','I','M','I','_','U','p','d','a','t','e','T','A','_','I','M','I','_','V','a','l','u','e','T','A','_','I','N','P','U','T','_','F','L','A','G','S','T','A','_','I','n','i','t','i','a','l','i','z','e','T','A','_','K','A','M','A','T','A','_','K','A','M','A','_','C','l','o','n','e','T','A','_','K','A','M','A','_','O','p','e','n','T','A','_','K','A','M','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','K','A','M','A','_','P','e','e','k','T','A','_','K','A','M','A','_','U','p','d','a','t','e','T','A','_','K','A','M','A','_','V','a','l','u','e','T','A','_','K','C','T','A','_','K','C','_','C','l','o','n','e','T','A','_','K','C','_','O','p','e','n','T','A','_','K','C','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','K','C','_','P','e','e','k','T','A','_','K','C','_','U','p','d','a','t','e','T','A','_','K','C','_','V','a','l','u','e','T','A','_','K','D','J','T','A','_','K','D','J','_','C','l','o','n','e','T','A','_','K','D','J','_','O','p','e','n','T','A','_','K','D','J','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','K','D','J','_','P','e','e','k','T','A','_','K','D','J','_','U','p','d','a','t','e','T','A','_','K','D','J','_','V','a','l','u','e','T','A','_','L','I','N','E','A','R','R','E','G','T','A','_','L','I','N','E','A','R','R','E','G','_','A','N','G','L','E','T','A','_','L','I','N','E','A','R','R','E','G','_','A','N','G','L','E','_','C','l','o','n','e','T','A','_','L','I','N','E','A','R','R','E','G','_','A','N','G','L','E','_','O','p','e','n','T','A','_','L','I','N','E','A','R','R','E','G','_','A','N','G','L','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','L','I','N','E','A','R','R','E','G','_','A','N','G','L','E','_','P','e','e','k','T','A','_','L','I','N','E','A','R','R','E','G','_','A','N','G','L','E','_','U','p','d','a','t','e','T','A','_','L','I','N','E','A','R','R','E','G','_','A','N','G','L','E','_','V','a','l','u','e','T','A','_','L','I','N','E','A','R','R','E','G','_','C','l','o','n','e','T','A','_','L','I','N','E','A','R','R','E','G','_','I','N','T','E','R','C','E','P','T','T','A','_','L','I','N','E','A','R','R','E','G','_','I','N','T','E','R','C','E','P','T','_','C','l','o','n','e','T','A','_','L','I','N','E','A','R','R','E','G','_','I','N','T','E','R','C','E','P','T','_','O','p','e','n','T','A','_','L','I','N','E','A','R','R','E','G','_','I','N','T','E','R','C','E','P','T','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','L','I','N','E','A','R','R','E','G','_','I','N','T','E','R','C','E','P','T','_','P','e','e','k','T','A','_','L','I','N','E','A','R','R','E','G','_','I','N','T','E','R','C','E','P','T','_','U','p','d','a','t','e','T','A','_','L','I','N','E','A','R','R','E','G','_','I','N','T','E','R','C','E','P','T','_','V','a','l','u','e','T','A','_','L','I','N','E','A','R','R','E','G','_','O','p','e','n','T','A','_','L','I','N','E','A','R','R','E','G','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','L','I','N','E','A','R','R','E','G','_','P','e','e','k','T','A','_','L','I','N','E','A','R','R','E','G','_','S','L','O','P','E','T','A','_','L','I','N','E','A','R','R','E','G','_','S','L','O','P','E','_','C','l','o','n','e','T','A','_','L','I','N','E','A','R','R','E','G','_','S','L','O','P','E','_','O','p','e','n','T','A','_','L','I','N','E','A','R','R','E','G','_','S','L','O','P','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','L','I','N','E','A','R','R','E','G','_','S','L','O','P','E','_','P','e','e','k','T','A','_','L','I','N','E','A','R','R','E','G','_','S','L','O','P','E','_','U','p','d','a','t','e','T','A','_','L','I','N','E','A','R','R','E','G','_','S','L','O','P','E','_','V','a','l','u','e','T','A','_','L','I','N','E','A','R','R','E','G','_','U','p','d','a','t','e','T','A','_','L','I','N','E','A','R','R','E','G','_','V','a','l','u','e','T','A','_','L','N','T','A','_','L','N','_','C','l','o','n','e','T','A','_','L','N','_','O','p','e','n','T','A','_','L','N','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','L','N','_','P','e','e','k','T','A','_','L','N','_','U','p','d','a','t','e','T','A','_','L','N','_','V','a','l','u','e','T','A','_','L','O','G','1','0','T','A','_','L','O','G','1','0','_','C','l','o','n','e','T','A','_','L','O','G','1','0','_','O','p','e','n','T','A','_','L','O','G','1','0','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','L','O','G','1','0','_','P','e','e','k','T','A','_','L','O','G','1','0','_','U','p','d','a','t','e','T','A','_','L','O','G','1','0','_','V','a','l','u','e','T','A','_','M','A','T','A','_','M','A','C','D','T','A','_','M','A','C','D','E','X','T','T','A','_','M','A','C','D','E','X','T','_','C','l','o','n','e','T','A','_','M','A','C','D','E','X','T','_','O','p','e','n','T','A','_','M','A','C','D','E','X','T','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','A','C','D','E','X','T','_','P','e','e','k','T','A','_','M','A','C','D','E','X','T','_','U','p','d','a','t','e','T','A','_','M','A','C','D','E','X','T','_','V','a','l','u','e','T','A','_','M','A','C','D','F','I','X','T','A','_','M','A','C','D','F','I','X','_','C','l','o','n','e','T','A','_','M','A','C','D','F','I','X','_','O','p','e','n','T','A','_','M','A','C','D','F','I','X','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','A','C','D','F','I','X','_','P','e','e','k','T','A','_','M','A','C','D','F','I','X','_','U','p','d','a','t','e','T','A','_','M','A','C','D','F','I','X','_','V','a','l','u','e','T','A','_','M','A','C','D','_','C','l','o','n','e','T','A','_','M','A','C','D','_','O','p','e','n','T','A','_','M','A','C','D','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','A','C','D','_','P','e','e','k','T','A','_','M','A','C','D','_','U','p','d','a','t','e','T','A','_','M','A','C','D','_','V','a','l','u','e','T','A','_','M','A','M','A','T','A','_','M','A','M','A','_','C','l','o','n','e','T','A','_','M','A','M','A','_','O','p','e','n','T','A','_','M','A','M','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','A','M','A','_','P','e','e','k','T','A','_','M','A','M','A','_','U','p','d','a','t','e','T','A','_','M','A','M','A','_','V','a','l','u','e','T','A','_','M','A','R','K','E','T','F','I','T','A','_','M','A','R','K','E','T','F','I','_','C','l','o','n','e','T','A','_','M','A','R','K','E','T','F','I','_','O','p','e','n','T','A','_','M','A','R','K','E','T','F','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','A','R','K','E','T','F','I','_','P','e','e','k','T','A','_','M','A','R','K','E','T','F','I','_','U','p','d','a','t','e','T','A','_','M','A','R','K','E','T','F','I','_','V','a','l','u','e','T','A','_','M','A','S','S','I','T','A','_','M','A','S','S','I','_','C','l','o','n','e','T','A','_','M','A','S','S','I','_','O','p','e','n','T','A','_','M','A','S','S','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','A','S','S','I','_','P','e','e','k','T','A','_','M','A','S','S','I','_','U','p','d','a','t','e','T','A','_','M','A','S','S','I','_','V','a','l','u','e','T','A','_','M','A','V','P','T','A','_','M','A','V','P','_','C','l','o','n','e','T','A','_','M','A','V','P','_','O','p','e','n','T','A','_','M','A','V','P','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','A','V','P','_','P','e','e','k','T','A','_','M','A','V','P','_','U','p','d','a','t','e','T','A','_','M','A','V','P','_','V','a','l','u','e','T','A','_','M','A','X','T','A','_','M','A','X','I','N','D','E','X','T','A','_','M','A','X','I','N','D','E','X','_','C','l','o','n','e','T','A','_','M','A','X','I','N','D','E','X','_','O','p','e','n','T','A','_','M','A','X','I','N','D','E','X','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','A','X','I','N','D','E','X','_','P','e','e','k','T','A','_','M','A','X','I','N','D','E','X','_','U','p','d','a','t','e','T','A','_','M','A','X','I','N','D','E','X','_','V','a','l','u','e','T','A','_','M','A','X','_','C','l','o','n','e','T','A','_','M','A','X','_','O','p','e','n','T','A','_','M','A','X','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','A','X','_','P','e','e','k','T','A','_','M','A','X','_','U','p','d','a','t','e','T','A','_','M','A','X','_','V','a','l','u','e','T','A','_','M','A','_','C','l','o','n','e','T','A','_','M','A','_','O','p','e','n','T','A','_','M','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','A','_','P','e','e','k','T','A','_','M','A','_','U','p','d','a','t','e','T','A','_','M','A','_','V','a','l','u','e','T','A','_','M','E','D','P','R','I','C','E','T','A','_','M','E','D','P','R','I','C','E','_','C','l','o','n','e','T','A','_','M','E','D','P','R','I','C','E','_','O','p','e','n','T','A','_','M','E','D','P','R','I','C','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','E','D','P','R','I','C','E','_','P','e','e','k','T','A','_','M','E','D','P','R','I','C','E','_','U','p','d','a','t','e','T','A','_','M','E','D','P','R','I','C','E','_','V','a','l','u','e','T','A','_','M','F','I','T','A','_','M','F','I','_','C','l','o','n','e','T','A','_','M','F','I','_','O','p','e','n','T','A','_','M','F','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','F','I','_','P','e','e','k','T','A','_','M','F','I','_','U','p','d','a','t','e','T','A','_','M','F','I','_','V','a','l','u','e','T','A','_','M','I','D','P','O','I','N','T','T','A','_','M','I','D','P','O','I','N','T','_','C','l','o','n','e','T','A','_','M','I','D','P','O','I','N','T','_','O','p','e','n','T','A','_','M','I','D','P','O','I','N','T','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','I','D','P','O','I','N','T','_','P','e','e','k','T','A','_','M','I','D','P','O','I','N','T','_','U','p','d','a','t','e','T','A','_','M','I','D','P','O','I','N','T','_','V','a','l','u','e','T','A','_','M','I','D','P','R','I','C','E','T','A','_','M','I','D','P','R','I','C','E','_','C','l','o','n','e','T','A','_','M','I','D','P','R','I','C','E','_','O','p','e','n','T','A','_','M','I','D','P','R','I','C','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','I','D','P','R','I','C','E','_','P','e','e','k','T','A','_','M','I','D','P','R','I','C','E','_','U','p','d','a','t','e','T','A','_','M','I','D','P','R','I','C','E','_','V','a','l','u','e','T','A','_','M','I','N','T','A','_','M','I','N','I','N','D','E','X','T','A','_','M','I','N','I','N','D','E','X','_','C','l','o','n','e','T','A','_','M','I','N','I','N','D','E','X','_','O','p','e','n','T','A','_','M','I','N','I','N','D','E','X','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','I','N','I','N','D','E','X','_','P','e','e','k','T','A','_','M','I','N','I','N','D','E','X','_','U','p','d','a','t','e','T','A','_','M','I','N','I','N','D','E','X','_','V','a','l','u','e','T','A','_','M','I','N','M','A','X','T','A','_','M','I','N','M','A','X','I','N','D','E','X','T','A','_','M','I','N','M','A','X','I','N','D','E','X','_','C','l','o','n','e','T','A','_','M','I','N','M','A','X','I','N','D','E','X','_','O','p','e','n','T','A','_','M','I','N','M','A','X','I','N','D','E','X','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','I','N','M','A','X','I','N','D','E','X','_','P','e','e','k','T','A','_','M','I','N','M','A','X','I','N','D','E','X','_','U','p','d','a','t','e','T','A','_','M','I','N','M','A','X','I','N','D','E','X','_','V','a','l','u','e','T','A','_','M','I','N','M','A','X','_','C','l','o','n','e','T','A','_','M','I','N','M','A','X','_','O','p','e','n','T','A','_','M','I','N','M','A','X','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','I','N','M','A','X','_','P','e','e','k','T','A','_','M','I','N','M','A','X','_','U','p','d','a','t','e','T','A','_','M','I','N','M','A','X','_','V','a','l','u','e','T','A','_','M','I','N','U','S','_','D','I','T','A','_','M','I','N','U','S','_','D','I','_','C','l','o','n','e','T','A','_','M','I','N','U','S','_','D','I','_','O','p','e','n','T','A','_','M','I','N','U','S','_','D','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','I','N','U','S','_','D','I','_','P','e','e','k','T','A','_','M','I','N','U','S','_','D','I','_','U','p','d','a','t','e','T','A','_','M','I','N','U','S','_','D','I','_','V','a','l','u','e','T','A','_','M','I','N','U','S','_','D','M','T','A','_','M','I','N','U','S','_','D','M','_','C','l','o','n','e','T','A','_','M','I','N','U','S','_','D','M','_','O','p','e','n','T','A','_','M','I','N','U','S','_','D','M','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','I','N','U','S','_','D','M','_','P','e','e','k','T','A','_','M','I','N','U','S','_','D','M','_','U','p','d','a','t','e','T','A','_','M','I','N','U','S','_','D','M','_','V','a','l','u','e','T','A','_','M','I','N','_','C','l','o','n','e','T','A','_','M','I','N','_','O','p','e','n','T','A','_','M','I','N','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','I','N','_','P','e','e','k','T','A','_','M','I','N','_','U','p','d','a','t','e','T','A','_','M','I','N','_','V','a','l','u','e','T','A','_','M','O','M','T','A','_','M','O','M','_','C','l','o','n','e','T','A','_','M','O','M','_','O','p','e','n','T','A','_','M','O','M','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','O','M','_','P','e','e','k','T','A','_','M','O','M','_','U','p','d','a','t','e','T','A','_','M','O','M','_','V','a','l','u','e','T','A','_','M','U','L','T','T','A','_','M','U','L','T','_','C','l','o','n','e','T','A','_','M','U','L','T','_','O','p','e','n','T','A','_','M','U','L','T','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','M','U','L','T','_','P','e','e','k','T','A','_','M','U','L','T','_','U','p','d','a','t','e','T','A','_','M','U','L','T','_','V','a','l','u','e','T','A','_','N','A','T','R','T','A','_','N','A','T','R','_','C','l','o','n','e','T','A','_','N','A','T','R','_','O','p','e','n','T','A','_','N','A','T','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','N','A','T','R','_','P','e','e','k','T','A','_','N','A','T','R','_','U','p','d','a','t','e','T','A','_','N','A','T','R','_','V','a','l','u','e','T','A','_','N','V','I','T','A','_','N','V','I','_','C','l','o','n','e','T','A','_','N','V','I','_','O','p','e','n','T','A','_','N','V','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','N','V','I','_','P','e','e','k','T','A','_','N','V','I','_','U','p','d','a','t','e','T','A','_','N','V','I','_','V','a','l','u','e','T','A','_','O','B','V','T','A','_','O','B','V','_','C','l','o','n','e','T','A','_','O','B','V','_','O','p','e','n','T','A','_','O','B','V','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','O','B','V','_','P','e','e','k','T','A','_','O','B','V','_','U','p','d','a','t','e','T','A','_','O','B','V','_','V','a','l','u','e','T','A','_','O','U','T','P','U','T','_','F','L','A','G','S','T','A','_','P','E','R','C','E','N','T','I','L','E','T','A','_','P','E','R','C','E','N','T','I','L','E','_','C','l','o','n','e','T','A','_','P','E','R','C','E','N','T','I','L','E','_','O','p','e','n','T','A','_','P','E','R','C','E','N','T','I','L','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','P','E','R','C','E','N','T','I','L','E','_','P','e','e','k','T','A','_','P','E','R','C','E','N','T','I','L','E','_','U','p','d','a','t','e','T','A','_','P','E','R','C','E','N','T','I','L','E','_','V','a','l','u','e','T','A','_','P','E','R','C','E','N','T','R','A','N','K','T','A','_','P','E','R','C','E','N','T','R','A','N','K','_','C','l','o','n','e','T','A','_','P','E','R','C','E','N','T','R','A','N','K','_','O','p','e','n','T','A','_','P','E','R','C','E','N','T','R','A','N','K','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','P','E','R','C','E','N','T','R','A','N','K','_','P','e','e','k','T','A','_','P','E','R','C','E','N','T','R','A','N','K','_','U','p','d','a','t','e','T','A','_','P','E','R','C','E','N','T','R','A','N','K','_','V','a','l','u','e','T','A','_','P','L','U','S','_','D','I','T','A','_','P','L','U','S','_','D','I','_','C','l','o','n','e','T','A','_','P','L','U','S','_','D','I','_','O','p','e','n','T','A','_','P','L','U','S','_','D','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','P','L','U','S','_','D','I','_','P','e','e','k','T','A','_','P','L','U','S','_','D','I','_','U','p','d','a','t','e','T','A','_','P','L','U','S','_','D','I','_','V','a','l','u','e','T','A','_','P','L','U','S','_','D','M','T','A','_','P','L','U','S','_','D','M','_','C','l','o','n','e','T','A','_','P','L','U','S','_','D','M','_','O','p','e','n','T','A','_','P','L','U','S','_','D','M','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','P','L','U','S','_','D','M','_','P','e','e','k','T','A','_','P','L','U','S','_','D','M','_','U','p','d','a','t','e','T','A','_','P','L','U','S','_','D','M','_','V','a','l','u','e','T','A','_','P','P','O','T','A','_','P','P','O','_','C','l','o','n','e','T','A','_','P','P','O','_','O','p','e','n','T','A','_','P','P','O','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','P','P','O','_','P','e','e','k','T','A','_','P','P','O','_','U','p','d','a','t','e','T','A','_','P','P','O','_','V','a','l','u','e','T','A','_','P','V','I','T','A','_','P','V','I','_','C','l','o','n','e','T','A','_','P','V','I','_','O','p','e','n','T','A','_','P','V','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','P','V','I','_','P','e','e','k','T','A','_','P','V','I','_','U','p','d','a','t','e','T','A','_','P','V','I','_','V','a','l','u','e','T','A','_','P','V','O','T','A','_','P','V','O','_','C','l','o','n','e','T','A','_','P','V','O','_','O','p','e','n','T','A','_','P','V','O','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','P','V','O','_','P','e','e','k','T','A','_','P','V','O','_','U','p','d','a','t','e','T','A','_','P','V','O','_','V','a','l','u','e','T','A','_','P','V','T','T','A','_','P','V','T','_','C','l','o','n','e','T','A','_','P','V','T','_','O','p','e','n','T','A','_','P','V','T','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','P','V','T','_','P','e','e','k','T','A','_','P','V','T','_','U','p','d','a','t','e','T','A','_','P','V','T','_','V','a','l','u','e','T','A','_','P','a','r','a','m','H','o','l','d','e','r','A','l','l','o','c','T','A','_','P','a','r','a','m','H','o','l','d','e','r','F','r','e','e','T','A','_','Q','S','T','I','C','K','T','A','_','Q','S','T','I','C','K','_','C','l','o','n','e','T','A','_','Q','S','T','I','C','K','_','O','p','e','n','T','A','_','Q','S','T','I','C','K','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','Q','S','T','I','C','K','_','P','e','e','k','T','A','_','Q','S','T','I','C','K','_','U','p','d','a','t','e','T','A','_','Q','S','T','I','C','K','_','V','a','l','u','e','T','A','_','R','M','A','T','A','_','R','M','A','_','C','l','o','n','e','T','A','_','R','M','A','_','O','p','e','n','T','A','_','R','M','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','R','M','A','_','P','e','e','k','T','A','_','R','M','A','_','U','p','d','a','t','e','T','A','_','R','M','A','_','V','a','l','u','e','T','A','_','R','O','C','T','A','_','R','O','C','P','T','A','_','R','O','C','P','_','C','l','o','n','e','T','A','_','R','O','C','P','_','O','p','e','n','T','A','_','R','O','C','P','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','R','O','C','P','_','P','e','e','k','T','A','_','R','O','C','P','_','U','p','d','a','t','e','T','A','_','R','O','C','P','_','V','a','l','u','e','T','A','_','R','O','C','R','T','A','_','R','O','C','R','1','0','0','T','A','_','R','O','C','R','1','0','0','_','C','l','o','n','e','T','A','_','R','O','C','R','1','0','0','_','O','p','e','n','T','A','_','R','O','C','R','1','0','0','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','R','O','C','R','1','0','0','_','P','e','e','k','T','A','_','R','O','C','R','1','0','0','_','U','p','d','a','t','e','T','A','_','R','O','C','R','1','0','0','_','V','a','l','u','e','T','A','_','R','O','C','R','_','C','l','o','n','e','T','A','_','R','O','C','R','_','O','p','e','n','T','A','_','R','O','C','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','R','O','C','R','_','P','e','e','k','T','A','_','R','O','C','R','_','U','p','d','a','t','e','T','A','_','R','O','C','R','_','V','a','l','u','e','T','A','_','R','O','C','_','C','l','o','n','e','T','A','_','R','O','C','_','O','p','e','n','T','A','_','R','O','C','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','R','O','C','_','P','e','e','k','T','A','_','R','O','C','_','U','p','d','a','t','e','T','A','_','R','O','C','_','V','a','l','u','e','T','A','_','R','S','I','T','A','_','R','S','I','_','C','l','o','n','e','T','A','_','R','S','I','_','O','p','e','n','T','A','_','R','S','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','R','S','I','_','P','e','e','k','T','A','_','R','S','I','_','U','p','d','a','t','e','T','A','_','R','S','I','_','V','a','l','u','e','T','A','_','R','V','I','T','A','_','R','V','I','_','C','l','o','n','e','T','A','_','R','V','I','_','O','p','e','n','T','A','_','R','V','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','R','V','I','_','P','e','e','k','T','A','_','R','V','I','_','U','p','d','a','t','e','T','A','_','R','V','I','_','V','a','l','u','e','T','A','_','R','V','O','L','T','A','_','R','V','O','L','_','C','l','o','n','e','T','A','_','R','V','O','L','_','O','p','e','n','T','A','_','R','V','O','L','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','R','V','O','L','_','P','e','e','k','T','A','_','R','V','O','L','_','U','p','d','a','t','e','T','A','_','R','V','O','L','_','V','a','l','u','e','T','A','_','R','e','s','t','o','r','e','C','a','n','d','l','e','D','e','f','a','u','l','t','S','e','t','t','i','n','g','s','T','A','_','S','A','R','T','A','_','S','A','R','E','X','T','T','A','_','S','A','R','E','X','T','_','C','l','o','n','e','T','A','_','S','A','R','E','X','T','_','O','p','e','n','T','A','_','S','A','R','E','X','T','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','A','R','E','X','T','_','P','e','e','k','T','A','_','S','A','R','E','X','T','_','U','p','d','a','t','e','T','A','_','S','A','R','E','X','T','_','V','a','l','u','e','T','A','_','S','A','R','_','C','l','o','n','e','T','A','_','S','A','R','_','O','p','e','n','T','A','_','S','A','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','A','R','_','P','e','e','k','T','A','_','S','A','R','_','U','p','d','a','t','e','T','A','_','S','A','R','_','V','a','l','u','e','T','A','_','S','I','N','T','A','_','S','I','N','H','T','A','_','S','I','N','H','_','C','l','o','n','e','T','A','_','S','I','N','H','_','O','p','e','n','T','A','_','S','I','N','H','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','I','N','H','_','P','e','e','k','T','A','_','S','I','N','H','_','U','p','d','a','t','e','T','A','_','S','I','N','H','_','V','a','l','u','e','T','A','_','S','I','N','_','C','l','o','n','e','T','A','_','S','I','N','_','O','p','e','n','T','A','_','S','I','N','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','I','N','_','P','e','e','k','T','A','_','S','I','N','_','U','p','d','a','t','e','T','A','_','S','I','N','_','V','a','l','u','e','T','A','_','S','M','A','T','A','_','S','M','A','_','C','l','o','n','e','T','A','_','S','M','A','_','O','p','e','n','T','A','_','S','M','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','M','A','_','P','e','e','k','T','A','_','S','M','A','_','U','p','d','a','t','e','T','A','_','S','M','A','_','V','a','l','u','e','T','A','_','S','M','I','T','A','_','S','M','I','_','C','l','o','n','e','T','A','_','S','M','I','_','O','p','e','n','T','A','_','S','M','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','M','I','_','P','e','e','k','T','A','_','S','M','I','_','U','p','d','a','t','e','T','A','_','S','M','I','_','V','a','l','u','e','T','A','_','S','Q','R','T','T','A','_','S','Q','R','T','_','C','l','o','n','e','T','A','_','S','Q','R','T','_','O','p','e','n','T','A','_','S','Q','R','T','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','Q','R','T','_','P','e','e','k','T','A','_','S','Q','R','T','_','U','p','d','a','t','e','T','A','_','S','Q','R','T','_','V','a','l','u','e','T','A','_','S','T','D','D','E','V','T','A','_','S','T','D','D','E','V','_','C','l','o','n','e','T','A','_','S','T','D','D','E','V','_','O','p','e','n','T','A','_','S','T','D','D','E','V','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','T','D','D','E','V','_','P','e','e','k','T','A','_','S','T','D','D','E','V','_','U','p','d','a','t','e','T','A','_','S','T','D','D','E','V','_','V','a','l','u','e','T','A','_','S','T','O','C','H','T','A','_','S','T','O','C','H','F','T','A','_','S','T','O','C','H','F','_','C','l','o','n','e','T','A','_','S','T','O','C','H','F','_','O','p','e','n','T','A','_','S','T','O','C','H','F','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','T','O','C','H','F','_','P','e','e','k','T','A','_','S','T','O','C','H','F','_','U','p','d','a','t','e','T','A','_','S','T','O','C','H','F','_','V','a','l','u','e','T','A','_','S','T','O','C','H','R','S','I','T','A','_','S','T','O','C','H','R','S','I','_','C','l','o','n','e','T','A','_','S','T','O','C','H','R','S','I','_','O','p','e','n','T','A','_','S','T','O','C','H','R','S','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','T','O','C','H','R','S','I','_','P','e','e','k','T','A','_','S','T','O','C','H','R','S','I','_','U','p','d','a','t','e','T','A','_','S','T','O','C','H','R','S','I','_','V','a','l','u','e','T','A','_','S','T','O','C','H','_','C','l','o','n','e','T','A','_','S','T','O','C','H','_','O','p','e','n','T','A','_','S','T','O','C','H','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','T','O','C','H','_','P','e','e','k','T','A','_','S','T','O','C','H','_','U','p','d','a','t','e','T','A','_','S','T','O','C','H','_','V','a','l','u','e','T','A','_','S','U','B','T','A','_','S','U','B','_','C','l','o','n','e','T','A','_','S','U','B','_','O','p','e','n','T','A','_','S','U','B','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','U','B','_','P','e','e','k','T','A','_','S','U','B','_','U','p','d','a','t','e','T','A','_','S','U','B','_','V','a','l','u','e','T','A','_','S','U','M','T','A','_','S','U','M','_','C','l','o','n','e','T','A','_','S','U','M','_','O','p','e','n','T','A','_','S','U','M','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','U','M','_','P','e','e','k','T','A','_','S','U','M','_','U','p','d','a','t','e','T','A','_','S','U','M','_','V','a','l','u','e','T','A','_','S','U','P','E','R','T','R','E','N','D','T','A','_','S','U','P','E','R','T','R','E','N','D','_','C','l','o','n','e','T','A','_','S','U','P','E','R','T','R','E','N','D','_','O','p','e','n','T','A','_','S','U','P','E','R','T','R','E','N','D','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','S','U','P','E','R','T','R','E','N','D','_','P','e','e','k','T','A','_','S','U','P','E','R','T','R','E','N','D','_','U','p','d','a','t','e','T','A','_','S','U','P','E','R','T','R','E','N','D','_','V','a','l','u','e','T','A','_','S','e','t','C','a','n','d','l','e','S','e','t','t','i','n','g','s','T','A','_','S','e','t','C','o','m','p','a','t','i','b','i','l','i','t','y','T','A','_','S','e','t','O','p','t','I','n','p','u','t','P','a','r','a','m','I','n','t','e','g','e','r','T','A','_','S','e','t','O','p','t','I','n','p','u','t','P','a','r','a','m','R','e','a','l','T','A','_','S','e','t','U','n','s','t','a','b','l','e','P','e','r','i','o','d','T','A','_','S','h','u','t','d','o','w','n','T','A','_','T','3','T','A','_','T','3','_','C','l','o','n','e','T','A','_','T','3','_','O','p','e','n','T','A','_','T','3','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','T','3','_','P','e','e','k','T','A','_','T','3','_','U','p','d','a','t','e','T','A','_','T','3','_','V','a','l','u','e','T','A','_','T','A','N','T','A','_','T','A','N','H','T','A','_','T','A','N','H','_','C','l','o','n','e','T','A','_','T','A','N','H','_','O','p','e','n','T','A','_','T','A','N','H','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','T','A','N','H','_','P','e','e','k','T','A','_','T','A','N','H','_','U','p','d','a','t','e','T','A','_','T','A','N','H','_','V','a','l','u','e','T','A','_','T','A','N','_','C','l','o','n','e','T','A','_','T','A','N','_','O','p','e','n','T','A','_','T','A','N','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','T','A','N','_','P','e','e','k','T','A','_','T','A','N','_','U','p','d','a','t','e','T','A','_','T','A','N','_','V','a','l','u','e','T','A','_','T','E','M','A','T','A','_','T','E','M','A','_','C','l','o','n','e','T','A','_','T','E','M','A','_','O','p','e','n','T','A','_','T','E','M','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','T','E','M','A','_','P','e','e','k','T','A','_','T','E','M','A','_','U','p','d','a','t','e','T','A','_','T','E','M','A','_','V','a','l','u','e','T','A','_','T','R','A','N','G','E','T','A','_','T','R','A','N','G','E','_','C','l','o','n','e','T','A','_','T','R','A','N','G','E','_','O','p','e','n','T','A','_','T','R','A','N','G','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','T','R','A','N','G','E','_','P','e','e','k','T','A','_','T','R','A','N','G','E','_','U','p','d','a','t','e','T','A','_','T','R','A','N','G','E','_','V','a','l','u','e','T','A','_','T','R','I','M','A','T','A','_','T','R','I','M','A','_','C','l','o','n','e','T','A','_','T','R','I','M','A','_','O','p','e','n','T','A','_','T','R','I','M','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','T','R','I','M','A','_','P','e','e','k','T','A','_','T','R','I','M','A','_','U','p','d','a','t','e','T','A','_','T','R','I','M','A','_','V','a','l','u','e','T','A','_','T','R','I','X','T','A','_','T','R','I','X','_','C','l','o','n','e','T','A','_','T','R','I','X','_','O','p','e','n','T','A','_','T','R','I','X','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','T','R','I','X','_','P','e','e','k','T','A','_','T','R','I','X','_','U','p','d','a','t','e','T','A','_','T','R','I','X','_','V','a','l','u','e','T','A','_','T','S','F','T','A','_','T','S','F','_','C','l','o','n','e','T','A','_','T','S','F','_','O','p','e','n','T','A','_','T','S','F','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','T','S','F','_','P','e','e','k','T','A','_','T','S','F','_','U','p','d','a','t','e','T','A','_','T','S','F','_','V','a','l','u','e','T','A','_','T','S','I','T','A','_','T','S','I','_','C','l','o','n','e','T','A','_','T','S','I','_','O','p','e','n','T','A','_','T','S','I','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','T','S','I','_','P','e','e','k','T','A','_','T','S','I','_','U','p','d','a','t','e','T','A','_','T','S','I','_','V','a','l','u','e','T','A','_','T','Y','P','P','R','I','C','E','T','A','_','T','Y','P','P','R','I','C','E','_','C','l','o','n','e','T','A','_','T','Y','P','P','R','I','C','E','_','O','p','e','n','T','A','_','T','Y','P','P','R','I','C','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','T','Y','P','P','R','I','C','E','_','P','e','e','k','T','A','_','T','Y','P','P','R','I','C','E','_','U','p','d','a','t','e','T','A','_','T','Y','P','P','R','I','C','E','_','V','a','l','u','e','T','A','_','U','L','T','O','S','C','T','A','_','U','L','T','O','S','C','_','C','l','o','n','e','T','A','_','U','L','T','O','S','C','_','O','p','e','n','T','A','_','U','L','T','O','S','C','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','U','L','T','O','S','C','_','P','e','e','k','T','A','_','U','L','T','O','S','C','_','U','p','d','a','t','e','T','A','_','U','L','T','O','S','C','_','V','a','l','u','e','T','A','_','V','A','R','T','A','_','V','A','R','_','C','l','o','n','e','T','A','_','V','A','R','_','O','p','e','n','T','A','_','V','A','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','V','A','R','_','P','e','e','k','T','A','_','V','A','R','_','U','p','d','a','t','e','T','A','_','V','A','R','_','V','a','l','u','e','T','A','_','V','H','F','T','A','_','V','H','F','_','C','l','o','n','e','T','A','_','V','H','F','_','O','p','e','n','T','A','_','V','H','F','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','V','H','F','_','P','e','e','k','T','A','_','V','H','F','_','U','p','d','a','t','e','T','A','_','V','H','F','_','V','a','l','u','e','T','A','_','V','O','R','T','E','X','T','A','_','V','O','R','T','E','X','_','C','l','o','n','e','T','A','_','V','O','R','T','E','X','_','O','p','e','n','T','A','_','V','O','R','T','E','X','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','V','O','R','T','E','X','_','P','e','e','k','T','A','_','V','O','R','T','E','X','_','U','p','d','a','t','e','T','A','_','V','O','R','T','E','X','_','V','a','l','u','e','T','A','_','V','W','A','P','T','A','_','V','W','A','P','_','C','l','o','n','e','T','A','_','V','W','A','P','_','O','p','e','n','T','A','_','V','W','A','P','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','V','W','A','P','_','P','e','e','k','T','A','_','V','W','A','P','_','U','p','d','a','t','e','T','A','_','V','W','A','P','_','V','a','l','u','e','T','A','_','V','W','M','A','T','A','_','V','W','M','A','_','C','l','o','n','e','T','A','_','V','W','M','A','_','O','p','e','n','T','A','_','V','W','M','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','V','W','M','A','_','P','e','e','k','T','A','_','V','W','M','A','_','U','p','d','a','t','e','T','A','_','V','W','M','A','_','V','a','l','u','e','T','A','_','W','A','D','T','A','_','W','A','D','_','C','l','o','n','e','T','A','_','W','A','D','_','O','p','e','n','T','A','_','W','A','D','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','W','A','D','_','P','e','e','k','T','A','_','W','A','D','_','U','p','d','a','t','e','T','A','_','W','A','D','_','V','a','l','u','e','T','A','_','W','C','L','P','R','I','C','E','T','A','_','W','C','L','P','R','I','C','E','_','C','l','o','n','e','T','A','_','W','C','L','P','R','I','C','E','_','O','p','e','n','T','A','_','W','C','L','P','R','I','C','E','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','W','C','L','P','R','I','C','E','_','P','e','e','k','T','A','_','W','C','L','P','R','I','C','E','_','U','p','d','a','t','e','T','A','_','W','C','L','P','R','I','C','E','_','V','a','l','u','e','T','A','_','W','I','L','L','R','T','A','_','W','I','L','L','R','_','C','l','o','n','e','T','A','_','W','I','L','L','R','_','O','p','e','n','T','A','_','W','I','L','L','R','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','W','I','L','L','R','_','P','e','e','k','T','A','_','W','I','L','L','R','_','U','p','d','a','t','e','T','A','_','W','I','L','L','R','_','V','a','l','u','e','T','A','_','W','M','A','T','A','_','W','M','A','_','C','l','o','n','e','T','A','_','W','M','A','_','O','p','e','n','T','A','_','W','M','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','W','M','A','_','P','e','e','k','T','A','_','W','M','A','_','U','p','d','a','t','e','T','A','_','W','M','A','_','V','a','l','u','e','T','A','_','Z','L','E','M','A','T','A','_','Z','L','E','M','A','_','C','l','o','n','e','T','A','_','Z','L','E','M','A','_','O','p','e','n','T','A','_','Z','L','E','M','A','_','O','p','e','n','A','n','d','F','i','l','l','T','A','_','Z','L','E','M','A','_','P','e','e','k','T','A','_','Z','L','E','M','A','_','U','p','d','a','t','e','T','A','_','Z','L','E','M','A','_','V','a','l','u','e','T','E','M','A','T','E','M','A','_','S','t','r','e','a','m','T','E','M','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','T','R','A','N','G','E','T','R','A','N','G','E','_','S','t','r','e','a','m','T','R','A','N','G','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','T','R','I','M','A','T','R','I','M','A','_','S','t','r','e','a','m','T','R','I','M','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','T','R','I','X','T','R','I','X','_','S','t','r','e','a','m','T','R','I','X','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','T','S','F','T','S','F','_','S','t','r','e','a','m','T','S','F','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','T','S','I','T','S','I','_','S','t','r','e','a','m','T','S','I','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','T','Y','P','P','R','I','C','E','T','Y','P','P','R','I','C','E','_','S','t','r','e','a','m','T','Y','P','P','R','I','C','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','U','L','T','O','S','C','U','L','T','O','S','C','_','S','t','r','e','a','m','U','L','T','O','S','C','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','V','A','R','V','A','R','_','S','t','r','e','a','m','V','A','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','V','H','F','V','H','F','_','S','t','r','e','a','m','V','H','F','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','V','O','R','T','E','X','V','O','R','T','E','X','_','S','t','r','e','a','m','V','O','R','T','E','X','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','V','W','A','P','V','W','A','P','_','S','t','r','e','a','m','V','W','A','P','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','V','W','M','A','V','W','M','A','_','S','t','r','e','a','m','V','W','M','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','W','A','D','W','A','D','_','S','t','r','e','a','m','W','A','D','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','W','C','L','P','R','I','C','E','W','C','L','P','R','I','C','E','_','S','t','r','e','a','m','W','C','L','P','R','I','C','E','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','W','I','L','L','R','W','I','L','L','R','_','S','t','r','e','a','m','W','I','L','L','R','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','W','M','A','W','M','A','_','S','t','r','e','a','m','W','M','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','Z','L','E','M','A','Z','L','E','M','A','_','S','t','r','e','a','m','Z','L','E','M','A','_','S','t','r','e','a','m','.','o','p','e','n','_','a','n','d','_','f','i','l','l','_','A','R','R','A','Y','_','T','Y','P','E','S','_','F','u','n','c','t','i','o','n','_','_','c','a','l','l','_','f','u','n','c','t','i','o','n','_','F','u','n','c','t','i','o','n','_','_','c','h','e','c','k','_','o','p','t','_','i','n','p','u','t','_','v','a','l','u','e','_','F','u','n','c','t','i','o','n','_','_','g','e','t','_','o','p','t','_','i','n','p','u','t','_','v','a','l','u','e','_','F','u','n','c','t','i','o','n','_','_','i','n','p','u','t','_','p','r','i','c','e','_','s','e','r','i','e','s','_','n','a','m','e','s','_','F','u','n','c','t','i','o','n','_','_','l','o','c','a','l','_','F','u','n','c','t','i','o','n','_','_','l','o','c','a','l','d','a','t','a','_','F','u','n','c','t','i','o','n','_','_','n','a','m','e','_','F','u','n','c','t','i','o','n','_','_','n','a','m','e','s','t','r','_','I','N','P','U','T','_','A','R','R','A','Y','S','_','T','Y','P','E','S','_','I','N','P','U','T','_','P','R','I','C','E','_','S','E','R','I','E','S','_','D','E','F','A','U','L','T','S','_','P','A','N','D','A','S','_','D','A','T','A','F','R','A','M','E','_','P','A','N','D','A','S','_','S','E','R','I','E','S','_','P','O','L','A','R','S','_','D','A','T','A','F','R','A','M','E','_','P','O','L','A','R','S','_','S','E','R','I','E','S','_','T','A','_','R','e','a','d','L','e','a','s','e','_','T','A','_','R','e','a','d','L','e','a','s','e','.','_','_','e','n','t','e','r','_','_','_','T','A','_','R','e','a','d','L','e','a','s','e','.','_','_','e','x','i','t','_','_','_','T','A','_','R','e','a','d','L','e','a','s','e','.','_','_','r','e','d','u','c','e','_','c','y','t','h','o','n','_','_','_','T','A','_','R','e','a','d','L','e','a','s','e','.','_','_','s','e','t','s','t','a','t','e','_','c','y','t','h','o','n','_','_','_','T','A','_','W','r','i','t','e','L','e','a','s','e','_','T','A','_','W','r','i','t','e','L','e','a','s','e','.','_','_','e','n','t','e','r','_','_','_','T','A','_','W','r','i','t','e','L','e','a','s','e','.','_','_','e','x','i','t','_','_','_','T','A','_','W','r','i','t','e','L','e','a','s','e','.','_','_','r','e','d','u','c','e','_','c','y','t','h','o','n','_','_','_','T','A','_','W','r','i','t','e','L','e','a','s','e','.','_','_','s','e','t','s','t','a','t','e','_','c','y','t','h','o','n','_','_','_','_','P','y','x','_','P','y','D','i','c','t','_','N','e','x','t','R','e','f','_','_','T','A','_','F','U','N','C','T','I','O','N','_','N','A','M','E','S','_','_','_','_','a','l','l','_','_','_','_','a','n','n','o','t','a','t','e','_','_','_','_','c','a','l','l','_','_','_','_','c','a','l','l','_','f','u','n','c','t','i','o','n','_','_','c','h','e','c','k','_','o','p','t','_','i','n','p','u','t','_','v','a','l','u','e','_','_','c','l','a','s','s','_','g','e','t','i','t','e','m','_','_','_','_','c','o','p','y','_','_','_','_','d','e','e','p','c','o','p','y','_','_','_','_','d','i','c','t','_','_','_','_','d','o','c','_','_','_','_','e','n','t','e','r','_','_','_','_','e','x','i','t','_','_','_','_','f','u','n','c','_','_','_','_','g','e','t','_','f','l','a','g','s','_','_','g','e','t','_','o','p','t','_','i','n','p','u','t','_','v','a','l','u','e','_','_','g','e','t','i','t','e','m','_','_','_','_','g','e','t','s','t','a','t','e','_','_','_','_','i','n','i','t','_','_','_','_','i','n','p','u','t','_','p','r','i','c','e','_','s','e','r','i','e','s','_','n','a','m','e','s','_','_','l','o','c','a','l','_','_','m','a','i','n','_','_','_','_','m','e','t','a','c','l','a','s','s','_','_','_','_','m','o','d','u','l','e','_','_','_','_','m','r','o','_','e','n','t','r','i','e','s','_','_','_','_','n','a','m','e','_','_','_','_','n','e','w','_','_','_','_','p','r','e','p','a','r','e','_','_','_','_','p','y','x','_','c','h','e','c','k','s','u','m','_','_','p','y','x','_','r','e','s','u','l','t','_','_','p','y','x','_','s','t','a','t','e','_','_','p','y','x','_','t','y','p','e','_','_','p','y','x','_','u','n','p','i','c','k','l','e','_','_','T','A','_','R','e','a','d','L','e','a','s','e','_','_','p','y','x','_','u','n','p','i','c','k','l','e','_','_','T','A','_','W','r','i','t','e','L','e','a','s','e','_','_','p','y','x','_','v','t','a','b','l','e','_','_','_','_','q','u','a','l','n','a','m','e','_','_','_','_','r','e','d','u','c','e','_','_','_','_','r','e','d','u','c','e','_','c','y','t','h','o','n','_','_','_','_','r','e','d','u','c','e','_','e','x','_','_','_','_','r','e','p','r','_','_','_','_','s','e','t','_','n','a','m','e','_','_','_','_','s','e','t','s','t','a','t','e','_','_','_','_','s','e','t','s','t','a','t','e','_','c','y','t','h','o','n','_','_','_','_','s','t','r','_','_','_','_','t','a','_','v','e','r','s','i','o','n','_','_','_','_','t','e','s','t','_','_','_','_','u','n','i','c','o','d','e','_','_','_','d','i','c','t','_','g','e','t','_','d','e','f','a','u','l','t','s','_','a','n','d','_','d','o','c','s','_','i','s','_','c','o','r','o','u','t','i','n','e','_','l','o','o','k','u','p','_','t','a','_','c','h','e','c','k','_','s','u','c','c','e','s','s','_','t','a','_','f','u','n','c','_','u','n','s','t','_','i','d','_','t','a','_','f','u','n','c','_','u','n','s','t','_','i','d','s','_','t','a','_','f','u','n','c','_','u','n','s','t','_','r','e','t','i','r','e','d','_','t','a','_','g','e','t','F','u','n','c','I','n','f','o','_','t','a','_','g','e','t','F','u','n','c','T','a','b','l','e','_','t','a','_','g','e','t','G','r','o','u','p','T','a','b','l','e','_','t','a','_','g','e','t','I','n','p','u','t','P','a','r','a','m','e','t','e','r','I','n','f','o','_','t','a','_','g','e','t','O','p','t','I','n','p','u','t','P','a','r','a','m','e','t','e','r','I','n','f','o','_','t','a','_','g','e','t','O','u','t','p','u','t','P','a','r','a','m','e','t','e','r','I','n','f','o','_','t','a','_','g','e','t','_','c','o','m','p','a','t','i','b','i','l','i','t','y','_','t','a','_','g','e','t','_','u','n','s','t','a','b','l','e','_','p','e','r','i','o','d','_','t','a','_','i','n','i','t','i','a','l','i','z','e','_','t','a','_','r','e','s','t','o','r','e','_','c','a','n','d','l','e','_','d','e','f','a','u','l','t','_','s','e','t','t','i','n','g','s','_','t','a','_','s','e','t','_','c','a','n','d','l','e','_','s','e','t','t','i','n','g','s','_','t','a','_','s','e','t','_','c','o','m','p','a','t','i','b','i','l','i','t','y','_','t','a','_','s','e','t','_','u','n','s','t','a','b','l','e','_','p','e','r','i','o','d','_','t','a','_','s','h','u','t','d','o','w','n','a','_','c','l','o','s','e','a','_','h','i','g','h','a','_','l','o','w','a','_','o','p','e','n','a','_','p','e','r','i','o','d','s','a','_','r','e','a','l','a','_','r','e','a','l','0','a','_','r','e','a','l','1','a','_','v','o','l','u','m','e','a','c','c','e','l','e','r','a','t','i','o','n','a','c','c','e','l','e','r','a','t','i','o','n','i','n','i','t','l','o','n','g','a','c','c','e','l','e','r','a','t','i','o','n','i','n','i','t','s','h','o','r','t','a','c','c','e','l','e','r','a','t','i','o','n','l','o','n','g','a','c','c','e','l','e','r','a','t','i','o','n','m','a','x','l','o','n','g','a','c','c','e','l','e','r','a','t','i','o','n','m','a','x','s','h','o','r','t','a','c','c','e','l','e','r','a','t','i','o','n','s','h','o','r','t','a','c','q','u','i','r','e','d','a','p','p','e','n','d','a','r','g','a','r','g','s','a','r','r','a','y','s','a','s','c','i','i','a','s','t','y','p','e','a','s','y','n','c','i','o','.','c','o','r','o','u','t','i','n','e','s','a','t','_','e','x','i','t','a','t','r','p','e','r','i','o','d','a','v','g','p','e','r','i','o','d','b','b','e','g','i','d','x','b','i','t','b','y','t','e','s','2','s','t','r','c','_','p','e','r','i','o','d','c','_','v','a','l','u','e','c','a','n','d','l','e','s','t','i','c','k','c','l','i','n','e','_','i','n','_','t','r','a','c','e','b','a','c','k','c','l','o','n','e','c','l','o','s','e','c','o','l','l','e','c','t','i','o','n','s','c','o','l','u','m','n','_','s','t','a','c','k','c','o','l','u','m','n','s','c','o','p','y','d','d','e','c','o','d','e','d','e','f','a','u','l','t','_','v','a','l','u','e','d','e','f','a','u','l','t','s','d','e','s','c','r','i','p','t','i','o','n','d','i','s','p','l','a','y','_','n','a','m','e','d','o','c','s','d','o','c','u','m','e','n','t','a','t','i','o','n','e','m','p','t','y','e','n','d','i','d','x','e','n','d','s','w','i','t','h','e','n','u','m','e','r','a','t','e','f','a','c','t','o','r','f','a','s','t','d','_','m','a','t','y','p','e','f','a','s','t','d','_','p','e','r','i','o','d','f','a','s','t','k','_','p','e','r','i','o','d','f','a','s','t','l','i','m','i','t','f','a','s','t','m','a','t','y','p','e','f','a','s','t','p','e','r','i','o','d','f','i','r','s','t','p','e','r','i','o','d','f','l','a','g','f','l','a','g','s','f','l','a','g','s','_','l','o','o','k','u','p','_','d','i','c','t','f','u','n','c','_','a','r','g','s','f','u','n','c','_','i','n','f','o','f','u','n','c','_','l','i','n','e','f','u','n','c','_','o','b','j','e','c','t','f','u','n','c','t','i','o','n','_','f','l','a','g','s','f','u','n','c','t','i','o','n','_','n','a','m','e','f','u','n','c','t','i','o','n','s','g','e','t','_','i','n','p','u','t','_','a','r','r','a','y','s','g','e','t','_','i','n','p','u','t','_','n','a','m','e','s','g','e','t','_','p','a','r','a','m','e','t','e','r','s','g','r','o','u','p','g','r','o','u','p','s','h','a','n','d','l','e','h','e','l','p','h','i','g','h','h','i','s','t','o','r','y','l','e','n','h','o','l','d','e','r','i','i','d','i','d','x','i','m','p','o','r','t','_','e','r','r','o','r','i','n','i','n','d','e','x','i','n','f','o','i','n','p','u','t','_','a','r','r','a','y','s','i','n','p','u','t','_','n','a','m','e','i','n','p','u','t','_','n','a','m','e','s','i','n','p','u','t','_','p','r','i','c','e','_','s','e','r','i','e','s','_','n','a','m','e','s','i','n','t','e','g','e','r','i','s','_','e','m','p','t','y','i','t','e','m','s','k','e','y','k','e','y','s','k','w','a','r','g','s','l','e','f','t','b','a','r','s','l','e','n','g','t','h','l','o','c','a','l','l','o','o','k','b','a','c','k','l','o','w','l','o','w','e','r','m','a','t','y','p','e','m','a','x','i','m','u','m','m','a','x','p','e','r','i','o','d','m','e','m','o','m','i','n','p','e','r','i','o','d','m','i','s','s','i','n','g','m','i','s','s','i','n','g','_','k','e','y','s','m','o','d','u','l','e','m','s','g','m','u','l','t','i','p','l','i','e','r','n','n','a','m','e','n','a','m','e','d','t','u','p','l','e','n','a','n','n','b','d','e','v','n','b','d','e','v','d','n','n','b','d','e','v','u','p','n','o','_','e','x','i','s','t','i','n','g','_','i','n','p','u','t','_','a','r','r','a','y','s','n','u','m','_','i','n','p','u','t','s','n','u','m','_','o','p','t','_','i','n','p','u','t','s','n','u','m','_','o','u','t','p','u','t','s','n','u','m','p','y','o','b','j','e','c','t','o','f','f','s','e','t','o','n','r','e','v','e','r','s','e','o','p','e','n','o','p','e','n','I','n','t','e','r','e','s','t','o','p','e','n','_','a','n','d','_','f','i','l','l','o','p','t','I','n','o','p','t','_','i','n','p','u','t','o','p','t','_','i','n','p','u','t','_','v','a','l','u','e','s','o','p','t','_','i','n','p','u','t','s','o','r','d','e','r','e','d','d','i','c','t','o','u','t','o','u','t','a','r','o','o','n','d','o','w','n','o','u','t','a','r','o','o','n','u','p','o','u','t','b','e','a','r','p','o','w','e','r','o','u','t','b','e','g','i','d','x','o','u','t','b','u','l','l','p','o','w','e','r','o','u','t','d','o','u','t','f','a','m','a','o','u','t','f','a','s','t','d','o','u','t','f','a','s','t','k','o','u','t','h','a','c','l','o','s','e','o','u','t','h','a','h','i','g','h','o','u','t','h','a','l','o','w','o','u','t','h','a','o','p','e','n','o','u','t','i','n','p','h','a','s','e','o','u','t','i','n','t','e','g','e','r','o','u','t','i','n','t','e','g','e','r','_','d','a','t','a','o','u','t','j','o','u','t','k','o','u','t','l','e','a','d','s','i','n','e','o','u','t','l','o','w','e','r','b','a','n','d','o','u','t','m','a','c','d','o','u','t','m','a','c','d','h','i','s','t','o','u','t','m','a','c','d','s','i','g','n','a','l','o','u','t','m','a','m','a','o','u','t','m','a','x','o','u','t','m','a','x','i','d','x','o','u','t','m','a','x','i','d','x','_','d','a','t','a','o','u','t','m','i','d','d','l','e','b','a','n','d','o','u','t','m','i','n','o','u','t','m','i','n','i','d','x','o','u','t','m','i','n','i','d','x','_','d','a','t','a','o','u','t','m','i','n','u','s','v','i','o','u','t','n','b','e','l','e','m','e','n','t','o','u','t','p','l','u','s','v','i','o','u','t','p','u','t','o','u','t','p','u','t','_','f','l','a','g','s','o','u','t','p','u','t','_','n','a','m','e','o','u','t','p','u','t','_','n','a','m','e','s','o','u','t','p','u','t','s','o','u','t','p','u','t','s','_','v','a','l','i','d','o','u','t','q','u','a','d','r','a','t','u','r','e','o','u','t','r','e','a','l','o','u','t','r','e','a','l','l','o','w','e','r','b','a','n','d','o','u','t','r','e','a','l','m','i','d','d','l','e','b','a','n','d','o','u','t','r','e','a','l','u','p','p','e','r','b','a','n','d','o','u','t','s','i','n','e','o','u','t','s','l','o','w','d','o','u','t','s','l','o','w','k','o','u','t','s','m','i','o','u','t','s','m','i','s','i','g','n','a','l','o','u','t','s','u','p','e','r','t','r','e','n','d','o','u','t','s','w','i','n','g','h','i','g','h','o','u','t','s','w','i','n','g','l','o','w','o','u','t','t','r','e','n','d','o','u','t','u','p','p','e','r','b','a','n','d','p','a','n','d','a','s','p','a','r','a','m','p','a','r','a','m','_','n','a','m','e','p','a','r','a','m','e','t','e','r','s','p','a','r','a','m','s','p','e','n','e','t','r','a','t','i','o','n','p','e','r','c','e','n','t','i','l','e','p','e','r','i','o','d','p','e','r','i','o','d','s','p','o','l','a','r','s','p','o','p','p','r','i','c','e','p','r','i','c','e','0','p','r','i','c','e','1','p','r','i','c','e','_','s','e','r','i','e','s','p','r','i','c','e','_','s','e','r','i','e','s','_','n','a','m','e','_','v','a','l','u','e','s','p','r','i','c','e','s','p','r','o','p','e','r','t','y','r','a','n','g','e','t','y','p','e','r','e','a','l','r','e','a','l','0','r','e','a','l','1','r','e','p','l','a','c','e','r','e','s','u','l','t','s','r','e','t','r','e','t','C','o','d','e','r','e','t','_','c','o','d','e','r','i','g','h','t','b','a','r','s','r','o','c','1','p','e','r','i','o','d','r','o','c','2','p','e','r','i','o','d','r','o','c','p','e','r','i','o','d','r','u','n','s','s','c','h','e','m','a','s','e','c','o','n','d','p','e','r','i','o','d','s','e','l','f','s','e','r','i','e','s','s','e','t','_','f','u','n','c','t','i','o','n','_','a','r','g','s','s','e','t','_','i','n','p','u','t','_','a','r','r','a','y','s','s','e','t','_','i','n','p','u','t','_','n','a','m','e','s','s','e','t','_','p','a','r','a','m','e','t','e','r','s','s','e','t','d','e','f','a','u','l','t','s','e','t','t','i','n','g','t','y','p','e','s','i','g','n','a','l','m','a','t','y','p','e','s','i','g','n','a','l','p','e','r','i','o','d','s','k','i','p','_','f','i','r','s','t','s','l','o','w','d','_','m','a','t','y','p','e','s','l','o','w','d','_','p','e','r','i','o','d','s','l','o','w','k','_','m','a','t','y','p','e','s','l','o','w','k','_','p','e','r','i','o','d','s','l','o','w','l','i','m','i','t','s','l','o','w','m','a','t','y','p','e','s','l','o','w','p','e','r','i','o','d','s','t','a','c','k','l','e','v','e','l','s','t','a','r','t','v','a','l','u','e','s','t','a','t','e','s','t','a','t','i','c','m','e','t','h','o','d','s','t','d','d','e','v','p','e','r','i','o','d','s','t','r','2','b','y','t','e','s','s','t','r','e','a','m','s','y','s','t','a','b','l','e','t','a','l','i','b','.','_','t','a','_','l','i','b','t','h','r','e','a','d','i','n','g','t','i','m','e','S','t','a','m','p','t','i','m','e','p','e','r','i','o','d','t','i','m','e','p','e','r','i','o','d','1','t','i','m','e','p','e','r','i','o','d','2','t','i','m','e','p','e','r','i','o','d','3','t','o','_','n','u','m','p','y','t','y','p','e','t','y','p','e','_','u','n','s','t','_','i','d','u','p','d','a','t','e','u','p','d','a','t','e','_','i','n','f','o','u','p','p','e','r','u','s','e','_','s','e','t','s','t','a','t','e','v','a','l','u','e','v','a','l','u','e','s','v','e','r','s','i','o','n','v','f','a','c','t','o','r','v','o','l','u','m','e','w','a','r','n','w','a','r','n','i','n','g','s','w','m','a','p','e','r','i','o','d','\200','\001','\330','\004','\005','\340','\t','\027','\220','q','\330','\010','\013','\210','4','\210','q','\330','\021','\022','\330','\020','\036','\230','n','\250','A','\330','\014','\035','\230','Q','\320','\036','/','\250','q','\330','\014','\036','\230','a','\200','\001','\330','\004','\007','\200','u','\210','C','\210','q','\330','\010','\020','\220','\005','\220','Q','\330','\014','\r','\330','\020','\026','\320','\026','+','\250','1','\250','A','\330','\014',' ','\240','\013','\250','1','\330','\010','\017','\210','q','\330','\004','\013','\320','\013','\034','\230','A','\230','Q','\200','\001','\330','\004','\007','\200','y','\220','\003','\220','1','\330','\010','\017','\210','q','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\330','\t','\022','\220','#','\220','Q','\330','\010','\026','\220','a','\340','\010','\026','\220','a','\330','\004','\014','\320','\014','#','\240','9','\250','C','\250','x','\260','q','\330','\004','\n','\210','%','\210','q','\220','\001','\330','\010','\027','\220','z','\240','\021','\200','\001','\330','\004','+','\250','1','\250','F','\260','!','\200','\001','\330','\004',',','\250','A','\250','V','\260','1','\200','\001','\340','\004','\027','\220','q','\330','\t','\027','\220','q','\330','\r','\016','\330','\014','\032','\320','\032','.','\250','a','\250','q','\330','\004','\025','\220','Q','\320','\026','-','\250','Q','\200','\001','\340','\004','\037','\230','q','\320',' ','0','\260','\013','\270',';','\300','k','\320','Q','R','\330','\004','\023','\220','=','\240','\010','\250','\001','\250','\021','\330','\004','\007','\200','|','\220','7','\230','!','\330','\010','/','\250','q','\320','0','@','\300','\016','\310','a','\330','\004','\013','\210','1','\200','\001','\340','\004','\037','\230','q','\320',' ','0','\260','\013','\270',';','\300','k','\320','Q','R','\330','\004','\023','\220','>','\240','\030','\250','\021','\250','!','\330','\004','\007','\200','|','\220','7','\230','!','\330','\010','0','\260','\001','\320','1','B','\300','.','\320','P','Q','\330','\004','\013','\210','1','\200','\001','\340','\t','\026','\220','a','\330','\r','\016','\330','\014','\027','\320','\027','+','\250','1','\330','\004','\013','\210','1','\200','\001','\340','\t','\027','\220','q','\330','\r','\016','\330','\014','\032','\320','\032','/','\250','q','\260','\r','\270','[','\310','\013','\320','S','T','\330','\004','\025','\220','Q','\320','\026','.','\250','a','\200','\001','\340','\t','\027','\220','q','\330','\r','\016','\330','\014','\032','\320','\032',':','\270','!','\270','1','\330','\004','\025','\220','Q','\320','\026','9','\270','\021','\200','\001','\340','#','$','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\240','?','\260','\"','\260','A','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\026','\230','r','\240','\024','\240','Y','\250','k','\270','\024','\270','V','\300','1','\300','I','\310',']','\320','Z','[','\320','[','g','\320','g','h','\320','h','w','\360','\000','\000','x','\001','C','\002','\360','\000','\000','C','\002','J','\002','\360','\000','\000','J','\002','P','\002','\360','\000','\000','P','\002','Q','\002','\360','\000','\000','Q','\002','R','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','i','\230','q','\330','\004','\013','\210','1','\200','\001','\340','#',';','\270','1','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\240','?','\260','\"','\260','M','\300','\021','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\026','\230','r','\240','\024','\240','Y','\250','k','\270','\024','\270','V','\300','1','\300','I','\310',']','\320','Z','c','\320','c','d','\320','d','p','\320','p','q','\360','\000','\000','r','\001','A','\002','\360','\000','\000','A','\002','L','\002','\360','\000','\000','L','\002','S','\002','\360','\000','\000','S','\002','Y','\002','\360','\000','\000','Y','\002','Z','\002','\360','\000','\000','Z','\002','[','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','i','\230','q','\330','\004','\013','\210','1','\200','\001','\340','#',';','\270','1','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\240','?','\260','\"','\260','M','\300','\021','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\026','\230','r','\240','\024','\240','Y','\250','k','\270','\024','\270','V','\300','1','\300','I','\310',']','\320','Z','d','\320','d','e','\320','e','q','\320','q','r','\360','\000','\000','s','\001','B','\002','\360','\000','\000','B','\002','M','\002','\360','\000','\000','M','\002','T','\002','\360','\000','\000','T','\002','Z','\002','\360','\000','\000','Z','\002','[','\002','\360','\000','\000','[','\002','\\','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','i','\230','q','\330','\004','\013','\210','1','\200','\001','\340','$','%','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260','Q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','m','\320','[','\\','\320','\\','h','\320','h','i','\320','i','x','\360','\000','\000','y','\001','D','\002','\360','\000','\000','D','\002','K','\002','\360','\000','\000','K','\002','Q','\002','\360','\000','\000','Q','\002','R','\002','\360','\000','\000','R','\002','S','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\340','$','<','\270','A','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260',']','\300','!','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','m','\320','[','c','\320','c','d','\320','d','p','\320','p','q','\360','\000','\000','r','\001','A','\002','\360','\000','\000','A','\002','L','\002','\360','\000','\000','L','\002','S','\002','\360','\000','\000','S','\002','Y','\002','\360','\000','\000','Y','\002','Z','\002','\360','\000','\000','Z','\002','[','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\340','$','<','\270','A','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260',']','\300','!','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','m','\320','[','j','\320','j','k','\320','k','w','\320','w','x','\360','\000','\000','y','\001','H','\002','\360','\000','\000','H','\002','S','\002','\360','\000','\000','S','\002','Z','\002','\360','\000','\000','Z','\002','`','\002','\360','\000','\000','`','\002','a','\002','\360','\000','\000','a','\002','b','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\340','$','<','\320','<','T','\320','T','U','\360','*','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260',']','\300','-','\310','q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','m','\320','[','h','\320','h','q','\320','q','r','\320','r','~','\320','~','\177','\360','\000','\000','@','\002','O','\002','\360','\000','\000','O','\002','Z','\002','\360','\000','\000','Z','\002','a','\002','\360','\000','\000','a','\002','g','\002','\360','\000','\000','g','\002','h','\002','\360','\000','\000','h','\002','i','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\340','$','=','\270','Q','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260','^','\300','1','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','n','\320','\\','k','\320','k','l','\320','l','x','\320','x','y','\360','\000','\000','z','\001','I','\002','\360','\000','\000','I','\002','T','\002','\360','\000','\000','T','\002','[','\002','\360','\000','\000','[','\002','a','\002','\360','\000','\000','a','\002','b','\002','\360','\000','\000','b','\002','c','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\340','%','&','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','4','\260','B','\260','a','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\030','\240','\022','\240','4','\240','y','\260','\013','\270','4','\270','v','\300','Q','\300','i','\310','}','\320','\\',']','\320',']','i','\320','i','j','\320','j','y','\360','\000','\000','z','\001','E','\002','\360','\000','\000','E','\002','L','\002','\360','\000','\000','L','\002','R','\002','\360','\000','\000','R','\002','S','\002','\360','\000','\000','S','\002','T','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','k','\240','\021','\330','\004','\013','\210','1','\200','\001','\340','%','=','\320','=','U','\320','U','V','\360','2','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','T','\320','A','R','\320','R','S','\320','S','V','\320','V','W','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','4','\260','B','\260','m','\300','=','\320','P','Q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\010','\030','\320','\030',')','\250','\021','\250','(','\260','!','\330','\010','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\r','\016','\330','\014','\031','\230','\030','\240','\022','\240','4','\240','y','\260','\013','\270','4','\270','v','\300','Q','\300','i','\310','}','\320','\\','i','\320','i','x','\320','x','y','\360','\000','\000','z','\001','F','\002','\360','\000','\000','F','\002','G','\002','\360','\000','\000','G','\002','V','\002','\360','\000','\000','V','\002','a','\002','\360','\000','\000','a','\002','h','\002','\360','\000','\000','h','\002','n','\002','\360','\000','\000','n','\002','o','\002','\360','\000','\000','o','\002','z','\002','\360','\000','\000','z','\002','E','\003','\360','\000','\000','E','\003','R','\003','\360','\000','\000','R','\003','X','\003','\360','\000','\000','X','\003','Y','\003','\360','\000','\000','Y','\003','d','\003','\360','\000','\000','d','\003','o','\003','\360','\000','\000','o','\003','z','\003','\360','\000','\000','z','\003','@','\004','\360','\000','\000','@','\004','A','\004','\360','\000','\000','A','\004','B','\004','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','k','\240','\021','\330','\004','\013','\210',':','\320','\025','%','\240','Q','\200','\001','\340','%','>','\270','a','\360',',','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','Q','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','4','\260','B','\260','l','\300','!','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\030','\240','\022','\240','4','\240','y','\260','\013','\270','4','\270','v','\300','Q','\300','i','\310','|','\320','[','g','\320','g','h','\320','h','t','\320','t','u','\360','\000','\000','v','\001','E','\002','\360','\000','\000','E','\002','P','\002','\360','\000','\000','P','\002','W','\002','\360','\000','\000','W','\002',']','\002','\360','\000','\000',']','\002','^','\002','\360','\000','\000','^','\002','i','\002','\360','\000','\000','i','\002','t','\002','\360','\000','\000','t','\002','{','\002','\360','\000','\000','{','\002','A','\003','\360','\000','\000','A','\003','B','\003','\360','\000','\000','B','\003','C','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','k','\240','\021','\330','\004','\013','\210',':','\220','Q','\200','\001','\340','&','\047','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','5','\260','R','\260','q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\031','\240','\"','\240','D','\250','\t','\260','\033','\270','D','\300','\006','\300','a','\300','y','\320','P',']','\320',']','^','\320','^','j','\320','j','k','\320','k','z','\360','\000','\000','{','\001','F','\002','\360','\000','\000','F','\002','M','\002','\360','\000','\000','M','\002','S','\002','\360','\000','\000','S','\002','T','\002','\360','\000','\000','T','\002','U','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','l','\240','!','\330','\004','\013','\210','1','\200','\001','\340','&','>','\320','>','V','\320','V','W','\360','*','\000','\005','\016','\210','[','\230','\001','\230','\021','\330','\004','\r','\210','V','\220','6','\230','\021','\230','!','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\026','\260','q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260',']','\300','-','\310','q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','&','\300','\006','\300','a','\300','y','\320','P',']','\320',']','j','\320','j','s','\320','s','t','\360','\000','\000','u','\001','A','\002','\360','\000','\000','A','\002','B','\002','\360','\000','\000','B','\002','Q','\002','\360','\000','\000','Q','\002','\\','\002','\360','\000','\000','\\','\002','c','\002','\360','\000','\000','c','\002','i','\002','\360','\000','\000','i','\002','j','\002','\360','\000','\000','j','\002','k','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\340','\047','(','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','6','\260','b','\270','\001','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\032','\240','2','\240','T','\250','\031','\260','+','\270','T','\300','\026','\300','q','\310','\t','\320','Q','^','\320','^','_','\320','_','k','\320','k','l','\320','l','{','\360','\000','\000','|','\001','G','\002','\360','\000','\000','G','\002','N','\002','\360','\000','\000','N','\002','T','\002','\360','\000','\000','T','\002','U','\002','\360','\000','\000','U','\002','V','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','m','\240','1','\330','\004','\013','\210','1','\200','\001','\340','\047','(','\360','&','\000','\005','\016','\210','[','\230','\001','\230','\021','\330','\004','\r','\210','V','\220','6','\230','\021','\230','!','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\026','\260','q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','4','\260','B','\260','a','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\030','\240','\022','\240','4','\240','y','\260','\013','\270','6','\300','\026','\300','q','\310','\t','\320','Q','^','\320','^','_','\320','_','k','\320','k','l','\320','l','{','\360','\000','\000','|','\001','G','\002','\360','\000','\000','G','\002','N','\002','\360','\000','\000','N','\002','T','\002','\360','\000','\000','T','\002','U','\002','\360','\000','\000','U','\002','V','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','k','\240','\021','\330','\004','\013','\210','1','\200','\001','\340','\047','(','\360','*','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','Q','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','6','\260','b','\270','\001','\330','\010','\021','\320','\021','\"','\240','!','\240','8','\250','1','\330','\010','\021','\320','\021','\"','\240','!','\240','8','\250','1','\330','\r','\016','\330','\014','\031','\230','\032','\240','2','\240','T','\250','\031','\260','+','\270','T','\300','\026','\300','q','\310','\t','\320','Q','^','\320','^','_','\320','_','k','\320','k','l','\320','l','{','\360','\000','\000','|','\001','G','\002','\360','\000','\000','G','\002','M','\002','\360','\000','\000','M','\002','S','\002','\360','\000','\000','S','\002','T','\002','\360','\000','\000','T','\002','_','\002','\360','\000','\000','_','\002','j','\002','\360','\000','\000','j','\002','p','\002','\360','\000','\000','p','\002','v','\002','\360','\000','\000','v','\002','w','\002','\360','\000','\000','w','\002','x','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','m','\240','1','\330','\004','\013','\210','9','\220','A','\200','\001','\340','\047','?','\270','q','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','6','\260','b','\270','\r','\300','Q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\032','\240','2','\240','T','\250','\031','\260','+','\270','T','\300','\026','\300','q','\310','\t','\320','Q','^','\320','^','f','\320','f','g','\320','g','s','\320','s','t','\360','\000','\000','u','\001','D','\002','\360','\000','\000','D','\002','O','\002','\360','\000','\000','O','\002','V','\002','\360','\000','\000','V','\002','\\','\002','\360','\000','\000','\\','\002',']','\002','\360','\000','\000',']','\002','^','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','m','\240','1','\330','\004','\013','\210','1','\200','\001','\340','\047','?','\320','?','V','\320','V','m','\320','m','n','\360','4','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','T','\320','A','R','\320','R','S','\320','S','V','\320','V','W','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','6','\260','b','\270','\r','\300','Z','\310','z','\320','Y','Z','\330','\010','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\010','\034','\320','\034','-','\250','Q','\250','h','\260','a','\330','\010','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\r','\016','\330','\014','\031','\230','\032','\240','2','\240','T','\250','\031','\260','+','\270','T','\300','\026','\300','q','\310','\t','\320','Q','^','\320','^','h','\320','h','r','\320','r','{','\320','{','|','\360','\000','\000','}','\001','I','\002','\360','\000','\000','I','\002','J','\002','\360','\000','\000','J','\002','Y','\002','\360','\000','\000','Y','\002','d','\002','\360','\000','\000','d','\002','t','\002','\360','\000','\000','t','\002','z','\002','\360','\000','\000','z','\002','{','\002','\360','\000','\000','{','\002','F','\003','\360','\000','\000','F','\003','Q','\003','\360','\000','\000','Q','\003','b','\003','\360','\000','\000','b','\003','h','\003','\360','\000','\000','h','\003','i','\003','\360','\000','\000','i','\003','t','\003','\360','\000','\000','t','\003','\177','\003','\360','\000','\000','\177','\003','O','\004','\360','\000','\000','O','\004','U','\004','\360','\000','\000','U','\004','V','\004','\360','\000','\000','V','\004','W','\004','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','m','\240','1','\330','\004','\013','\320','\013','\036','\320','\036','2','\260','!','\200','\001','\340','(',')','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','7','\260','r','\270','\021','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\033','\240','B','\240','d','\250',')','\260',';','\270','d','\300','&','\310','\001','\310','\031','\320','R','_','\320','_','`','\320','`','l','\320','l','m','\320','m','|','\360','\000','\000','}','\001','H','\002','\360','\000','\000','H','\002','O','\002','\360','\000','\000','O','\002','U','\002','\360','\000','\000','U','\002','V','\002','\360','\000','\000','V','\002','W','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','n','\240','A','\330','\004','\013','\210','1','\200','\001','\340','(',')','\360','.','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','T','\320','A','R','\320','R','S','\320','S','V','\320','V','W','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','7','\260','r','\270','\021','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\010','\030','\320','\030',')','\250','\021','\250','(','\260','!','\330','\010','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\r','\016','\330','\014','\031','\230','\033','\240','B','\240','d','\250',')','\260',';','\270','d','\300','&','\310','\001','\310','\031','\320','R','a','\320','a','b','\320','b','n','\320','n','o','\320','o','~','\360','\000','\000','\177','\001','J','\002','\360','\000','\000','J','\002','Q','\002','\360','\000','\000','Q','\002','W','\002','\360','\000','\000','W','\002','X','\002','\360','\000','\000','X','\002','c','\002','\360','\000','\000','c','\002','n','\002','\360','\000','\000','n','\002','{','\002','\360','\000','\000','{','\002','A','\003','\360','\000','\000','A','\003','B','\003','\360','\000','\000','B','\003','M','\003','\360','\000','\000','M','\003','X','\003','\360','\000','\000','X','\003','c','\003','\360','\000','\000','c','\003','i','\003','\360','\000','\000','i','\003','j','\003','\360','\000','\000','j','\003','k','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','n','\240','A','\330','\004','\013','\210',':','\320','\025','%','\240','Q','\200','\001','\340','(','?','\320','?','W','\320','W','X','\360','*','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','7','\260','r','\270','\034','\300',']','\320','R','S','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\033','\240','B','\240','d','\250',')','\260',';','\270','d','\300','&','\310','\001','\310','\031','\320','R','^','\320','^','k','\320','k','x','\320','x','y','\360','\000','\000','z','\001','F','\002','\360','\000','\000','F','\002','G','\002','\360','\000','\000','G','\002','V','\002','\360','\000','\000','V','\002','a','\002','\360','\000','\000','a','\002','h','\002','\360','\000','\000','h','\002','n','\002','\360','\000','\000','n','\002','o','\002','\360','\000','\000','o','\002','p','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','n','\240','A','\330','\004','\013','\210','1','\200','\001','\340','(','@','\320','@','S','\320','S','k','\320','k','~','\360','\000','\000','\177','\001','Y','\002','\360','\000','\000','Y','\002','Z','\002','\360','8','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','T','\320','A','R','\320','R','S','\320','S','V','\320','V','W','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','7','\260','r','\270','\035','\300','m','\320','S','`','\320','`','m','\320','m','|','\320','|','}','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\010','\030','\320','\030',')','\250','\021','\250','(','\260','!','\330','\010','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\r','\016','\330','\014','\031','\230','\033','\240','B','\240','d','\250',')','\260',';','\270','d','\300','&','\310','\001','\310','\031','\320','R','_','\320','_','l','\320','l','y','\360','\000','\000','z','\001','G','\002','\360','\000','\000','G','\002','V','\002','\360','\000','\000','V','\002','e','\002','\360','\000','\000','e','\002','f','\002','\360','\000','\000','f','\002','r','\002','\360','\000','\000','r','\002','s','\002','\360','\000','\000','s','\002','B','\003','\360','\000','\000','B','\003','M','\003','\360','\000','\000','M','\003','T','\003','\360','\000','\000','T','\003','Z','\003','\360','\000','\000','Z','\003','[','\003','\360','\000','\000','[','\003','f','\003','\360','\000','\000','f','\003','q','\003','\360','\000','\000','q','\003','~','\003','\360','\000','\000','~','\003','D','\004','\360','\000','\000','D','\004','E','\004','\360','\000','\000','E','\004','P','\004','\360','\000','\000','P','\004','[','\004','\360','\000','\000','[','\004','f','\004','\360','\000','\000','f','\004','l','\004','\360','\000','\000','l','\004','m','\004','\360','\000','\000','m','\004','n','\004','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','n','\240','A','\330','\004','\013','\210',':','\320','\025','%','\240','Q','\200','\001','\340',')','*','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','8','\270','\002','\270','!','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\034','\240','R','\240','t','\250','9','\260','K','\270','t','\300','6','\310','\021','\310',')','\320','S','`','\320','`','a','\320','a','m','\320','m','n','\320','n','}','\360','\000','\000','~','\001','F','\002','\360','\000','\000','F','\002','P','\002','\360','\000','\000','P','\002','V','\002','\360','\000','\000','V','\002','W','\002','\360','\000','\000','W','\002','X','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','o','\240','Q','\330','\004','\026','\220','f','\230','J','\240','a','\330','\t','\n','\330','\010','\014','\210','G','\320','\023','#','\240','1','\330','\014','\033','\230','1','\230','F','\240','!','\330','\004','\013','\210','1','\200','\001','\340',')','*','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','8','\270','\002','\270','!','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\034','\240','R','\240','t','\250','9','\260','K','\270','t','\300','6','\310','\021','\310',')','\320','S','`','\320','`','a','\320','a','m','\320','m','n','\320','n','}','\360','\000','\000','~','\001','I','\002','\360','\000','\000','I','\002','P','\002','\360','\000','\000','P','\002','V','\002','\360','\000','\000','V','\002','W','\002','\360','\000','\000','W','\002','X','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','o','\240','Q','\330','\004','\013','\210','1','\200','\001','\340',')','A','\320','A','[','\320','[','u','\320','u','v','\360','0','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','Q','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','8','\270','\002','\270','-','\300','\177','\320','V','e','\320','e','f','\330','\010','\023','\320','\023','$','\240','A','\240','X','\250','Q','\330','\010','\023','\320','\023','$','\240','A','\240','X','\250','Q','\330','\r','\016','\330','\014','\031','\230','\034','\240','R','\240','t','\250','9','\260','K','\270','t','\300','6','\310','\021','\310',')','\320','S','`','\320','`','o','\320','o','~','\360','\000','\000','\177','\001','N','\002','\360','\000','\000','N','\002','O','\002','\360','\000','\000','O','\002','[','\002','\360','\000','\000','[','\002','\\','\002','\360','\000','\000','\\','\002','k','\002','\360','\000','\000','k','\002','v','\002','\360','\000','\000','v','\002','~','\002','\360','\000','\000','~','\002','D','\003','\360','\000','\000','D','\003','E','\003','\360','\000','\000','E','\003','P','\003','\360','\000','\000','P','\003','[','\003','\360','\000','\000','[','\003','c','\003','\360','\000','\000','c','\003','i','\003','\360','\000','\000','i','\003','j','\003','\360','\000','\000','j','\003','k','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','o','\240','Q','\330','\004','\013','\210',';','\220','a','\200','\001','\340','*','+','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','9','\270','\022','\270','1','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\035','\240','b','\250','\004','\250','I','\260','[','\300','\004','\300','F','\310','!','\310','9','\320','T','a','\320','a','b','\320','b','n','\320','n','o','\320','o','~','\360','\000','\000','\177','\001','J','\002','\360','\000','\000','J','\002','Q','\002','\360','\000','\000','Q','\002','W','\002','\360','\000','\000','W','\002','X','\002','\360','\000','\000','X','\002','Y','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','&','\240','a','\330','\004','\013','\210','1','\200','\001','\340','+','C','\300','1','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#',':','\270','\"','\270','M','\310','\021','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\036','\240','r','\250','\024','\250','Y','\260','k','\300','\024','\300','V','\310','1','\310','I','\320','U','b','\320','b','o','\320','o','p','\320','p','|','\320','|','}','\360','\000','\000','~','\001','M','\002','\360','\000','\000','M','\002','X','\002','\360','\000','\000','X','\002','_','\002','\360','\000','\000','_','\002','e','\002','\360','\000','\000','e','\002','f','\002','\360','\000','\000','f','\002','g','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','\047','\240','q','\330','\004','\013','\210','1','\200','\001','\340',',','-','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#',';','\270','2','\270','Q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\037','\250','\002','\250','$','\250','i','\260','{','\300','$','\300','f','\310','A','\310','Y','\320','V','c','\320','c','d','\320','d','p','\320','p','q','\360','\000','\000','r','\001','A','\002','\360','\000','\000','A','\002','L','\002','\360','\000','\000','L','\002','S','\002','\360','\000','\000','S','\002','Y','\002','\360','\000','\000','Y','\002','Z','\002','\360','\000','\000','Z','\002','[','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','(','\250','\001','\330','\004','\013','\210','1','\200','\001','\340',',','-','\360','*','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\024','\240','^','\260','1','\260','C','\260','q','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#',';','\270','2','\270','Q','\330','\010','\024','\220','N','\240','!','\240','8','\250','1','\330','\010','\024','\220','N','\240','!','\240','8','\250','1','\330','\r','\016','\330','\014','\031','\230','\037','\250','\002','\250','$','\250','i','\260','{','\300','$','\300','f','\310','A','\310','Y','\320','V','c','\320','c','d','\320','d','p','\320','p','q','\360','\000','\000','r','\001','A','\002','\360','\000','\000','A','\002','I','\002','\360','\000','\000','I','\002','R','\002','\360','\000','\000','R','\002','X','\002','\360','\000','\000','X','\002','Y','\002','\360','\000','\000','Y','\002','d','\002','\360','\000','\000','d','\002','l','\002','\360','\000','\000','l','\002','u','\002','\360','\000','\000','u','\002','{','\002','\360','\000','\000','{','\002','|','\002','\360','\000','\000','|','\002','}','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','(','\250','\001','\330','\004','\025','\220','V','\230','9','\240','A','\330','\t','\n','\330','\010','\014','\210','G','\320','\023','#','\240','1','\330','\014','\032','\230','!','\230','6','\240','\021','\330','\004','\025','\220','V','\230','9','\240','A','\330','\t','\n','\330','\010','\014','\210','G','\320','\023','#','\240','1','\330','\014','\032','\230','!','\230','6','\240','\021','\330','\004','\013','\210','<','\220','q','\200','\001','\340','0','1','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','?','\270','r','\300','\021','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031',',','\250','B','\250','d','\260',')','\270',';','\300','d','\310','&','\320','P','Q','\320','Q','Z','\320','Z','g','\320','g','h','\320','h','t','\320','t','u','\360','\000','\000','v','\001','E','\002','\360','\000','\000','E','\002','P','\002','\360','\000','\000','P','\002','W','\002','\360','\000','\000','W','\002',']','\002','\360','\000','\000',']','\002','^','\002','\360','\000','\000','^','\002','_','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026',',','\250','A','\330','\004','\013','\210','1','\200','\001','\340','4','5','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','C','\300','2','\300','Q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031','0','\260','\002','\260','$','\260','i','\270','{','\310','$','\310','f','\320','T','U','\320','U','^','\320','^','k','\320','k','l','\320','l','x','\320','x','y','\360','\000','\000','z','\001','I','\002','\360','\000','\000','I','\002','T','\002','\360','\000','\000','T','\002','[','\002','\360','\000','\000','[','\002','a','\002','\360','\000','\000','a','\002','b','\002','\360','\000','\000','b','\002','c','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','0','\260','\001','\330','\004','\013','\210','1','\200','\001','\340','=','U','\320','U','V','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','!','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\240','?','\260','\"','\260','M','\300','\021','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\026','\230','r','\240','\024','\240','Y','\250','k','\270','\024','\270','V','\300','1','\300','I','\310','[','\320','X','[','\320','[','a','\320','a','b','\320','b','k','\320','k','x','\360','\000','\000','y','\001','F','\002','\360','\000','\000','F','\002','G','\002','\360','\000','\000','G','\002','S','\002','\360','\000','\000','S','\002','T','\002','\360','\000','\000','T','\002','c','\002','\360','\000','\000','c','\002','n','\002','\360','\000','\000','n','\002','u','\002','\360','\000','\000','u','\002','{','\002','\360','\000','\000','{','\002','|','\002','\360','\000','\000','|','\002','}','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','i','\230','q','\330','\004','\013','\210','1','\200','\001','\340','=','U','\320','U','m','\320','m','n','\360','*','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','!','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\240','?','\260','\"','\260','M','\300','\035','\310','a','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\026','\230','r','\240','\024','\240','Y','\250','k','\270','\024','\270','V','\300','1','\300','I','\310','[','\320','X','[','\320','[','a','\320','a','b','\320','b','k','\320','k','x','\360','\000','\000','y','\001','F','\002','\360','\000','\000','F','\002','U','\002','\360','\000','\000','U','\002','V','\002','\360','\000','\000','V','\002','b','\002','\360','\000','\000','b','\002','c','\002','\360','\000','\000','c','\002','r','\002','\360','\000','\000','r','\002','}','\002','\360','\000','\000','}','\002','D','\003','\360','\000','\000','D','\003','J','\003','\360','\000','\000','J','\003','K','\003','\360','\000','\000','K','\003','L','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','i','\230','q','\330','\004','\013','\210','1','\200','\001','\340','>','?','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','!','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260','Q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','k','\320','Y','\\','\320','\\','b','\320','b','c','\320','c','l','\320','l','y','\320','y','z','\360','\000','\000','{','\001','G','\002','\360','\000','\000','G','\002','H','\002','\360','\000','\000','H','\002','W','\002','\360','\000','\000','W','\002','b','\002','\360','\000','\000','b','\002','i','\002','\360','\000','\000','i','\002','o','\002','\360','\000','\000','o','\002','p','\002','\360','\000','\000','p','\002','q','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\340','>','V','\320','V','W','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','!','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260',']','\300','!','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','k','\320','Y','\\','\320','\\','b','\320','b','c','\320','c','l','\320','l','y','\360','\000','\000','z','\001','F','\002','\360','\000','\000','F','\002','G','\002','\360','\000','\000','G','\002','S','\002','\360','\000','\000','S','\002','T','\002','\360','\000','\000','T','\002','c','\002','\360','\000','\000','c','\002','n','\002','\360','\000','\000','n','\002','u','\002','\360','\000','\000','u','\002','{','\002','\360','\000','\000','{','\002','|','\002','\360','\000','\000','|','\002','}','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\340','>','Y','\320','Y','Z','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','!','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260','_','\300','A','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','k','\320','Y','\\','\320','\\','b','\320','b','c','\320','c','l','\320','l','{','\360','\000','\000','|','\001','F','\002','\360','\000','\000','F','\002','G','\002','\360','\000','\000','G','\002','S','\002','\360','\000','\000','S','\002','T','\002','\360','\000','\000','T','\002','c','\002','\360','\000','\000','c','\002','n','\002','\360','\000','\000','n','\002','u','\002','\360','\000','\000','u','\002','{','\002','\360','\000','\000','{','\002','|','\002','\360','\000','\000','|','\002','}','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\340','@','A','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','u','\310','A','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260','Q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','k','\320','Y','^','\320','^','d','\320','d','e','\320','e','n','\320','n','{','\320','{','|','\360','\000','\000','}','\001','I','\002','\360','\000','\000','I','\002','J','\002','\360','\000','\000','J','\002','Y','\002','\360','\000','\000','Y','\002','d','\002','\360','\000','\000','d','\002','k','\002','\360','\000','\000','k','\002','q','\002','\360','\000','\000','q','\002','r','\002','\360','\000','\000','r','\002','s','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\340','@','A','\360','*','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','Q','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','!','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','5','\260','R','\260','q','\330','\010','\027','\320','\027','(','\250','\001','\250','\030','\260','\021','\330','\010','\025','\320','\025','&','\240','a','\240','x','\250','q','\330','\r','\016','\330','\014','\031','\230','\031','\240','\"','\240','D','\250','\t','\260','\033','\270','D','\300','\006','\300','a','\300','y','\320','P','[','\320','[','^','\320','^','d','\320','d','e','\320','e','n','\320','n','{','\320','{','|','\360','\000','\000','}','\001','I','\002','\360','\000','\000','I','\002','J','\002','\360','\000','\000','J','\002','Y','\002','\360','\000','\000','Y','\002','d','\002','\360','\000','\000','d','\002','p','\002','\360','\000','\000','p','\002','v','\002','\360','\000','\000','v','\002','w','\002','\360','\000','\000','w','\002','B','\003','\360','\000','\000','B','\003','M','\003','\360','\000','\000','M','\003','W','\003','\360','\000','\000','W','\003',']','\003','\360','\000','\000',']','\003','^','\003','\360','\000','\000','^','\003','_','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','l','\240','!','\330','\004','\013','\210','?','\230','!','\200','\001','\340','@','X','\320','X','Y','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','!','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','5','\260','R','\260','}','\300','A','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\031','\240','\"','\240','D','\250','\t','\260','\033','\270','D','\300','\006','\300','a','\300','y','\320','P','[','\320','[','^','\320','^','d','\320','d','e','\320','e','n','\320','n','{','\360','\000','\000','|','\001','I','\002','\360','\000','\000','I','\002','J','\002','\360','\000','\000','J','\002','V','\002','\360','\000','\000','V','\002','W','\002','\360','\000','\000','W','\002','f','\002','\360','\000','\000','f','\002','q','\002','\360','\000','\000','q','\002','x','\002','\360','\000','\000','x','\002','~','\002','\360','\000','\000','~','\002','\177','\002','\360','\000','\000','\177','\002','@','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','l','\240','!','\330','\004','\013','\210','1','\200','\001','\340','A','[','\320','[','z','\360','\000','\000','{','\001','_','\002','\360','\000','\000','_','\002','\177','\002','\360','\000','\000','\177','\002','b','\003','\360','\000','\000','b','\003','G','\004','\360','\000','\000','G','\004','h','\004','\360','\000','\000','h','\004','i','\004','\360','4','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','!','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','6','\260','b','\270','\r','\320','E','W','\320','W','n','\360','\000','\000','o','\001','B','\002','\360','\000','\000','B','\002','X','\002','\360','\000','\000','X','\002','p','\002','\360','\000','\000','p','\002','D','\003','\360','\000','\000','D','\003','E','\003','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\032','\240','2','\240','T','\250','\031','\260','+','\270','T','\300','\026','\300','q','\310','\t','\320','Q','\\','\320','\\','_','\320','_','e','\320','e','f','\320','f','o','\320','o','|','\360','\000','\000','}','\001','O','\002','\360','\000','\000','O','\002','f','\002','\360','\000','\000','f','\002','y','\002','\360','\000','\000','y','\002','O','\003','\360','\000','\000','O','\003','g','\003','\360','\000','\000','g','\003','{','\003','\360','\000','\000','{','\003','R','\004','\360','\000','\000','R','\004','S','\004','\360','\000','\000','S','\004','_','\004','\360','\000','\000','_','\004','`','\004','\360','\000','\000','`','\004','o','\004','\360','\000','\000','o','\004','z','\004','\360','\000','\000','z','\004','A','\005','\360','\000','\000','A','\005','G','\005','\360','\000','\000','G','\005','H','\005','\360','\000','\000','H','\005','I','\005','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','m','\240','1','\330','\004','\013','\210','1','\200','\001','\340','B','C','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','!','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','7','\260','r','\270','\021','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\033','\240','B','\240','d','\250',')','\260',';','\270','d','\300','&','\310','\001','\310','\031','\320','R',']','\320',']','`','\320','`','f','\320','f','g','\320','g','p','\320','p','}','\320','}','~','\360','\000','\000','\177','\001','K','\002','\360','\000','\000','K','\002','L','\002','\360','\000','\000','L','\002','[','\002','\360','\000','\000','[','\002','f','\002','\360','\000','\000','f','\002','m','\002','\360','\000','\000','m','\002','s','\002','\360','\000','\000','s','\002','t','\002','\360','\000','\000','t','\002','u','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','n','\240','A','\330','\004','\013','\210','1','\200','\001','\340','B','C','\360','&','\000','\005','\r','\210','K','\220','q','\230','\001','\330','\004','\r','\210','[','\230','\001','\230','\021','\330','\004','\r','\210',']','\230','!','\230','7','\240','!','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\025','\260','h','\270','j','\310','\006','\310','a','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260','Q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','%','\270','v','\300','Q','\300','i','\310','{','\320','Z','`','\320','`','f','\320','f','g','\320','g','p','\320','p','}','\320','}','~','\360','\000','\000','\177','\001','K','\002','\360','\000','\000','K','\002','L','\002','\360','\000','\000','L','\002','[','\002','\360','\000','\000','[','\002','f','\002','\360','\000','\000','f','\002','m','\002','\360','\000','\000','m','\002','s','\002','\360','\000','\000','s','\002','t','\002','\360','\000','\000','t','\002','u','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\340','B','C','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','[','\230','\001','\230','\021','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','v','\310','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','4','\260','B','\260','a','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\030','\240','\022','\240','4','\240','y','\260','\013','\270','4','\270','v','\300','Q','\300','i','\310','{','\320','Z','`','\320','`','f','\320','f','g','\320','g','p','\320','p','}','\320','}','~','\360','\000','\000','\177','\001','K','\002','\360','\000','\000','K','\002','L','\002','\360','\000','\000','L','\002','[','\002','\360','\000','\000','[','\002','f','\002','\360','\000','\000','f','\002','m','\002','\360','\000','\000','m','\002','s','\002','\360','\000','\000','s','\002','t','\002','\360','\000','\000','t','\002','u','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','k','\240','\021','\330','\004','\013','\210','1','\200','\001','\340','B','C','\360','(','\000','\005','\r','\210','K','\220','q','\230','\001','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','7','\240','!','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\025','\260','h','\270','j','\310','\005','\310','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','4','\260','B','\260','a','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\030','\240','\022','\240','4','\240','y','\260','\013','\270','5','\300','\006','\300','a','\300','y','\320','P','[','\320','[','`','\320','`','f','\320','f','g','\320','g','p','\320','p','}','\320','}','~','\360','\000','\000','\177','\001','K','\002','\360','\000','\000','K','\002','L','\002','\360','\000','\000','L','\002','[','\002','\360','\000','\000','[','\002','f','\002','\360','\000','\000','f','\002','m','\002','\360','\000','\000','m','\002','s','\002','\360','\000','\000','s','\002','t','\002','\360','\000','\000','t','\002','u','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','k','\240','\021','\330','\004','\013','\210','1','\200','\001','\340','B','X','\320','X','Y','\360',',','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\024','\240','^','\260','1','\260','C','\260','q','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','!','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','7','\260','r','\270','\033','\300','A','\330','\010','\027','\220','~','\240','Q','\240','h','\250','a','\330','\010','\026','\220','n','\240','A','\240','X','\250','Q','\330','\r','\016','\330','\014','\031','\230','\033','\240','B','\240','d','\250',')','\260',';','\270','d','\300','&','\310','\001','\310','\031','\320','R',']','\320',']','`','\320','`','f','\320','f','g','\320','g','p','\320','p','{','\360','\000','\000','|','\001','H','\002','\360','\000','\000','H','\002','I','\002','\360','\000','\000','I','\002','U','\002','\360','\000','\000','U','\002','V','\002','\360','\000','\000','V','\002','e','\002','\360','\000','\000','e','\002','m','\002','\360','\000','\000','m','\002','y','\002','\360','\000','\000','y','\002','\177','\002','\360','\000','\000','\177','\002','@','\003','\360','\000','\000','@','\003','K','\003','\360','\000','\000','K','\003','S','\003','\360','\000','\000','S','\003','^','\003','\360','\000','\000','^','\003','d','\003','\360','\000','\000','d','\003','e','\003','\360','\000','\000','e','\003','f','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','n','\240','A','\330','\004','\013','\210','?','\230','!','\200','\001','\340','C','D','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','!','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','8','\270','\002','\270','!','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\034','\240','R','\240','t','\250','9','\260','K','\270','t','\300','6','\310','\021','\310',')','\320','S','^','\320','^','a','\320','a','g','\320','g','h','\320','h','q','\320','q','~','\320','~','\177','\360','\000','\000','@','\002','L','\002','\360','\000','\000','L','\002','M','\002','\360','\000','\000','M','\002','\\','\002','\360','\000','\000','\\','\002','g','\002','\360','\000','\000','g','\002','n','\002','\360','\000','\000','n','\002','t','\002','\360','\000','\000','t','\002','u','\002','\360','\000','\000','u','\002','v','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','o','\240','Q','\330','\004','\013','\210','1','\200','\001','\340','C','D','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','u','\310','A','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','6','\260','b','\270','\001','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\032','\240','2','\240','T','\250','\031','\260','+','\270','T','\300','\026','\300','q','\310','\t','\320','Q','\\','\320','\\','a','\320','a','g','\320','g','h','\320','h','q','\320','q','~','\320','~','\177','\360','\000','\000','@','\002','L','\002','\360','\000','\000','L','\002','M','\002','\360','\000','\000','M','\002','\\','\002','\360','\000','\000','\\','\002','g','\002','\360','\000','\000','g','\002','n','\002','\360','\000','\000','n','\002','t','\002','\360','\000','\000','t','\002','u','\002','\360','\000','\000','u','\002','v','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','m','\240','1','\330','\004','\013','\210','1','\200','\001','\340','C','D','\360','.','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','T','\320','A','R','\320','R','S','\320','S','V','\320','V','W','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','!','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','8','\270','\002','\270','!','\330','\010','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\010','\034','\320','\034','-','\250','Q','\250','h','\260','a','\330','\010','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\r','\016','\330','\014','\031','\230','\034','\240','R','\240','t','\250','9','\260','K','\270','t','\300','6','\310','\021','\310',')','\320','S','^','\320','^','a','\320','a','g','\320','g','h','\320','h','q','\320','q','~','\320','~','\177','\360','\000','\000','@','\002','L','\002','\360','\000','\000','L','\002','M','\002','\360','\000','\000','M','\002','\\','\002','\360','\000','\000','\\','\002','g','\002','\360','\000','\000','g','\002','w','\002','\360','\000','\000','w','\002','}','\002','\360','\000','\000','}','\002','~','\002','\360','\000','\000','~','\002','I','\003','\360','\000','\000','I','\003','T','\003','\360','\000','\000','T','\003','e','\003','\360','\000','\000','e','\003','k','\003','\360','\000','\000','k','\003','l','\003','\360','\000','\000','l','\003','w','\003','\360','\000','\000','w','\003','B','\004','\360','\000','\000','B','\004','R','\004','\360','\000','\000','R','\004','X','\004','\360','\000','\000','X','\004','Y','\004','\360','\000','\000','Y','\004','Z','\004','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','o','\240','Q','\330','\004','\013','\320','\013','\036','\320','\036','2','\260','!','\200','\001','\340','C','Z','\320','Z','q','\320','q','r','\360',',','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\016','\210','k','\230','\021','\230','!','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','w','\310','a','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','4','\260','B','\260','l','\300',',','\310','a','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\030','\240','\022','\240','4','\240','y','\260','\013','\270','4','\270','v','\300','Q','\300','i','\310','{','\320','Z','a','\320','a','g','\320','g','h','\320','h','q','\320','q','}','\360','\000','\000','~','\001','J','\002','\360','\000','\000','J','\002','S','\002','\360','\000','\000','S','\002','T','\002','\360','\000','\000','T','\002','`','\002','\360','\000','\000','`','\002','a','\002','\360','\000','\000','a','\002','p','\002','\360','\000','\000','p','\002','{','\002','\360','\000','\000','{','\002','B','\003','\360','\000','\000','B','\003','H','\003','\360','\000','\000','H','\003','I','\003','\360','\000','\000','I','\003','J','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','k','\240','\021','\330','\004','\013','\210','1','\200','\001','\340','D','E','\360','(','\000','\005','\r','\210','K','\220','q','\230','\001','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','7','\240','!','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\025','\260','h','\270','j','\310','\005','\310','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','6','\260','b','\270','\001','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\032','\240','2','\240','T','\250','\031','\260','+','\270','U','\300','&','\310','\001','\310','\031','\320','R',']','\320',']','b','\320','b','h','\320','h','i','\320','i','r','\320','r','\177','\360','\000','\000','@','\002','A','\002','\360','\000','\000','A','\002','M','\002','\360','\000','\000','M','\002','N','\002','\360','\000','\000','N','\002',']','\002','\360','\000','\000',']','\002','h','\002','\360','\000','\000','h','\002','o','\002','\360','\000','\000','o','\002','u','\002','\360','\000','\000','u','\002','v','\002','\360','\000','\000','v','\002','w','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','m','\240','1','\330','\004','\013','\210','1','\200','\001','\340','Y','Z','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\240','?','\260','\"','\260','A','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\026','\230','r','\240','\024','\240','Y','\250','k','\270','\024','\270','V','\300','1','\300','I','\310','[','\320','X','[','\320','[','a','\320','a','b','\320','b','k','\320','k','v','\320','v','{','\360','\000','\000','|','\001','B','\002','\360','\000','\000','B','\002','C','\002','\360','\000','\000','C','\002','L','\002','\360','\000','\000','L','\002','Y','\002','\360','\000','\000','Y','\002','Z','\002','\360','\000','\000','Z','\002','f','\002','\360','\000','\000','f','\002','g','\002','\360','\000','\000','g','\002','v','\002','\360','\000','\000','v','\002','A','\003','\360','\000','\000','A','\003','H','\003','\360','\000','\000','H','\003','N','\003','\360','\000','\000','N','\003','O','\003','\360','\000','\000','O','\003','P','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','i','\230','q','\330','\004','\013','\210','1','\200','\001','\340','Y','q','\360','\000','\000','r','\001','I','\002','\360','\000','\000','I','\002','J','\002','\360','2','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','T','\320','A','R','\320','R','S','\320','S','V','\320','V','W','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\240','?','\260','\"','\260','M','\300','\034','\310','Q','\330','\010','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\010','\034','\320','\034','-','\250','Q','\250','h','\260','a','\330','\010','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\r','\016','\330','\014','\031','\230','\026','\230','r','\240','\024','\240','Y','\250','k','\270','\024','\270','V','\300','1','\300','I','\310','[','\320','X','[','\320','[','a','\320','a','b','\320','b','k','\320','k','v','\320','v','{','\360','\000','\000','|','\001','B','\002','\360','\000','\000','B','\002','C','\002','\360','\000','\000','C','\002','L','\002','\360','\000','\000','L','\002','Y','\002','\360','\000','\000','Y','\002','e','\002','\360','\000','\000','e','\002','m','\002','\360','\000','\000','m','\002','n','\002','\360','\000','\000','n','\002','z','\002','\360','\000','\000','z','\002','{','\002','\360','\000','\000','{','\002','J','\003','\360','\000','\000','J','\003','U','\003','\360','\000','\000','U','\003','e','\003','\360','\000','\000','e','\003','k','\003','\360','\000','\000','k','\003','l','\003','\360','\000','\000','l','\003','w','\003','\360','\000','\000','w','\003','B','\004','\360','\000','\000','B','\004','S','\004','\360','\000','\000','S','\004','Y','\004','\360','\000','\000','Y','\004','Z','\004','\360','\000','\000','Z','\004','e','\004','\360','\000','\000','e','\004','p','\004','\360','\000','\000','p','\004','@','\005','\360','\000','\000','@','\005','F','\005','\360','\000','\000','F','\005','G','\005','\360','\000','\000','G','\005','H','\005','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','i','\230','q','\330','\004','\013','\320','\013','\036','\320','\036','2','\260','!','\200','\001','\340','Z','[','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260','Q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','k','\320','Y','\\','\320','\\','b','\320','b','c','\320','c','l','\320','l','w','\320','w','|','\360','\000','\000','}','\001','C','\002','\360','\000','\000','C','\002','D','\002','\360','\000','\000','D','\002','M','\002','\360','\000','\000','M','\002','Z','\002','\360','\000','\000','Z','\002','[','\002','\360','\000','\000','[','\002','g','\002','\360','\000','\000','g','\002','h','\002','\360','\000','\000','h','\002','w','\002','\360','\000','\000','w','\002','B','\003','\360','\000','\000','B','\003','I','\003','\360','\000','\000','I','\003','O','\003','\360','\000','\000','O','\003','P','\003','\360','\000','\000','P','\003','Q','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\340','Z','[','\360','*','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','Q','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260','Q','\330','\010','\027','\320','\027','(','\250','\001','\250','\030','\260','\021','\330','\010','\027','\320','\027','(','\250','\001','\250','\030','\260','\021','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','k','\320','Y','\\','\320','\\','b','\320','b','c','\320','c','l','\320','l','w','\320','w','|','\360','\000','\000','}','\001','C','\002','\360','\000','\000','C','\002','D','\002','\360','\000','\000','D','\002','M','\002','\360','\000','\000','M','\002','Z','\002','\360','\000','\000','Z','\002','[','\002','\360','\000','\000','[','\002','g','\002','\360','\000','\000','g','\002','h','\002','\360','\000','\000','h','\002','w','\002','\360','\000','\000','w','\002','B','\003','\360','\000','\000','B','\003','N','\003','\360','\000','\000','N','\003','T','\003','\360','\000','\000','T','\003','U','\003','\360','\000','\000','U','\003','`','\003','\360','\000','\000','`','\003','k','\003','\360','\000','\000','k','\003','w','\003','\360','\000','\000','w','\003','}','\003','\360','\000','\000','}','\003','~','\003','\360','\000','\000','~','\003','\177','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','?','\230','!','\200','\001','\340','Z','r','\360','\000','\000','s','\001','K','\002','\360','\000','\000','K','\002','c','\002','\360','\000','\000','c','\002','d','\002','\360','0','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','Q','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260',']','\300','-','\310','}','\320','\\',']','\330','\010','\021','\320','\021','\"','\240','!','\240','8','\250','1','\330','\010','\027','\320','\027','(','\250','\001','\250','\030','\260','\021','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','k','\320','Y','\\','\320','\\','b','\320','b','c','\320','c','l','\320','l','w','\320','w','|','\360','\000','\000','}','\001','C','\002','\360','\000','\000','C','\002','D','\002','\360','\000','\000','D','\002','M','\002','\360','\000','\000','M','\002','Z','\002','\360','\000','\000','Z','\002','g','\002','\360','\000','\000','g','\002','t','\002','\360','\000','\000','t','\002','C','\003','\360','\000','\000','C','\003','D','\003','\360','\000','\000','D','\003','P','\003','\360','\000','\000','P','\003','Q','\003','\360','\000','\000','Q','\003','`','\003','\360','\000','\000','`','\003','k','\003','\360','\000','\000','k','\003','q','\003','\360','\000','\000','q','\003','w','\003','\360','\000','\000','w','\003','x','\003','\360','\000','\000','x','\003','C','\004','\360','\000','\000','C','\004','N','\004','\360','\000','\000','N','\004','Z','\004','\360','\000','\000','Z','\004','`','\004','\360','\000','\000','`','\004','a','\004','\360','\000','\000','a','\004','b','\004','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','9','\220','A','\200','\001','\340','Z','t','\360','\000','\000','u','\001','O','\002','\360','\000','\000','O','\002','e','\002','\360','\000','\000','e','\002','\177','\002','\360','\000','\000','\177','\002','@','\003','\360','6','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','T','\320','A','R','\320','R','S','\320','S','V','\320','V','W','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260','_','\300','O','\320','S','b','\320','b','q','\320','q','r','\330','\010','\017','\320','\017',' ','\240','\001','\240','\030','\250','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\030','\250','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\030','\250','\021','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','k','\320','Y','\\','\320','\\','b','\320','b','c','\320','c','l','\320','l','w','\320','w','|','\360','\000','\000','}','\001','C','\002','\360','\000','\000','C','\002','D','\002','\360','\000','\000','D','\002','M','\002','\360','\000','\000','M','\002','\\','\002','\360','\000','\000','\\','\002','k','\002','\360','\000','\000','k','\002','z','\002','\360','\000','\000','z','\002','I','\003','\360','\000','\000','I','\003','X','\003','\360','\000','\000','X','\003','Y','\003','\360','\000','\000','Y','\003','e','\003','\360','\000','\000','e','\003','f','\003','\360','\000','\000','f','\003','u','\003','\360','\000','\000','u','\003','@','\004','\360','\000','\000','@','\004','D','\004','\360','\000','\000','D','\004','J','\004','\360','\000','\000','J','\004','K','\004','\360','\000','\000','K','\004','V','\004','\360','\000','\000','V','\004','a','\004','\360','\000','\000','a','\004','e','\004','\360','\000','\000','e','\004','k','\004','\360','\000','\000','k','\004','l','\004','\360','\000','\000','l','\004','w','\004','\360','\000','\000','w','\004','B','\005','\360','\000','\000','B','\005','F','\005','\360','\000','\000','F','\005','L','\005','\360','\000','\000','L','\005','M','\005','\360','\000','\000','M','\005','N','\005','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','7','\220','\047','\230','\021','\200','\001','\340','[','\\','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','4','\260','B','\260','a','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\030','\240','\022','\240','4','\240','y','\260','\013','\270','4','\270','v','\300','Q','\300','i','\310','{','\320','Z',']','\320',']','c','\320','c','d','\320','d','m','\320','m','x','\320','x','}','\360','\000','\000','~','\001','D','\002','\360','\000','\000','D','\002','E','\002','\360','\000','\000','E','\002','N','\002','\360','\000','\000','N','\002','[','\002','\360','\000','\000','[','\002','\\','\002','\360','\000','\000','\\','\002','h','\002','\360','\000','\000','h','\002','i','\002','\360','\000','\000','i','\002','x','\002','\360','\000','\000','x','\002','C','\003','\360','\000','\000','C','\003','J','\003','\360','\000','\000','J','\003','P','\003','\360','\000','\000','P','\003','Q','\003','\360','\000','\000','Q','\003','R','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','k','\240','\021','\330','\004','\013','\210','1','\200','\001','\340','\\',']','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','5','\260','R','\260','q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\031','\240','\"','\240','D','\250','\t','\260','\033','\270','D','\300','\006','\300','a','\300','y','\320','P','[','\320','[','^','\320','^','d','\320','d','e','\320','e','n','\320','n','y','\320','y','~','\360','\000','\000','\177','\001','E','\002','\360','\000','\000','E','\002','F','\002','\360','\000','\000','F','\002','O','\002','\360','\000','\000','O','\002','\\','\002','\360','\000','\000','\\','\002',']','\002','\360','\000','\000',']','\002','i','\002','\360','\000','\000','i','\002','j','\002','\360','\000','\000','j','\002','y','\002','\360','\000','\000','y','\002','D','\003','\360','\000','\000','D','\003','K','\003','\360','\000','\000','K','\003','Q','\003','\360','\000','\000','Q','\003','R','\003','\360','\000','\000','R','\003','S','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','l','\240','!','\330','\004','\013','\210','1','\200','\001','\340','\\','v','\360','\000','\000','w','\001','Q','\002','\360','\000','\000','Q','\002','f','\002','\360','\000','\000','f','\002','@','\003','\360','\000','\000','@','\003','A','\003','\360','2','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','Q','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','5','\260','R','\260','\177','\300','o','\320','U','d','\320','d','s','\320','s','t','\330','\010','\023','\320','\023','$','\240','A','\240','X','\250','Q','\330','\010','\023','\320','\023','$','\240','A','\240','X','\250','Q','\330','\r','\016','\330','\014','\031','\230','\031','\240','\"','\240','D','\250','\t','\260','\033','\270','D','\300','\006','\300','a','\300','y','\320','P','[','\320','[','^','\320','^','d','\320','d','e','\320','e','n','\320','n','y','\320','y','~','\360','\000','\000','\177','\001','E','\002','\360','\000','\000','E','\002','F','\002','\360','\000','\000','F','\002','O','\002','\360','\000','\000','O','\002','^','\002','\360','\000','\000','^','\002','m','\002','\360','\000','\000','m','\002','|','\002','\360','\000','\000','|','\002','K','\003','\360','\000','\000','K','\003','Z','\003','\360','\000','\000','Z','\003','[','\003','\360','\000','\000','[','\003','g','\003','\360','\000','\000','g','\003','h','\003','\360','\000','\000','h','\003','w','\003','\360','\000','\000','w','\003','B','\004','\360','\000','\000','B','\004','J','\004','\360','\000','\000','J','\004','P','\004','\360','\000','\000','P','\004','Q','\004','\360','\000','\000','Q','\004','\\','\004','\360','\000','\000','\\','\004','g','\004','\360','\000','\000','g','\004','o','\004','\360','\000','\000','o','\004','u','\004','\360','\000','\000','u','\004','v','\004','\360','\000','\000','v','\004','w','\004','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','l','\240','!','\330','\004','\013','\210',';','\220','a','\200','\001','\340',']','^','\360','*','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','Q','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','6','\260','b','\270','\001','\330','\010','\024','\320','\024','%','\240','Q','\240','h','\250','a','\330','\010','\025','\320','\025','&','\240','a','\240','x','\250','q','\330','\r','\016','\330','\014','\031','\230','\032','\240','2','\240','T','\250','\031','\260','+','\270','T','\300','\026','\300','q','\310','\t','\320','Q','\\','\320','\\','_','\320','_','e','\320','e','f','\320','f','o','\320','o','z','\320','z','\177','\360','\000','\000','@','\002','F','\002','\360','\000','\000','F','\002','G','\002','\360','\000','\000','G','\002','P','\002','\360','\000','\000','P','\002',']','\002','\360','\000','\000',']','\002','^','\002','\360','\000','\000','^','\002','j','\002','\360','\000','\000','j','\002','k','\002','\360','\000','\000','k','\002','z','\002','\360','\000','\000','z','\002','E','\003','\360','\000','\000','E','\003','N','\003','\360','\000','\000','N','\003','T','\003','\360','\000','\000','T','\003','U','\003','\360','\000','\000','U','\003','`','\003','\360','\000','\000','`','\003','k','\003','\360','\000','\000','k','\003','u','\003','\360','\000','\000','u','\003','{','\003','\360','\000','\000','{','\003','|','\003','\360','\000','\000','|','\003','}','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','m','\240','1','\330','\004','\013','\210','<','\220','q','\200','\001','\340',']','v','\360','\000','\000','w','\001','P','\002','\360','\000','\000','P','\002','Q','\002','\360','*','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','6','\260','b','\270','\016','\300','n','\320','T','U','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\032','\240','2','\240','T','\250','\031','\260','+','\270','T','\300','\026','\300','q','\310','\t','\320','Q','\\','\320','\\','_','\320','_','e','\320','e','f','\320','f','o','\320','o','z','\320','z','\177','\360','\000','\000','@','\002','F','\002','\360','\000','\000','F','\002','G','\002','\360','\000','\000','G','\002','P','\002','\360','\000','\000','P','\002','^','\002','\360','\000','\000','^','\002','l','\002','\360','\000','\000','l','\002','z','\002','\360','\000','\000','z','\002','{','\002','\360','\000','\000','{','\002','G','\003','\360','\000','\000','G','\003','H','\003','\360','\000','\000','H','\003','W','\003','\360','\000','\000','W','\003','b','\003','\360','\000','\000','b','\003','i','\003','\360','\000','\000','i','\003','o','\003','\360','\000','\000','o','\003','p','\003','\360','\000','\000','p','\003','q','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','m','\240','1','\330','\004','\013','\210','1','\200','\001','\340',']','w','\360','\000','\000','x','\001','R','\002','\360','\000','\000','R','\002','S','\002','\360','.','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','Q','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','6','\260','b','\270','\017','\300','\177','\320','V','W','\330','\010','\023','\320','\023','$','\240','A','\240','X','\250','Q','\330','\010','\023','\320','\023','$','\240','A','\240','X','\250','Q','\330','\r','\016','\330','\014','\031','\230','\032','\240','2','\240','T','\250','\031','\260','+','\270','T','\300','\026','\300','q','\310','\t','\320','Q','\\','\320','\\','_','\320','_','e','\320','e','f','\320','f','o','\320','o','z','\320','z','\177','\360','\000','\000','@','\002','F','\002','\360','\000','\000','F','\002','G','\002','\360','\000','\000','G','\002','P','\002','\360','\000','\000','P','\002','_','\002','\360','\000','\000','_','\002','n','\002','\360','\000','\000','n','\002','}','\002','\360','\000','\000','}','\002','~','\002','\360','\000','\000','~','\002','J','\003','\360','\000','\000','J','\003','K','\003','\360','\000','\000','K','\003','Z','\003','\360','\000','\000','Z','\003','e','\003','\360','\000','\000','e','\003','m','\003','\360','\000','\000','m','\003','s','\003','\360','\000','\000','s','\003','t','\003','\360','\000','\000','t','\003','\177','\003','\360','\000','\000','\177','\003','J','\004','\360','\000','\000','J','\004','R','\004','\360','\000','\000','R','\004','X','\004','\360','\000','\000','X','\004','Y','\004','\360','\000','\000','Y','\004','Z','\004','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','m','\240','1','\330','\004','\013','\210',';','\220','a','\200','\001','\340','^','_','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','7','\260','r','\270','\021','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\033','\240','B','\240','d','\250',')','\260',';','\270','d','\300','&','\310','\001','\310','\031','\320','R',']','\320',']','`','\320','`','f','\320','f','g','\320','g','p','\320','p','{','\360','\000','\000','|','\001','A','\002','\360','\000','\000','A','\002','G','\002','\360','\000','\000','G','\002','H','\002','\360','\000','\000','H','\002','Q','\002','\360','\000','\000','Q','\002','^','\002','\360','\000','\000','^','\002','_','\002','\360','\000','\000','_','\002','k','\002','\360','\000','\000','k','\002','l','\002','\360','\000','\000','l','\002','{','\002','\360','\000','\000','{','\002','F','\003','\360','\000','\000','F','\003','M','\003','\360','\000','\000','M','\003','S','\003','\360','\000','\000','S','\003','T','\003','\360','\000','\000','T','\003','U','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','n','\240','A','\330','\004','\013','\210','1','\200','\001','\340','_','`','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','8','\270','\002','\270','!','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\034','\240','R','\240','t','\250','9','\260','K','\270','t','\300','6','\310','\021','\310',')','\320','S','^','\320','^','a','\320','a','g','\320','g','h','\320','h','q','\320','q','|','\360','\000','\000','}','\001','B','\002','\360','\000','\000','B','\002','H','\002','\360','\000','\000','H','\002','I','\002','\360','\000','\000','I','\002','R','\002','\360','\000','\000','R','\002','_','\002','\360','\000','\000','_','\002','`','\002','\360','\000','\000','`','\002','l','\002','\360','\000','\000','l','\002','m','\002','\360','\000','\000','m','\002','|','\002','\360','\000','\000','|','\002','G','\003','\360','\000','\000','G','\003','N','\003','\360','\000','\000','N','\003','T','\003','\360','\000','\000','T','\003','U','\003','\360','\000','\000','U','\003','V','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','o','\240','Q','\330','\004','\013','\210','1','\200','\001','\340','_','`','\360','.','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','T','\320','A','R','\320','R','S','\320','S','V','\320','V','W','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','8','\270','\002','\270','!','\330','\010','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\010','\034','\320','\034','-','\250','Q','\250','h','\260','a','\330','\010','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\r','\016','\330','\014','\031','\230','\034','\240','R','\240','t','\250','9','\260','K','\270','t','\300','6','\310','\021','\310',')','\320','S','^','\320','^','a','\320','a','g','\320','g','h','\320','h','q','\320','q','|','\360','\000','\000','}','\001','B','\002','\360','\000','\000','B','\002','H','\002','\360','\000','\000','H','\002','I','\002','\360','\000','\000','I','\002','R','\002','\360','\000','\000','R','\002','_','\002','\360','\000','\000','_','\002','`','\002','\360','\000','\000','`','\002','l','\002','\360','\000','\000','l','\002','m','\002','\360','\000','\000','m','\002','|','\002','\360','\000','\000','|','\002','G','\003','\360','\000','\000','G','\003','W','\003','\360','\000','\000','W','\003',']','\003','\360','\000','\000',']','\003','^','\003','\360','\000','\000','^','\003','i','\003','\360','\000','\000','i','\003','t','\003','\360','\000','\000','t','\003','E','\004','\360','\000','\000','E','\004','K','\004','\360','\000','\000','K','\004','L','\004','\360','\000','\000','L','\004','W','\004','\360','\000','\000','W','\004','b','\004','\360','\000','\000','b','\004','r','\004','\360','\000','\000','r','\004','x','\004','\360','\000','\000','x','\004','y','\004','\360','\000','\000','y','\004','z','\004','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','o','\240','Q','\330','\004','\013','\320','\013','\036','\320','\036','2','\260','!','\200','\001','\340','a','y','\320','y','z','\360',',','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\250','\016','\260','a','\260','s','\270','!','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#',':','\270','\"','\270','M','\310','\021','\330','\010','\030','\320','\030',')','\250','\021','\250','(','\260','!','\330','\010','\023','\220','>','\240','\021','\240','(','\250','!','\330','\r','\016','\330','\014','\031','\230','\036','\240','r','\250','\024','\250','Y','\260','k','\300','\024','\300','V','\310','1','\310','I','\320','U','`','\320','`','c','\320','c','i','\320','i','j','\320','j','s','\320','s','~','\360','\000','\000','\177','\001','D','\002','\360','\000','\000','D','\002','J','\002','\360','\000','\000','J','\002','K','\002','\360','\000','\000','K','\002','T','\002','\360','\000','\000','T','\002','a','\002','\360','\000','\000','a','\002','n','\002','\360','\000','\000','n','\002','o','\002','\360','\000','\000','o','\002','{','\002','\360','\000','\000','{','\002','|','\002','\360','\000','\000','|','\002','K','\003','\360','\000','\000','K','\003','V','\003','\360','\000','\000','V','\003','c','\003','\360','\000','\000','c','\003','i','\003','\360','\000','\000','i','\003','j','\003','\360','\000','\000','j','\003','u','\003','\360','\000','\000','u','\003','}','\003','\360','\000','\000','}','\003','E','\004','\360','\000','\000','E','\004','K','\004','\360','\000','\000','K','\004','L','\004','\360','\000','\000','L','\004','M','\004','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','\047','\240','q','\330','\004','\013','\320','\013','\033','\230','1','\200','\001','\340','w','x','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210','[','\230','\001','\230','\021','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','g','\250','Q','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','i','\320','i','s','\320','s','y','\320','y','z','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','2','\260','Q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','k','\320','Y','\\','\320','\\','b','\320','b','c','\320','c','l','\320','l','w','\320','w','|','\360','\000','\000','}','\001','C','\002','\360','\000','\000','C','\002','D','\002','\360','\000','\000','D','\002','M','\002','\360','\000','\000','M','\002','X','\002','\360','\000','\000','X','\002','^','\002','\360','\000','\000','^','\002','d','\002','\360','\000','\000','d','\002','e','\002','\360','\000','\000','e','\002','n','\002','\360','\000','\000','n','\002','{','\002','\360','\000','\000','{','\002','|','\002','\360','\000','\000','|','\002','H','\003','\360','\000','\000','H','\003','I','\003','\360','\000','\000','I','\003','X','\003','\360','\000','\000','X','\003','c','\003','\360','\000','\000','c','\003','j','\003','\360','\000','\000','j','\003','p','\003','\360','\000','\000','p','\003','q','\003','\360','\000','\000','q','\003','r','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\340','|','}','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#',':','\270','\"','\270','A','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\036','\240','r','\250','\024','\250','Y','\260','k','\300','\024','\300','V','\310','1','\310','I','\320','U','`','\320','`','d','\320','d','j','\320','j','k','\320','k','t','\320','t','\177','\360','\000','\000','@','\002','C','\002','\360','\000','\000','C','\002','I','\002','\360','\000','\000','I','\002','J','\002','\360','\000','\000','J','\002','S','\002','\360','\000','\000','S','\002','^','\002','\360','\000','\000','^','\002','c','\002','\360','\000','\000','c','\002','i','\002','\360','\000','\000','i','\002','j','\002','\360','\000','\000','j','\002','s','\002','\360','\000','\000','s','\002','A','\003','\360','\000','\000','A','\003','B','\003','\360','\000','\000','B','\003','N','\003','\360','\000','\000','N','\003','O','\003','\360','\000','\000','O','\003','^','\003','\360','\000','\000','^','\003','f','\003','\360','\000','\000','f','\003','p','\003','\360','\000','\000','p','\003','v','\003','\360','\000','\000','v','\003','w','\003','\360','\000','\000','w','\003','x','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','\047','\240','q','\330','\004','\013','\210','1','\200','\001','\360','\004','\000','A','\002','B','\002','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','>','\270','b','\300','\001','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031','+','\250','2','\250','T','\260','\031','\270','+','\300','T','\310','\026','\310','q','\320','P','Y','\320','Y','d','\320','d','h','\320','h','n','\320','n','o','\320','o','x','\360','\000','\000','y','\001','D','\002','\360','\000','\000','D','\002','G','\002','\360','\000','\000','G','\002','M','\002','\360','\000','\000','M','\002','N','\002','\360','\000','\000','N','\002','W','\002','\360','\000','\000','W','\002','b','\002','\360','\000','\000','b','\002','g','\002','\360','\000','\000','g','\002','m','\002','\360','\000','\000','m','\002','n','\002','\360','\000','\000','n','\002','w','\002','\360','\000','\000','w','\002','E','\003','\360','\000','\000','E','\003','F','\003','\360','\000','\000','F','\003','R','\003','\360','\000','\000','R','\003','S','\003','\360','\000','\000','S','\003','b','\003','\360','\000','\000','b','\003','j','\003','\360','\000','\000','j','\003','t','\003','\360','\000','\000','t','\003','z','\003','\360','\000','\000','z','\003','{','\003','\360','\000','\000','{','\003','|','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','+','\250','1','\330','\004','\013','\210','1','\200','\001','\360','\004','\000','C','\002','D','\002','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','@','\300','\002','\300','!','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031','-','\250','R','\250','t','\260','9','\270','K','\300','t','\310','6','\320','Q','R','\320','R','[','\320','[','f','\320','f','j','\320','j','p','\320','p','q','\320','q','z','\360','\000','\000','{','\001','F','\002','\360','\000','\000','F','\002','I','\002','\360','\000','\000','I','\002','O','\002','\360','\000','\000','O','\002','P','\002','\360','\000','\000','P','\002','Y','\002','\360','\000','\000','Y','\002','d','\002','\360','\000','\000','d','\002','i','\002','\360','\000','\000','i','\002','o','\002','\360','\000','\000','o','\002','p','\002','\360','\000','\000','p','\002','y','\002','\360','\000','\000','y','\002','G','\003','\360','\000','\000','G','\003','H','\003','\360','\000','\000','H','\003','T','\003','\360','\000','\000','T','\003','U','\003','\360','\000','\000','U','\003','d','\003','\360','\000','\000','d','\003','l','\003','\360','\000','\000','l','\003','v','\003','\360','\000','\000','v','\003','|','\003','\360','\000','\000','|','\003','}','\003','\360','\000','\000','}','\003','~','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','-','\250','Q','\330','\004','\013','\210','1','\200','\001','\360','\004','\000','D','\002','E','\002','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','A','\300','\022','\300','1','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031','.','\250','b','\260','\004','\260','I','\270','[','\310','\004','\310','F','\320','R','S','\320','S','\\','\320','\\','g','\320','g','k','\320','k','q','\320','q','r','\320','r','{','\360','\000','\000','|','\001','G','\002','\360','\000','\000','G','\002','J','\002','\360','\000','\000','J','\002','P','\002','\360','\000','\000','P','\002','Q','\002','\360','\000','\000','Q','\002','Z','\002','\360','\000','\000','Z','\002','e','\002','\360','\000','\000','e','\002','j','\002','\360','\000','\000','j','\002','p','\002','\360','\000','\000','p','\002','q','\002','\360','\000','\000','q','\002','z','\002','\360','\000','\000','z','\002','H','\003','\360','\000','\000','H','\003','I','\003','\360','\000','\000','I','\003','U','\003','\360','\000','\000','U','\003','V','\003','\360','\000','\000','V','\003','e','\003','\360','\000','\000','e','\003','m','\003','\360','\000','\000','m','\003','w','\003','\360','\000','\000','w','\003','}','\003','\360','\000','\000','}','\003','~','\003','\360','\000','\000','~','\003','\177','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','.','\250','a','\330','\004','\013','\210','1','\200','\001','\360','\004','\000','E','\002','F','\002','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','B','\300','\"','\300','A','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031','/','\250','r','\260','\024','\260','Y','\270','k','\310','\024','\310','V','\320','S','T','\320','T',']','\320',']','h','\320','h','l','\320','l','r','\320','r','s','\320','s','|','\360','\000','\000','}','\001','H','\002','\360','\000','\000','H','\002','K','\002','\360','\000','\000','K','\002','Q','\002','\360','\000','\000','Q','\002','R','\002','\360','\000','\000','R','\002','[','\002','\360','\000','\000','[','\002','f','\002','\360','\000','\000','f','\002','k','\002','\360','\000','\000','k','\002','q','\002','\360','\000','\000','q','\002','r','\002','\360','\000','\000','r','\002','{','\002','\360','\000','\000','{','\002','I','\003','\360','\000','\000','I','\003','J','\003','\360','\000','\000','J','\003','V','\003','\360','\000','\000','V','\003','W','\003','\360','\000','\000','W','\003','f','\003','\360','\000','\000','f','\003','n','\003','\360','\000','\000','n','\003','x','\003','\360','\000','\000','x','\003','~','\003','\360','\000','\000','~','\003','\177','\003','\360','\000','\000','\177','\003','@','\004','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','/','\250','q','\330','\004','\013','\210','1','\200','\001','\360','\004','\000','z','\001','R','\002','\360','\000','\000','R','\002','S','\002','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210','[','\230','\001','\230','\021','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','g','\250','Q','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','i','\320','i','s','\320','s','y','\320','y','z','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','5','\260','R','\260','}','\300','A','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\031','\240','\"','\240','D','\250','\t','\260','\033','\270','D','\300','\006','\300','a','\300','y','\320','P','[','\320','[','^','\320','^','d','\320','d','e','\320','e','n','\320','n','y','\320','y','~','\360','\000','\000','\177','\001','E','\002','\360','\000','\000','E','\002','F','\002','\360','\000','\000','F','\002','O','\002','\360','\000','\000','O','\002','Z','\002','\360','\000','\000','Z','\002','`','\002','\360','\000','\000','`','\002','f','\002','\360','\000','\000','f','\002','g','\002','\360','\000','\000','g','\002','p','\002','\360','\000','\000','p','\002','}','\002','\360','\000','\000','}','\002','J','\003','\360','\000','\000','J','\003','K','\003','\360','\000','\000','K','\003','W','\003','\360','\000','\000','W','\003','X','\003','\360','\000','\000','X','\003','g','\003','\360','\000','\000','g','\003','r','\003','\360','\000','\000','r','\003','y','\003','\360','\000','\000','y','\003','\177','\003','\360','\000','\000','\177','\003','@','\004','\360','\000','\000','@','\004','A','\004','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','l','\240','!','\330','\004','\013','\210','1','\200','\001','\360','\006','\000','\005','\017','\320','\016','\036','\230','a','\230','q','\330','\004','\007','\200','x','\210','s','\220','!','\330','\010','\017','\210','q','\330','\004','\t','\210','\021','\330','\t','\026','\220','a','\330','\r','\016','\330','\014','\030','\320','\030','-','\250','Q','\250','a','\330','\004','\013','\210','1','\200','\001','\360','\010','\000','\005','\017','\320','\016','\036','\230','a','\230','q','\330','\004','\007','\200','x','\210','s','\220','!','\330','\010','\t','\330','\004','\t','\210','\021','\330','\004','\017','\210','q','\330','\t','\027','\220','q','\330','\r','\016','\330','\014','\032','\320','\032','/','\250','q','\260','\004','\260','A','\330','\004','\025','\220','Q','\320','\026','.','\250','a','\200','\001','\360','\010','\000','\n','\033','\230','!','\330','\010','\020','\220','\001','\330','\010','\020','\220','\007','\220','q','\230','\006','\230','l','\250','!','\330','\004','\007','\200','v','\210','W','\220','E','\230','\024','\230','Q','\330','\010','\022','\220','!','\330','\010','\027','\220','q','\340','\010','\027','\220','q','\330','\004','\007','\200','q','\330','\010','\017','\320','\017','.','\250','d','\260','!','\260','7','\270','+','\300','W','\310','A','\340','\010','\017','\320','\017','.','\250','d','\260','!','\260','7','\270','+','\300','Q','\200','\001','\360','\010','\000','\n','\033','\230','!','\330','\010','\020','\220','\001','\330','\010','\020','\220','\007','\220','q','\230','\006','\230','l','\250','!','\330','\004','\007','\200','v','\210','W','\220','E','\230','\024','\230','Q','\330','\010','\022','\220','!','\330','\010','\027','\220','q','\340','\010','\027','\220','q','\330','\004','\007','\200','q','\330','\010','\017','\320','\017','/','\250','t','\260','1','\260','G','\270',';','\300','g','\310','Q','\340','\010','\017','\320','\017','/','\250','t','\260','1','\260','G','\270',';','\300','a','\200','\001','\360','\014','\000','\005','\020','\210','q','\330','\004','\020','\220','\001','\220','\031','\230','!','\230','9','\240','A','\330','\004','\020','\220','\001','\220','\021','\330','\004','\013','\210','1','\330','\004','\010','\210','\007','\210','q','\320','\020','1','\260','\022','\260','1','\340','\004','\022','\220',')','\230','1','\230','A','\330','\004','\010','\210','\007','\210','q','\220','\001','\330','\004','\010','\210','\016','\220','a','\330','\010','\020','\220','\013','\230','1','\230','A','\330','\010','\013','\210','4','\210','z','\230','\021','\230','\047','\240','\021','\330','\014','\024','\220','A','\330','\010','\014','\210','G','\220','1','\320','\024','$','\240','L','\260','\001','\340','\004','\r','\210','Y','\220','a','\220','q','\330','\004','\007','\200','q','\330','\010','\014','\210','G','\220','1','\220','A','\330','\004','\010','\210','\t','\220','\021','\330','\010','\014','\210','G','\220','1','\320','\024','$','\240','G','\250','6','\260','\021','\260','!','\330','\010','\021','\220','\027','\230','\001','\230','\035','\240','g','\250','V','\260','1','\260','A','\330','\010','\020','\220','\001','\220','\031','\230','&','\240','\001','\240','\021','\330','\010','\013','\210','5','\220','\t','\230','\021','\230','!','\330','\014','\020','\220','\002','\220','%','\220','s','\230','%','\230','q','\240','\001','\240','\024','\240','R','\240','t','\250','7','\260','\"','\260','G','\270','1','\270','F','\300','!','\300','1','\340','\004','\016','\210','i','\220','q','\230','\001','\330','\004','\022','\320','\022',',','\250','D','\260','\t','\270','\021','\320',':','L','\310','C','\310','q','\330','\004','\010','\210','\007','\210','q','\220','\001','\330','\004','\010','\210','\n','\220','!','\330','\010','\013','\210','7','\220','#','\220','Z','\230','t','\240','1','\330','\014','\025','\220','Q','\330','\010','\014','\210','G','\220','1','\220','I','\230','R','\230','q','\340','\004','\r','\210','W','\220','A','\220','T','\230','\025','\230','a','\230','q','\330','\004','\r','\210','W','\220','A','\220','Q','\330','\004','\010','\210','\007','\210','q','\220','\003','\220','2','\220','U','\230','!','\230','1','\330','\004','\024','\220','D','\230','\005','\230','Q','\230','a','\330','\004','\013','\210',':','\220','Q','\200','\001','\360','\014','\000','\005',',','\320','+','=','\270','Q','\270','a','\340','\t','\026','\220','a','\330','\r','\016','\330','\014','\031','\230','\037','\250','\001','\250','\030','\260','\021','\260','!','\330','\004','\025','\220','Q','\320','\026','(','\250','\001','\340','\004','\005','\330','\010','\020','\220','\t','\230','\021','\230','$','\230','a','\330','\010','\021','\220','\031','\230','!','\230','4','\230','q','\330','\010','\030','\230','\t','\240','\021','\240','$','\240','a','\330','\010','\032','\230','+','\240','Q','\240','d','\250','(','\260','!','\330','\010','\026','\220','c','\230','\021','\230','$','\230','a','\330','\010','\032','\230','#','\230','Q','\230','d','\240','!','\330','\010','\027','\220','s','\230','!','\230','4','\230','q','\200','\001','\360','\014','\000','\005',',','\320','+','=','\270','Q','\270','a','\340','\t','\026','\220','a','\330','\r','\016','\330','\014','\031','\320','\031','2','\260','!','\260','8','\270','5','\300','\001','\300','\021','\330','\004','\025','\220','Q','\320','\026','2','\260','!','\340','\004','\013','\210','9','\220','A','\220','T','\230','\021','\330','\004','\013','\210','4','\210','q','\220','\003','\220','1','\220','G','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','t','\220','8','\230','1','\230','H','\240','A','\330','\t','\021','\220','\023','\220','A','\330','\010','\017','\210','q','\340','\004','\005','\330','\010','\020','\220','\001','\330','\010','\030','\230','\013','\240','1','\240','D','\250','\010','\260','\001','\200','\001','\360','\014','\000','\005',',','\320','+','=','\270','Q','\270','a','\340','\t','\026','\220','a','\330','\r','\016','\330','\014','\031','\320','\031','3','\260','1','\260','H','\270','E','\300','\021','\300','!','\330','\004','\025','\220','Q','\320','\026','3','\260','1','\340','\004','\013','\210','9','\220','A','\220','T','\230','\021','\330','\004','\013','\210','4','\210','q','\220','\003','\220','1','\220','H','\230','F','\240','!','\340','\004','\007','\200','w','\210','c','\220','\025','\220','d','\230','%','\230','x','\240','x','\250','y','\270','\001','\330','\010','\017','\210','t','\220','1','\220','C','\220','q','\230','\001','\340','\004','\005','\330','\010','\020','\220','\001','\330','\010','\021','\220','\033','\230','A','\230','T','\240','\030','\250','\021','\200','\001','\360','\014','\000','\005',',','\320','+','=','\270','Q','\270','a','\340','\t','\026','\220','a','\330','\r','\016','\330','\014','\031','\320','\031','5','\260','Q','\260','h','\270','e','\300','1','\300','A','\330','\004','\025','\220','Q','\320','\026','5','\260','Q','\340','\004','\013','\210','9','\220','A','\220','T','\230','\021','\330','\004','\013','\210','4','\210','q','\220','\003','\220','1','\220','J','\230','f','\240','A','\330','\004','\024','\220','C','\220','q','\230','\004','\320','\034','.','\250','d','\260','&','\270','\002','\270','\047','\300','\024','\300','Q','\340','\004','\005','\330','\010','\020','\220','\001','\330','\010','\030','\230','\t','\240','\021','\240','$','\240','a','\330','\010','\020','\220','\004','\220','A','\330','\010','\020','\220','\t','\230','\021','\230','$','\230','a','\330','\010','\031','\230','\021','\330','\010','\021','\220','\021','\200','\001','\360','\014','\000','\n','\027','\220','a','\330','\r','\016','\330','\014','\031','\320','\031','+','\250','1','\250','G','\260','1','\260','A','\330','\010','\031','\230','\021','\320','\032','/','\250','q','\330','\010','\t','\330','\014','\030','\230','\001','\330','\014','\020','\220','\005','\220','V','\230','1','\230','E','\240','\021','\330','\020','\031','\230','\027','\240','\001','\240','\026','\240','q','\250','\005','\250','W','\260','A','\260','Q','\340','\021','\022','\330','\020','\035','\320','\035','.','\250','a','\250','q','\330','\014','\035','\230','Q','\320','\036','2','\260','!','\330','\004','\013','\210','1','\200','\001','\360','\014','\000','\n','\027','\220','a','\330','\r','\016','\330','\014','\031','\320','\031',',','\250','A','\250','Q','\250','a','\330','\010','\031','\230','\021','\320','\032','0','\260','\001','\330','\010','\t','\330','\014','\025','\220','Q','\330','\014','\020','\220','\005','\220','V','\230','1','\230','E','\240','\021','\330','\020','\026','\220','g','\230','Q','\230','f','\240','A','\240','U','\250','\047','\260','\021','\260','!','\340','\021','\022','\330','\020','\035','\320','\035','/','\250','q','\260','\001','\330','\014','\035','\230','Q','\320','\036','3','\260','1','\330','\004','\013','\210','1','\200','\001','\360','\020','\000','\005','\010','\200','u','\210','B','\210','a','\330','\010','\017','\210','q','\330','\004','\013','\210','1','\210','A','\330','\014','\020','\220','\005','\220','_','\240','F','\250','!','\320','+','<','\270','F','\300','!','\330','\014','\017','\210','t','\220','2','\220','Q','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210','[','\230','\001','\230','\021','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','g','\250','Q','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','i','\320','i','s','\320','s','y','\320','y','z','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\240','?','\260','!','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\026','\230','r','\240','\024','\240','Y','\250','k','\270','\024','\270','V','\300','1','\300','I','\310','[','\320','X','[','\320','[','a','\320','a','b','\320','b','k','\320','k','v','\320','v','{','\360','\000','\000','|','\001','B','\002','\360','\000','\000','B','\002','C','\002','\360','\000','\000','C','\002','L','\002','\360','\000','\000','L','\002','W','\002','\360','\000','\000','W','\002',']','\002','\360','\000','\000',']','\002','c','\002','\360','\000','\000','c','\002','d','\002','\360','\000','\000','d','\002','m','\002','\360','\000','\000','m','\002','n','\002','\360','\000','\000','n','\002','z','\002','\360','\000','\000','z','\002','{','\002','\360','\000','\000','{','\002','J','\003','\360','\000','\000','J','\003','U','\003','\360','\000','\000','U','\003','\\','\003','\360','\000','\000','\\','\003','b','\003','\360','\000','\000','b','\003','c','\003','\360','\000','\000','c','\003','d','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','i','\230','q','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210','[','\230','\001','\230','\021','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','g','\250','Q','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','i','\320','i','s','\320','s','y','\320','y','z','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','4','\260','A','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\030','\240','\022','\240','4','\240','y','\260','\013','\270','4','\270','v','\300','Q','\300','i','\310','{','\320','Z',']','\320',']','c','\320','c','d','\320','d','m','\320','m','x','\320','x','}','\360','\000','\000','~','\001','D','\002','\360','\000','\000','D','\002','E','\002','\360','\000','\000','E','\002','N','\002','\360','\000','\000','N','\002','Y','\002','\360','\000','\000','Y','\002','_','\002','\360','\000','\000','_','\002','e','\002','\360','\000','\000','e','\002','f','\002','\360','\000','\000','f','\002','o','\002','\360','\000','\000','o','\002','p','\002','\360','\000','\000','p','\002','|','\002','\360','\000','\000','|','\002','}','\002','\360','\000','\000','}','\002','L','\003','\360','\000','\000','L','\003','W','\003','\360','\000','\000','W','\003','^','\003','\360','\000','\000','^','\003','d','\003','\360','\000','\000','d','\003','e','\003','\360','\000','\000','e','\003','f','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','k','\240','\021','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','1','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','k','\320','Y','\\','\320','\\','b','\320','b','c','\320','c','l','\320','l','w','\320','w','|','\360','\000','\000','}','\001','C','\002','\360','\000','\000','C','\002','D','\002','\360','\000','\000','D','\002','M','\002','\360','\000','\000','M','\002','N','\002','\360','\000','\000','N','\002','Z','\002','\360','\000','\000','Z','\002','[','\002','\360','\000','\000','[','\002','j','\002','\360','\000','\000','j','\002','u','\002','\360','\000','\000','u','\002','|','\002','\360','\000','\000','|','\002','B','\003','\360','\000','\000','B','\003','C','\003','\360','\000','\000','C','\003','D','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','6','\260','a','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\032','\240','2','\240','T','\250','\031','\260','+','\270','T','\300','\026','\300','q','\310','\t','\320','Q','\\','\320','\\','_','\320','_','e','\320','e','f','\320','f','o','\320','o','z','\320','z','\177','\360','\000','\000','@','\002','F','\002','\360','\000','\000','F','\002','G','\002','\360','\000','\000','G','\002','P','\002','\360','\000','\000','P','\002','Q','\002','\360','\000','\000','Q','\002',']','\002','\360','\000','\000',']','\002','^','\002','\360','\000','\000','^','\002','m','\002','\360','\000','\000','m','\002','x','\002','\360','\000','\000','x','\002','\177','\002','\360','\000','\000','\177','\002','E','\003','\360','\000','\000','E','\003','F','\003','\360','\000','\000','F','\003','G','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','m','\240','1','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','a','\320','a','b','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','8','\270','\001','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\034','\240','R','\240','t','\250','9','\260','K','\270','t','\300','6','\310','\021','\310',')','\320','S','^','\320','^','a','\320','a','g','\320','g','h','\320','h','q','\320','q','|','\360','\000','\000','}','\001','B','\002','\360','\000','\000','B','\002','H','\002','\360','\000','\000','H','\002','I','\002','\360','\000','\000','I','\002','R','\002','\360','\000','\000','R','\002','S','\002','\360','\000','\000','S','\002','_','\002','\360','\000','\000','_','\002','`','\002','\360','\000','\000','`','\002','o','\002','\360','\000','\000','o','\002','z','\002','\360','\000','\000','z','\002','A','\003','\360','\000','\000','A','\003','G','\003','\360','\000','\000','G','\003','H','\003','\360','\000','\000','H','\003','I','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','o','\240','Q','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210','[','\230','\001','\230','\021','\330','\004','\r','\210',']','\230','!','\230','6','\240','\025','\240','a','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','(','\320','R','\\','\320','\\','b','\320','b','c','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','8','\270','\001','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\034','\240','R','\240','t','\250','9','\260','K','\270','t','\300','6','\310','\021','\310',')','\320','S','^','\320','^','a','\320','a','g','\320','g','h','\320','h','q','\320','q','|','\360','\000','\000','}','\001','C','\002','\360','\000','\000','C','\002','I','\002','\360','\000','\000','I','\002','J','\002','\360','\000','\000','J','\002','S','\002','\360','\000','\000','S','\002','T','\002','\360','\000','\000','T','\002','`','\002','\360','\000','\000','`','\002','a','\002','\360','\000','\000','a','\002','p','\002','\360','\000','\000','p','\002','{','\002','\360','\000','\000','{','\002','B','\003','\360','\000','\000','B','\003','H','\003','\360','\000','\000','H','\003','I','\003','\360','\000','\000','I','\003','J','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','o','\240','Q','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','s','\310','!','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','8','\270','\001','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\034','\240','R','\240','t','\250','9','\260','K','\270','t','\300','6','\310','\021','\310',')','\320','S','^','\320','^','a','\320','a','g','\320','g','h','\320','h','q','\320','q','r','\320','r','~','\320','~','\177','\360','\000','\000','@','\002','O','\002','\360','\000','\000','O','\002','Z','\002','\360','\000','\000','Z','\002','a','\002','\360','\000','\000','a','\002','g','\002','\360','\000','\000','g','\002','h','\002','\360','\000','\000','h','\002','i','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','o','\240','Q','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','7','\260','q','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\033','\240','B','\240','d','\250',')','\260',';','\270','d','\300','&','\310','\001','\310','\031','\320','R',']','\320',']','a','\320','a','g','\320','g','h','\320','h','q','\320','q','|','\320','|','\177','\360','\000','\000','@','\002','F','\002','\360','\000','\000','F','\002','G','\002','\360','\000','\000','G','\002','P','\002','\360','\000','\000','P','\002','[','\002','\360','\000','\000','[','\002','`','\002','\360','\000','\000','`','\002','f','\002','\360','\000','\000','f','\002','g','\002','\360','\000','\000','g','\002','p','\002','\360','\000','\000','p','\002','q','\002','\360','\000','\000','q','\002','}','\002','\360','\000','\000','}','\002','~','\002','\360','\000','\000','~','\002','M','\003','\360','\000','\000','M','\003','U','\003','\360','\000','\000','U','\003','_','\003','\360','\000','\000','_','\003','e','\003','\360','\000','\000','e','\003','f','\003','\360','\000','\000','f','\003','g','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','n','\240','A','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','9','\270','\021','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\035','\240','b','\250','\004','\250','I','\260','[','\300','\004','\300','F','\310','!','\310','9','\320','T','_','\320','_','c','\320','c','i','\320','i','j','\320','j','s','\320','s','~','\360','\000','\000','\177','\001','B','\002','\360','\000','\000','B','\002','H','\002','\360','\000','\000','H','\002','I','\002','\360','\000','\000','I','\002','R','\002','\360','\000','\000','R','\002',']','\002','\360','\000','\000',']','\002','b','\002','\360','\000','\000','b','\002','h','\002','\360','\000','\000','h','\002','i','\002','\360','\000','\000','i','\002','r','\002','\360','\000','\000','r','\002','s','\002','\360','\000','\000','s','\002','\177','\002','\360','\000','\000','\177','\002','@','\003','\360','\000','\000','@','\003','O','\003','\360','\000','\000','O','\003','W','\003','\360','\000','\000','W','\003','a','\003','\360','\000','\000','a','\003','g','\003','\360','\000','\000','g','\003','h','\003','\360','\000','\000','h','\003','i','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','&','\240','a','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#',':','\270','!','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\036','\240','r','\250','\024','\250','Y','\260','k','\300','\024','\300','V','\310','1','\310','I','\320','U','`','\320','`','d','\320','d','j','\320','j','k','\320','k','t','\320','t','\177','\360','\000','\000','@','\002','C','\002','\360','\000','\000','C','\002','I','\002','\360','\000','\000','I','\002','J','\002','\360','\000','\000','J','\002','S','\002','\360','\000','\000','S','\002','^','\002','\360','\000','\000','^','\002','c','\002','\360','\000','\000','c','\002','i','\002','\360','\000','\000','i','\002','j','\002','\360','\000','\000','j','\002','s','\002','\360','\000','\000','s','\002','t','\002','\360','\000','\000','t','\002','@','\003','\360','\000','\000','@','\003','A','\003','\360','\000','\000','A','\003','P','\003','\360','\000','\000','P','\003','X','\003','\360','\000','\000','X','\003','b','\003','\360','\000','\000','b','\003','h','\003','\360','\000','\000','h','\003','i','\003','\360','\000','\000','i','\003','j','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','\047','\240','q','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#',';','\270','1','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\037','\250','\002','\250','$','\250','i','\260','{','\300','$','\300','f','\310','A','\310','Y','\320','V','a','\320','a','e','\320','e','k','\320','k','l','\320','l','u','\360','\000','\000','v','\001','A','\002','\360','\000','\000','A','\002','D','\002','\360','\000','\000','D','\002','J','\002','\360','\000','\000','J','\002','K','\002','\360','\000','\000','K','\002','T','\002','\360','\000','\000','T','\002','_','\002','\360','\000','\000','_','\002','d','\002','\360','\000','\000','d','\002','j','\002','\360','\000','\000','j','\002','k','\002','\360','\000','\000','k','\002','t','\002','\360','\000','\000','t','\002','u','\002','\360','\000','\000','u','\002','A','\003','\360','\000','\000','A','\003','B','\003','\360','\000','\000','B','\003','Q','\003','\360','\000','\000','Q','\003','Y','\003','\360','\000','\000','Y','\003','c','\003','\360','\000','\000','c','\003','i','\003','\360','\000','\000','i','\003','j','\003','\360','\000','\000','j','\003','k','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','(','\250','\001','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','<','\270','A','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031',')','\250','\022','\250','4','\250','y','\270','\013','\300','4','\300','v','\310','Q','\310','i','\320','W','b','\320','b','f','\320','f','l','\320','l','m','\320','m','v','\360','\000','\000','w','\001','B','\002','\360','\000','\000','B','\002','E','\002','\360','\000','\000','E','\002','K','\002','\360','\000','\000','K','\002','L','\002','\360','\000','\000','L','\002','U','\002','\360','\000','\000','U','\002','`','\002','\360','\000','\000','`','\002','e','\002','\360','\000','\000','e','\002','k','\002','\360','\000','\000','k','\002','l','\002','\360','\000','\000','l','\002','u','\002','\360','\000','\000','u','\002','v','\002','\360','\000','\000','v','\002','B','\003','\360','\000','\000','B','\003','C','\003','\360','\000','\000','C','\003','R','\003','\360','\000','\000','R','\003','Z','\003','\360','\000','\000','Z','\003','d','\003','\360','\000','\000','d','\003','j','\003','\360','\000','\000','j','\003','k','\003','\360','\000','\000','k','\003','l','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026',')','\250','\021','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','=','\270','Q','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031','*','\250','\"','\250','D','\260','\t','\270','\033','\300','D','\310','\006','\310','a','\310','y','\320','X','c','\320','c','g','\320','g','m','\320','m','n','\320','n','w','\360','\000','\000','x','\001','C','\002','\360','\000','\000','C','\002','F','\002','\360','\000','\000','F','\002','L','\002','\360','\000','\000','L','\002','M','\002','\360','\000','\000','M','\002','V','\002','\360','\000','\000','V','\002','a','\002','\360','\000','\000','a','\002','f','\002','\360','\000','\000','f','\002','l','\002','\360','\000','\000','l','\002','m','\002','\360','\000','\000','m','\002','v','\002','\360','\000','\000','v','\002','w','\002','\360','\000','\000','w','\002','C','\003','\360','\000','\000','C','\003','D','\003','\360','\000','\000','D','\003','S','\003','\360','\000','\000','S','\003','[','\003','\360','\000','\000','[','\003','e','\003','\360','\000','\000','e','\003','k','\003','\360','\000','\000','k','\003','l','\003','\360','\000','\000','l','\003','m','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','*','\250','!','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','>','\270','a','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031','+','\250','2','\250','T','\260','\031','\270','+','\300','T','\310','\026','\310','q','\320','P','Y','\320','Y','d','\320','d','h','\320','h','n','\320','n','o','\320','o','x','\360','\000','\000','y','\001','D','\002','\360','\000','\000','D','\002','G','\002','\360','\000','\000','G','\002','M','\002','\360','\000','\000','M','\002','N','\002','\360','\000','\000','N','\002','W','\002','\360','\000','\000','W','\002','b','\002','\360','\000','\000','b','\002','g','\002','\360','\000','\000','g','\002','m','\002','\360','\000','\000','m','\002','n','\002','\360','\000','\000','n','\002','w','\002','\360','\000','\000','w','\002','x','\002','\360','\000','\000','x','\002','D','\003','\360','\000','\000','D','\003','E','\003','\360','\000','\000','E','\003','T','\003','\360','\000','\000','T','\003','\\','\003','\360','\000','\000','\\','\003','f','\003','\360','\000','\000','f','\003','l','\003','\360','\000','\000','l','\003','m','\003','\360','\000','\000','m','\003','n','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','+','\250','1','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','?','\270','q','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031',',','\250','B','\250','d','\260',')','\270',';','\300','d','\310','&','\320','P','Q','\320','Q','Z','\320','Z','e','\320','e','i','\320','i','o','\320','o','p','\320','p','y','\360','\000','\000','z','\001','E','\002','\360','\000','\000','E','\002','H','\002','\360','\000','\000','H','\002','N','\002','\360','\000','\000','N','\002','O','\002','\360','\000','\000','O','\002','X','\002','\360','\000','\000','X','\002','c','\002','\360','\000','\000','c','\002','h','\002','\360','\000','\000','h','\002','n','\002','\360','\000','\000','n','\002','o','\002','\360','\000','\000','o','\002','x','\002','\360','\000','\000','x','\002','y','\002','\360','\000','\000','y','\002','E','\003','\360','\000','\000','E','\003','F','\003','\360','\000','\000','F','\003','U','\003','\360','\000','\000','U','\003',']','\003','\360','\000','\000',']','\003','g','\003','\360','\000','\000','g','\003','m','\003','\360','\000','\000','m','\003','n','\003','\360','\000','\000','n','\003','o','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026',',','\250','A','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','@','\300','\001','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031','-','\250','R','\250','t','\260','9','\270','K','\300','t','\310','6','\320','Q','R','\320','R','[','\320','[','f','\320','f','j','\320','j','p','\320','p','q','\320','q','z','\360','\000','\000','{','\001','F','\002','\360','\000','\000','F','\002','I','\002','\360','\000','\000','I','\002','O','\002','\360','\000','\000','O','\002','P','\002','\360','\000','\000','P','\002','Y','\002','\360','\000','\000','Y','\002','d','\002','\360','\000','\000','d','\002','i','\002','\360','\000','\000','i','\002','o','\002','\360','\000','\000','o','\002','p','\002','\360','\000','\000','p','\002','y','\002','\360','\000','\000','y','\002','z','\002','\360','\000','\000','z','\002','F','\003','\360','\000','\000','F','\003','G','\003','\360','\000','\000','G','\003','V','\003','\360','\000','\000','V','\003','^','\003','\360','\000','\000','^','\003','h','\003','\360','\000','\000','h','\003','n','\003','\360','\000','\000','n','\003','o','\003','\360','\000','\000','o','\003','p','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','-','\250','Q','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','A','\300','\021','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031','.','\250','b','\260','\004','\260','I','\270','[','\310','\004','\310','F','\320','R','S','\320','S','\\','\320','\\','g','\320','g','k','\320','k','q','\320','q','r','\320','r','{','\360','\000','\000','|','\001','G','\002','\360','\000','\000','G','\002','J','\002','\360','\000','\000','J','\002','P','\002','\360','\000','\000','P','\002','Q','\002','\360','\000','\000','Q','\002','Z','\002','\360','\000','\000','Z','\002','e','\002','\360','\000','\000','e','\002','j','\002','\360','\000','\000','j','\002','p','\002','\360','\000','\000','p','\002','q','\002','\360','\000','\000','q','\002','z','\002','\360','\000','\000','z','\002','{','\002','\360','\000','\000','{','\002','G','\003','\360','\000','\000','G','\003','H','\003','\360','\000','\000','H','\003','W','\003','\360','\000','\000','W','\003','_','\003','\360','\000','\000','_','\003','i','\003','\360','\000','\000','i','\003','o','\003','\360','\000','\000','o','\003','p','\003','\360','\000','\000','p','\003','q','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','.','\250','a','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','B','\300','!','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031','/','\250','r','\260','\024','\260','Y','\270','k','\310','\024','\310','V','\320','S','T','\320','T',']','\320',']','h','\320','h','l','\320','l','r','\320','r','s','\320','s','|','\360','\000','\000','}','\001','H','\002','\360','\000','\000','H','\002','K','\002','\360','\000','\000','K','\002','Q','\002','\360','\000','\000','Q','\002','R','\002','\360','\000','\000','R','\002','[','\002','\360','\000','\000','[','\002','f','\002','\360','\000','\000','f','\002','k','\002','\360','\000','\000','k','\002','q','\002','\360','\000','\000','q','\002','r','\002','\360','\000','\000','r','\002','{','\002','\360','\000','\000','{','\002','|','\002','\360','\000','\000','|','\002','H','\003','\360','\000','\000','H','\003','I','\003','\360','\000','\000','I','\003','X','\003','\360','\000','\000','X','\003','`','\003','\360','\000','\000','`','\003','j','\003','\360','\000','\000','j','\003','p','\003','\360','\000','\000','p','\003','q','\003','\360','\000','\000','q','\003','r','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','/','\250','q','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','C','\300','1','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031','0','\260','\002','\260','$','\260','i','\270','{','\310','$','\310','f','\320','T','U','\320','U','^','\320','^','i','\320','i','m','\320','m','s','\320','s','t','\320','t','}','\360','\000','\000','~','\001','I','\002','\360','\000','\000','I','\002','L','\002','\360','\000','\000','L','\002','R','\002','\360','\000','\000','R','\002','S','\002','\360','\000','\000','S','\002','\\','\002','\360','\000','\000','\\','\002','g','\002','\360','\000','\000','g','\002','l','\002','\360','\000','\000','l','\002','r','\002','\360','\000','\000','r','\002','s','\002','\360','\000','\000','s','\002','|','\002','\360','\000','\000','|','\002','}','\002','\360','\000','\000','}','\002','I','\003','\360','\000','\000','I','\003','J','\003','\360','\000','\000','J','\003','Y','\003','\360','\000','\000','Y','\003','a','\003','\360','\000','\000','a','\003','k','\003','\360','\000','\000','k','\003','q','\003','\360','\000','\000','q','\003','r','\003','\360','\000','\000','r','\003','s','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','0','\260','\001','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','1','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','k','\320','Y',']','\320',']','c','\320','c','d','\320','d','m','\320','m','x','\320','x','{','\360','\000','\000','|','\001','B','\002','\360','\000','\000','B','\002','C','\002','\360','\000','\000','C','\002','L','\002','\360','\000','\000','L','\002','W','\002','\360','\000','\000','W','\002','\\','\002','\360','\000','\000','\\','\002','b','\002','\360','\000','\000','b','\002','c','\002','\360','\000','\000','c','\002','l','\002','\360','\000','\000','l','\002','m','\002','\360','\000','\000','m','\002','y','\002','\360','\000','\000','y','\002','z','\002','\360','\000','\000','z','\002','I','\003','\360','\000','\000','I','\003','T','\003','\360','\000','\000','T','\003','[','\003','\360','\000','\000','[','\003','a','\003','\360','\000','\000','a','\003','b','\003','\360','\000','\000','b','\003','c','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','8','\270','\001','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\034','\240','R','\240','t','\250','9','\260','K','\270','t','\300','6','\310','\021','\310',')','\320','S','^','\320','^','b','\320','b','h','\320','h','i','\320','i','r','\320','r','}','\360','\000','\000','~','\001','A','\002','\360','\000','\000','A','\002','G','\002','\360','\000','\000','G','\002','H','\002','\360','\000','\000','H','\002','Q','\002','\360','\000','\000','Q','\002','\\','\002','\360','\000','\000','\\','\002','a','\002','\360','\000','\000','a','\002','g','\002','\360','\000','\000','g','\002','h','\002','\360','\000','\000','h','\002','q','\002','\360','\000','\000','q','\002','r','\002','\360','\000','\000','r','\002','~','\002','\360','\000','\000','~','\002','\177','\002','\360','\000','\000','\177','\002','N','\003','\360','\000','\000','N','\003','Y','\003','\360','\000','\000','Y','\003','`','\003','\360','\000','\000','`','\003','f','\003','\360','\000','\000','f','\003','g','\003','\360','\000','\000','g','\003','h','\003','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','o','\240','Q','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\210','~','\230','Q','\230','c','\240','\021','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','<','\270','A','\330','\010','\025','\220','^','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031',')','\250','\022','\250','4','\250','y','\270','\013','\300','4','\300','v','\310','Q','\310','i','\320','W','X','\320','X','d','\320','d','e','\320','e','t','\320','t','|','\360','\000','\000','}','\001','G','\002','\360','\000','\000','G','\002','M','\002','\360','\000','\000','M','\002','N','\002','\360','\000','\000','N','\002','O','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026',')','\250','\021','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\240','?','\260','!','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\026','\230','r','\240','\024','\240','Y','\250','k','\270','\024','\270','V','\300','1','\300','I','\310','Q','\310','l','\320','Z','[','\320','[','j','\320','j','u','\320','u','|','\360','\000','\000','}','\001','C','\002','\360','\000','\000','C','\002','D','\002','\360','\000','\000','D','\002','E','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','i','\230','q','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','1','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','a','\310','|','\320','[','\\','\320','\\','k','\320','k','v','\320','v','}','\360','\000','\000','~','\001','D','\002','\360','\000','\000','D','\002','E','\002','\360','\000','\000','E','\002','F','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','4','\260','A','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\030','\240','\022','\240','4','\240','y','\260','\013','\270','4','\270','v','\300','Q','\300','i','\310','q','\320','P','\\','\320','\\',']','\320',']','l','\320','l','w','\320','w','~','\360','\000','\000','\177','\001','E','\002','\360','\000','\000','E','\002','F','\002','\360','\000','\000','F','\002','G','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','k','\240','\021','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','5','\260','Q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\031','\240','\"','\240','D','\250','\t','\260','\033','\270','D','\300','\006','\300','a','\300','y','\320','P','Q','\320','Q',']','\320',']','^','\320','^','m','\320','m','x','\320','x','\177','\360','\000','\000','@','\002','F','\002','\360','\000','\000','F','\002','G','\002','\360','\000','\000','G','\002','H','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','l','\240','!','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','6','\260','a','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\032','\240','2','\240','T','\250','\031','\260','+','\270','T','\300','\026','\300','q','\310','\t','\320','Q','R','\320','R','^','\320','^','_','\320','_','n','\320','n','y','\360','\000','\000','z','\001','A','\002','\360','\000','\000','A','\002','G','\002','\360','\000','\000','G','\002','H','\002','\360','\000','\000','H','\002','I','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','m','\240','1','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#',':','\270','!','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\036','\240','r','\250','\024','\250','Y','\260','k','\300','\024','\300','V','\310','1','\310','I','\320','U','V','\320','V','b','\320','b','c','\320','c','r','\320','r','}','\360','\000','\000','~','\001','E','\002','\360','\000','\000','E','\002','K','\002','\360','\000','\000','K','\002','L','\002','\360','\000','\000','L','\002','M','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','\047','\240','q','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#',';','\270','1','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\037','\250','\002','\250','$','\250','i','\260','{','\300','$','\300','f','\310','A','\310','Y','\320','V','W','\320','W','c','\320','c','d','\320','d','s','\320','s','~','\360','\000','\000','\177','\001','F','\002','\360','\000','\000','F','\002','L','\002','\360','\000','\000','L','\002','M','\002','\360','\000','\000','M','\002','N','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','(','\250','\001','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','<','\270','A','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\320','\031',')','\250','\022','\250','4','\250','y','\270','\013','\300','4','\300','v','\310','Q','\310','i','\320','W','X','\320','X','d','\320','d','e','\320','e','t','\320','t','\177','\360','\000','\000','@','\002','G','\002','\360','\000','\000','G','\002','M','\002','\360','\000','\000','M','\002','N','\002','\360','\000','\000','N','\002','O','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026',')','\250','\021','\330','\004','\013','\210','1','\200','\001','\360','&','\000','\005','\r','\210','K','\220','q','\230','\001','\330','\004','\r','\210','[','\230','\001','\230','\021','\330','\004','\r','\210',']','\230','!','\230','7','\240','!','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\025','\260','h','\270','j','\310','\006','\310','a','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','1','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','%','\270','v','\300','Q','\300','i','\310','{','\320','Z','`','\320','`','f','\320','f','g','\320','g','p','\320','p','q','\320','q','}','\320','}','~','\360','\000','\000','\177','\001','N','\002','\360','\000','\000','N','\002','Y','\002','\360','\000','\000','Y','\002','`','\002','\360','\000','\000','`','\002','f','\002','\360','\000','\000','f','\002','g','\002','\360','\000','\000','g','\002','h','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\360','(','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','[','\230','\001','\230','\021','\330','\004','\r','\210',']','\230','!','\230','6','\240','\021','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','v','\310','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','1','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','$','\270','f','\300','A','\300','Y','\310','k','\320','Y','_','\320','_','e','\320','e','f','\320','f','o','\320','o','p','\320','p','|','\320','|','}','\360','\000','\000','~','\001','M','\002','\360','\000','\000','M','\002','X','\002','\360','\000','\000','X','\002','_','\002','\360','\000','\000','_','\002','e','\002','\360','\000','\000','e','\002','f','\002','\360','\000','\000','f','\002','g','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\360','(','\000','\005','\r','\210','K','\220','q','\230','\001','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','7','\240','!','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\025','\260','h','\270','j','\310','\005','\310','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','3','\260','1','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\027','\240','\002','\240','$','\240','i','\250','{','\270','%','\270','v','\300','Q','\300','i','\310','{','\320','Z','_','\320','_','e','\320','e','f','\320','f','o','\320','o','p','\320','p','|','\320','|','}','\360','\000','\000','~','\001','M','\002','\360','\000','\000','M','\002','X','\002','\360','\000','\000','X','\002','_','\002','\360','\000','\000','_','\002','e','\002','\360','\000','\000','e','\002','f','\002','\360','\000','\000','f','\002','g','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','j','\240','\001','\330','\004','\013','\210','1','\200','\001','\360','(','\000','\005','\r','\210','K','\220','q','\230','\001','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','7','\240','!','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','A','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\025','\260','h','\270','j','\310','\005','\310','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','4','\260','A','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\r','\016','\330','\014','\031','\230','\030','\240','\022','\240','4','\240','y','\260','\013','\270','5','\300','\006','\300','a','\300','y','\320','P','[','\320','[','`','\320','`','f','\320','f','g','\320','g','p','\320','p','q','\320','q','}','\320','}','~','\360','\000','\000','\177','\001','N','\002','\360','\000','\000','N','\002','Y','\002','\360','\000','\000','Y','\002','`','\002','\360','\000','\000','`','\002','f','\002','\360','\000','\000','f','\002','g','\002','\360','\000','\000','g','\002','h','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','k','\240','\021','\330','\004','\013','\210','1','\200','\001','\360','*','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','Q','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','7','\260','q','\330','\010','\022','\320','\022','#','\240','1','\240','H','\250','A','\330','\010','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\r','\016','\330','\014','\031','\230','\033','\240','B','\240','d','\250',')','\260',';','\270','d','\300','&','\310','\001','\310','\031','\320','R','S','\320','S','_','\320','_','`','\320','`','o','\320','o','z','\360','\000','\000','{','\001','B','\002','\360','\000','\000','B','\002','H','\002','\360','\000','\000','H','\002','I','\002','\360','\000','\000','I','\002','T','\002','\360','\000','\000','T','\002','_','\002','\360','\000','\000','_','\002','j','\002','\360','\000','\000','j','\002','p','\002','\360','\000','\000','p','\002','q','\002','\360','\000','\000','q','\002','r','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','n','\240','A','\330','\004','\013','\210',':','\220','Q','\200','\001','\360','*','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\r','\210','T','\220','\026','\220','q','\230','\001','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','Q','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','Q','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\320','#','9','\270','\021','\330','\010','\025','\320','\025','&','\240','a','\240','x','\250','q','\330','\010','\030','\320','\030',')','\250','\021','\250','(','\260','!','\330','\r','\016','\330','\014','\031','\230','\035','\240','b','\250','\004','\250','I','\260','[','\300','\004','\300','F','\310','!','\310','9','\320','T','U','\320','U','a','\320','a','b','\320','b','q','\320','q','|','\360','\000','\000','}','\001','G','\002','\360','\000','\000','G','\002','M','\002','\360','\000','\000','M','\002','N','\002','\360','\000','\000','N','\002','Y','\002','\360','\000','\000','Y','\002','d','\002','\360','\000','\000','d','\002','q','\002','\360','\000','\000','q','\002','w','\002','\360','\000','\000','w','\002','x','\002','\360','\000','\000','x','\002','y','\002','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\320','\026','&','\240','a','\330','\004','\013','\210','=','\230','\001','\200','\001','\360','2','\000','\005','\014','\210',';','\220','a','\220','q','\330','\004','\013','\210',';','\220','a','\220','q','\330','\004','\n','\210','+','\220','Q','\220','a','\330','\004','\014','\210','K','\220','q','\230','\001','\330','\004','\r','\210',']','\230','!','\230','6','\240','\026','\240','u','\250','A','\330','\004','\007','\200','w','\210','c','\220','\021','\330','\010','\017','\320','\017',' ','\240','\001','\240','\023','\240','D','\320','(','9','\270','\021','\270','#','\270','T','\320','A','R','\320','R','S','\320','S','V','\320','V','Z','\320','Z','k','\320','k','l','\320','l','o','\320','o','p','\330','\t','\n','\330','\010','\021','\220','\035','\230','a','\230','x','\240','z','\260','\024','\260','X','\270','Z','\300','t','\310','8','\320','S',']','\320',']','`','\320','`','h','\320','h','r','\320','r','w','\320','w','x','\330','\004','\r','\210','U','\220','\047','\230','\022','\230','7','\240','\"','\240','A','\330','\004','\024','\220','A','\330','\004','\005','\330','\r','\016','\330','\014','\027','\220','w','\230','e','\240','?','\260','!','\330','\010','\024','\320','\024','%','\240','Q','\240','h','\250','a','\330','\010','\024','\320','\024','%','\240','Q','\240','h','\250','a','\330','\010','\023','\320','\023','$','\240','A','\240','X','\250','Q','\330','\010','\025','\320','\025','&','\240','a','\240','x','\250','q','\330','\r','\016','\330','\014','\031','\230','\026','\230','r','\240','\024','\240','Y','\250','k','\270','\024','\270','V','\300','1','\300','I','\310','[','\320','X','\\','\320','\\','b','\320','b','c','\320','c','l','\320','l','w','\320','w','z','\360','\000','\000','{','\001','A','\002','\360','\000','\000','A','\002','B','\002','\360','\000','\000','B','\002','K','\002','\360','\000','\000','K','\002','V','\002','\360','\000','\000','V','\002','[','\002','\360','\000','\000','[','\002','a','\002','\360','\000','\000','a','\002','b','\002','\360','\000','\000','b','\002','k','\002','\360','\000','\000','k','\002','l','\002','\360','\000','\000','l','\002','x','\002','\360','\000','\000','x','\002','y','\002','\360','\000','\000','y','\002','H','\003','\360','\000','\000','H','\003','S','\003','\360','\000','\000','S','\003','\\','\003','\360','\000','\000','\\','\003','b','\003','\360','\000','\000','b','\003','c','\003','\360','\000','\000','c','\003','n','\003','\360','\000','\000','n','\003','y','\003','\360','\000','\000','y','\003','B','\004','\360','\000','\000','B','\004','H','\004','\360','\000','\000','H','\004','I','\004','\360','\000','\000','I','\004','T','\004','\360','\000','\000','T','\004','_','\004','\360','\000','\000','_','\004','g','\004','\360','\000','\000','g','\004','m','\004','\360','\000','\000','m','\004','n','\004','\360','\000','\000','n','\004','y','\004','\360','\000','\000','y','\004','D','\005','\360','\000','\000','D','\005','N','\005','\360','\000','\000','N','\005','T','\005','\360','\000','\000','T','\005','U','\005','\360','\000','\000','U','\005','V','\005','\340','\r','\016','\330','\014','\030','\230','\001','\330','\004','\025','\220','Q','\220','i','\230','q','\330','\004','\013','\210','<','\220','|','\240',';','\250','a','\200','A','\330','\010','\014','\210','A','\330','\014','\023','\220','6','\230','\021','\330','\014','\023','\220','6','\230','\021','\330','\014','\023','\220','6','\230','\021','\330','\014','\023','\220','7','\230','!','\330','\014','\023','\220','7','\230','!','\330','\014','\023','\220','8','\230','1','\330','\014','\023','\220','7','\230','!','\330','\014','\023','\220','7','\230','!','\330','\014','\023','\220','5','\230','\001','\330','\014','\023','\220','6','\230','\021','\330','\014','\023','\220',';','\230','a','\330','\014','\023','\220',':','\230','Q','\330','\014','\023','\220','8','\230','1','\330','\014','\023','\220','6','\230','\021','\200','A','\330','\010','\016','\210','i','\220','q','\330','\014','\r','\330','4','6','\260','d','\270','!','\270','5','\300','\001','\200','A','\330','\010','\017','\210','q','\200','A','\330','\010','\017','\210','q','\220','\007','\220','q','\230','\001','\200','A','\330','\010','\017','\210','t','\220','5','\230','\001','\200','A','\330','\010','\017','\210','t','\220','8','\230','1','\230','A','\200','A','\330','\010','\017','\210','u','\220','A','\220','S','\230','\001','\200','A','\330','\010','\017','\210','u','\220','B','\220','d','\230','!','\200','A','\330','\010','\017','\210','w','\220','a','\220','t','\230','8','\240','1','\200','A','\330','\010','\017','\320','\017','%','\240','Q','\240','d','\250','&','\260','\001','\260','\021','\200','A','\330','\010','\020','\220','\004','\220','A','\330','\010','#','\240','1','\330','\010','\014','\210','N','\230','%','\230','q','\330','\014','\033','\230','5','\240','\014','\250','A','\250','[','\270','\001','\270','\021','\330','\014','\017','\210','z','\230','\021','\230','.','\250','\001','\330','\020','\024','\220','H','\230','A','\330','\024',',','\250','G','\260','1','\260','A','\340','\020','(','\250','\007','\250','q','\260','\001','\330','\010','\017','\210','q','\200','A','\330','\010','\020','\220','\004','\220','A','\330','\010','#','\240','4','\320','\047','B','\300','!','\360','\006','\000','\t','\020','\210','q','\330','\010','\014','\320','\014','\034','\230','A','\330','\014','\025','\220','U','\230','-','\240','q','\250','\001','\330','\014','\017','\210','\177','\230','g','\240','U','\250','!','\330','\024','\036','\230','a','\230','x','\240','q','\330','\020','\031','\230','\026','\230','w','\240','g','\250','Q','\250','a','\330','\021',' ','\240','\007','\240','u','\250','A','\330','\024','\036','\230','a','\230','x','\240','q','\330','\020','\031','\230','\026','\230','y','\250','\002','\250','\047','\260','\021','\260','!','\330','\014','\020','\220','\007','\220','q','\230','\001','\330','\010','\014','\210','M','\230','\025','\230','a','\330','\014','\024','\220','D','\320','\030','.','\250','a','\250','q','\330','\014','\020','\220','\007','\220','q','\230','\001','\360','\006','\000','\t','\023','\220','$','\220','l','\240','\"','\240','A','\330','\010','\013','\210',':','\220','Q','\220','k','\240','\021','\330','\014','\023','\220','5','\230','\010','\240','\005','\240','Q','\330','\014','\017','\210','t','\220',':','\230','Q','\230','f','\240','A','\330','\020','\027','\220','t','\230','1','\230','A','\330','\014','\021','\220','\030','\230','\021','\230','$','\230','a','\230','v','\240','Q','\340','\014','\020','\220','\003','\220',':','\230','Y','\240','a','\240','u','\250','A','\330','\020','\025','\220','X','\230','Q','\230','j','\250','\007','\250','q','\260','\001','\330','\010','\r','\320','\r','\036','\230','a','\200','A','\330','\010','\020','\220','\004','\220','H','\230','K','\240','q','\250','\013','\260','1','\260','A','\330','\010','\013','\210','6','\220','\027','\320','\030','5','\260','Q','\330','\014','\024','\220','A','\330','\r','\023','\220','7','\320','\032','4','\260','A','\330','\014','\024','\220','A','\340','\010','\013','\210',':','\220','Q','\220','g','\230','Q','\330','\013','\022','\220','!','\330','\r','\023','\220','7','\230','!','\330','\014','\022','\220',')','\230','1','\330','\020','\021','\330','\024',' ','\240','\005','\240','[','\260','\004','\260','A','\260','V','\270','1','\330','\010','\017','\210','q','\200','A','\330','\010','\030','\230','\001','\200','A','\330','\r','\016','\330','\014','\030','\230','\001','\200','A','\330','\r','\016','\330','\014','\031','\230','\021','\200','A','\330','*','A','\320','A','X','\320','X','Y','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','*','\250','\021','\330','\010','%','\240','^','\260','8','\270','1','\270','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',';','\270','1','\270','K','\300','|','\320','S','T','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','0','\260','\001','\260','\021','\260','(','\270',')','\300','6','\310','\026','\310','r','\320','Q','Y','\320','Y','e','\320','e','p','\320','p','|','\360','\000','\000','}','\001','I','\002','\360','\000','\000','I','\002','J','\002','\360','\000','\000','J','\002','U','\002','\360','\000','\000','U','\002','V','\002','\360','\000','\000','V','\002','d','\002','\360','\000','\000','d','\002','m','\002','\360','\000','\000','m','\002','t','\002','\360','\000','\000','t','\002','z','\002','\360','\000','\000','z','\002','|','\002','\360','\000','\000','|','\002','}','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',':','\270',')','\300','<','\310','y','\320','X','Z','\320','Z','a','\320','a','c','\320','c','d','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','%','\240','A','\330','\010',' ','\240','\t','\250','\030','\260','\021','\260','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\240','\177','\260','a','\260','q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','+','\250','1','\250','A','\250','X','\260','Y','\270','f','\300','F','\310','\"','\310','H','\320','T','`','\320','`','l','\320','l','m','\320','m','x','\320','x','y','\360','\000','\000','z','\001','H','\002','\360','\000','\000','H','\002','Q','\002','\360','\000','\000','Q','\002','X','\002','\360','\000','\000','X','\002','^','\002','\360','\000','\000','^','\002','`','\002','\360','\000','\000','`','\002','a','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','5','\260','Y','\270','l','\310',')','\320','S','U','\320','U','\\','\320','\\','^','\320','^','_','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\001','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','a','\320','a','m','\320','m','n','\320','n','y','\320','y','z','\360','\000','\000','{','\001','I','\002','\360','\000','\000','I','\002','R','\002','\360','\000','\000','R','\002','Y','\002','\360','\000','\000','Y','\002','_','\002','\360','\000','\000','_','\002','a','\002','\360','\000','\000','a','\002','b','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','\047','\240','a','\330','\010','\"','\240','+','\250','X','\260','Q','\260','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','8','\270','\001','\270','\021','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','-','\250','Q','\250','a','\250','x','\260','y','\300','\006','\300','f','\310','B','\310','h','\320','V','b','\320','b','n','\320','n','o','\320','o','z','\320','z','{','\360','\000','\000','|','\001','J','\002','\360','\000','\000','J','\002','S','\002','\360','\000','\000','S','\002','Z','\002','\360','\000','\000','Z','\002','`','\002','\360','\000','\000','`','\002','b','\002','\360','\000','\000','b','\002','c','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','7','\260','y','\300','\014','\310','I','\320','U','W','\320','W','^','\320','^','`','\320','`','a','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','(','\240','q','\330','\010','#','\240','<','\250','x','\260','q','\270','\001','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','9','\270','\021','\270','!','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','.','\250','a','\250','q','\260','\010','\270','\t','\300','\026','\300','v','\310','R','\310','x','\320','W','c','\320','c','o','\320','o','p','\320','p','{','\320','{','|','\360','\000','\000','}','\001','K','\002','\360','\000','\000','K','\002','T','\002','\360','\000','\000','T','\002','[','\002','\360','\000','\000','[','\002','a','\002','\360','\000','\000','a','\002','c','\002','\360','\000','\000','c','\002','d','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','8','\270','\t','\300','\034','\310','Y','\320','V','X','\320','X','_','\320','_','a','\320','a','b','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t',')','\250','\001','\330','\010','$','\240','M','\260','\030','\270','\021','\270','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',':','\270','!','\270','1','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','/','\250','q','\260','\001','\260','\030','\270','\031','\300','&','\310','\006','\310','b','\320','P','X','\320','X','d','\320','d','p','\320','p','q','\320','q','|','\320','|','}','\360','\000','\000','~','\001','L','\002','\360','\000','\000','L','\002','U','\002','\360','\000','\000','U','\002','\\','\002','\360','\000','\000','\\','\002','b','\002','\360','\000','\000','b','\002','d','\002','\360','\000','\000','d','\002','e','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','9','\270','\031','\300',',','\310','i','\320','W','Y','\320','Y','`','\320','`','b','\320','b','c','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','*','\250','\021','\330','\010','%','\240','^','\260','8','\270','1','\270','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',';','\270','1','\270','A','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','0','\260','\001','\260','\021','\260','(','\270',')','\300','6','\310','\026','\310','r','\320','Q','Y','\320','Y','e','\320','e','q','\320','q','r','\320','r','}','\320','}','~','\360','\000','\000','\177','\001','M','\002','\360','\000','\000','M','\002','V','\002','\360','\000','\000','V','\002',']','\002','\360','\000','\000',']','\002','c','\002','\360','\000','\000','c','\002','e','\002','\360','\000','\000','e','\002','f','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',':','\270',')','\300','<','\310','y','\320','X','Z','\320','Z','a','\320','a','c','\320','c','d','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','+','\250','!','\330','\010','&','\240','o','\260','X','\270','Q','\270','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','<','\270','A','\270','Q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','1','\260','\021','\260','!','\260','8','\270','9','\300','F','\310','&','\320','P','R','\320','R','Z','\320','Z','f','\320','f','r','\320','r','s','\320','s','~','\320','~','\177','\360','\000','\000','@','\002','N','\002','\360','\000','\000','N','\002','W','\002','\360','\000','\000','W','\002','^','\002','\360','\000','\000','^','\002','d','\002','\360','\000','\000','d','\002','f','\002','\360','\000','\000','f','\002','g','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',';','\270','9','\300','L','\320','P','Y','\320','Y','[','\320','[','b','\320','b','d','\320','d','e','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','+','\250','!','\330','\010','&','\240','o','\260','X','\270','Q','\270','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','<','\270','A','\270','Q','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','1','\260','\021','\260','!','\260','8','\270','9','\300','F','\310','&','\320','P','R','\320','R','Z','\320','Z','f','\320','f','r','\320','r','s','\320','s','~','\320','~','\177','\360','\000','\000','@','\002','N','\002','\360','\000','\000','N','\002','T','\002','\360','\000','\000','T','\002','^','\002','\360','\000','\000','^','\002','d','\002','\360','\000','\000','d','\002','f','\002','\360','\000','\000','f','\002','g','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',';','\270','9','\300','L','\320','P','Y','\320','Y','[','\320','[','b','\320','b','d','\320','d','e','\340','\010','$','\240','F','\250','*','\260','A','\330','\010','\014','\210','E','\220','\025','\220','a','\220','z','\240','\021','\330','\014','\033','\230','1','\230','F','\240','!','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t',',','\250','1','\330','\010','\047','\320','\047','7','\260','x','\270','q','\300','\001','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','=','\270','Q','\270','a','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','2','\260','!','\260','1','\260','H','\270','I','\300','V','\310','6','\320','Q','S','\320','S','[','\320','[','g','\320','g','s','\320','s','t','\320','t','\177','\360','\000','\000','@','\002','A','\002','\360','\000','\000','A','\002','O','\002','\360','\000','\000','O','\002','X','\002','\360','\000','\000','X','\002','_','\002','\360','\000','\000','_','\002','e','\002','\360','\000','\000','e','\002','g','\002','\360','\000','\000','g','\002','h','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','<','\270','I','\300','\\','\320','Q','Z','\320','Z','\\','\320','\\','c','\320','c','e','\320','e','f','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','.','\250','Q','\330','\010',')','\320',')',';','\270','8','\300','1','\300','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','?','\270','q','\300','\001','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','4','\260','A','\260','Q','\260','h','\270','i','\300','v','\310','V','\320','S','U','\320','U',']','\320',']','i','\320','i','u','\320','u','v','\360','\000','\000','w','\001','B','\002','\360','\000','\000','B','\002','C','\002','\360','\000','\000','C','\002','Q','\002','\360','\000','\000','Q','\002','Z','\002','\360','\000','\000','Z','\002','a','\002','\360','\000','\000','a','\002','g','\002','\360','\000','\000','g','\002','i','\002','\360','\000','\000','i','\002','j','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','>','\270','i','\300','|','\320','S','\\','\320','\\','^','\320','^','e','\320','e','g','\320','g','h','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','2','\260','\021','\330','\010','-','\320','-','C','\300','8','\310','1','\310','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','C','\300','1','\300','A','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','8','\270','\001','\270','\021','\270','(','\300',')','\310','6','\320','Q','W','\320','W','Y','\320','Y','a','\320','a','m','\320','m','y','\320','y','z','\360','\000','\000','{','\001','F','\002','\360','\000','\000','F','\002','G','\002','\360','\000','\000','G','\002','U','\002','\360','\000','\000','U','\002','^','\002','\360','\000','\000','^','\002','e','\002','\360','\000','\000','e','\002','k','\002','\360','\000','\000','k','\002','m','\002','\360','\000','\000','m','\002','n','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','B','\300',')','\310','<','\320','W','`','\320','`','b','\320','b','i','\320','i','k','\320','k','l','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','6','\260','Q','\330','\010','1','\320','1','K','\310','8','\320','S','T','\320','T','U','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','G','\300','q','\310','\001','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','<','\270','A','\270','Q','\270','h','\300','i','\310','v','\320','U','[','\320','[',']','\320',']','e','\320','e','q','\320','q','}','\320','}','~','\360','\000','\000','\177','\001','J','\002','\360','\000','\000','J','\002','K','\002','\360','\000','\000','K','\002','Y','\002','\360','\000','\000','Y','\002','b','\002','\360','\000','\000','b','\002','i','\002','\360','\000','\000','i','\002','o','\002','\360','\000','\000','o','\002','q','\002','\360','\000','\000','q','\002','r','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','F','\300','i','\310','|','\320','[','d','\320','d','f','\320','f','m','\320','m','o','\320','o','p','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t',')','\250','\001','\330','\010','$','\240','M','\260','\030','\270','\021','\270','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',':','\270','!','\270','1','\330','\014','\025','\320','\025','&','\240','a','\240','x','\250','q','\330','\014','\025','\320','\025','&','\240','a','\240','x','\250','q','\330','\021','\022','\330','\020','\032','\320','\032','/','\250','q','\260','\001','\260','\030','\270','\031','\300','&','\310','\006','\310','b','\320','P','X','\320','X','d','\320','d','p','\320','p','q','\320','q','|','\320','|','}','\360','\000','\000','~','\001','L','\002','\360','\000','\000','L','\002','U','\002','\360','\000','\000','U','\002','[','\002','\360','\000','\000','[','\002','a','\002','\360','\000','\000','a','\002','c','\002','\360','\000','\000','c','\002','m','\002','\360','\000','\000','m','\002','v','\002','\360','\000','\000','v','\002','|','\002','\360','\000','\000','|','\002','B','\003','\360','\000','\000','B','\003','D','\003','\360','\000','\000','D','\003','E','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','9','\270','\031','\300',',','\310','i','\320','W','Y','\320','Y','`','\320','`','b','\320','b','c','\330','\010','\017','\210','y','\230','\014','\240','B','\240','h','\250','i','\260','|','\300','2','\300','X','\310','Q','\200','A','\330','+',',','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t','.','\250','Q','\330','\010',')','\320',')',';','\270','8','\300','1','\300','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','?','\270','q','\300','\001','\330','\014','\030','\230','\016','\240','a','\240','x','\250','q','\330','\014','\030','\230','\016','\240','a','\240','x','\250','q','\330','\021','\022','\330','\020','\032','\320','\032','4','\260','A','\260','Q','\260','h','\270','i','\300','v','\310','V','\320','S','U','\320','U',']','\320',']','i','\320','i','u','\320','u','v','\360','\000','\000','w','\001','B','\002','\360','\000','\000','B','\002','C','\002','\360','\000','\000','C','\002','Q','\002','\360','\000','\000','Q','\002','W','\002','\360','\000','\000','W','\002','`','\002','\360','\000','\000','`','\002','f','\002','\360','\000','\000','f','\002','h','\002','\360','\000','\000','h','\002','r','\002','\360','\000','\000','r','\002','x','\002','\360','\000','\000','x','\002','A','\003','\360','\000','\000','A','\003','G','\003','\360','\000','\000','G','\003','I','\003','\360','\000','\000','I','\003','J','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','>','\270','i','\300','|','\320','S','\\','\320','\\','^','\320','^','e','\320','e','g','\320','g','h','\340','\010','#','\240','6','\250','\031','\260','!','\330','\010','\014','\210','E','\220','\025','\220','a','\220','z','\240','\021','\330','\014','\032','\230','!','\230','6','\240','\021','\330','\010','#','\240','6','\250','\031','\260','!','\330','\010','\014','\210','E','\220','\025','\220','a','\220','z','\240','\021','\330','\014','\032','\230','!','\230','6','\240','\021','\330','\010','\017','\210','y','\230','\014','\240','B','\240','h','\250','l','\270',',','\300','b','\310','\010','\320','P','Q','\200','A','\330','+','>','\270','a','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','%','\240','A','\330','\010',' ','\240','\t','\250','\030','\260','\021','\260','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\240','\177','\260','a','\260','|','\300','1','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','+','\250','1','\250','A','\250','X','\260','Y','\270','f','\300','F','\310','\"','\310','H','\320','T','`','\320','`','l','\320','l','t','\320','t','u','\360','\000','\000','v','\001','A','\002','\360','\000','\000','A','\002','B','\002','\360','\000','\000','B','\002','P','\002','\360','\000','\000','P','\002','Y','\002','\360','\000','\000','Y','\002','`','\002','\360','\000','\000','`','\002','f','\002','\360','\000','\000','f','\002','h','\002','\360','\000','\000','h','\002','i','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','5','\260','Y','\270','l','\310',')','\320','S','U','\320','U','\\','\320','\\','^','\320','^','_','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+','@','\300','\001','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\014','\300','A','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','a','\320','a','m','\320','m','t','\320','t','u','\360','\000','\000','v','\001','A','\002','\360','\000','\000','A','\002','B','\002','\360','\000','\000','B','\002','P','\002','\360','\000','\000','P','\002','Y','\002','\360','\000','\000','Y','\002','`','\002','\360','\000','\000','`','\002','f','\002','\360','\000','\000','f','\002','h','\002','\360','\000','\000','h','\002','i','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+','@','\300','\001','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t',')','\250','\001','\330','\010','$','\240','M','\260','\030','\270','\021','\270','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',':','\270','!','\270','<','\300','q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','/','\250','q','\260','\001','\260','\030','\270','\031','\300','&','\310','\006','\310','b','\320','P','X','\320','X','d','\320','d','p','\320','p','w','\320','w','x','\360','\000','\000','y','\001','D','\002','\360','\000','\000','D','\002','E','\002','\360','\000','\000','E','\002','S','\002','\360','\000','\000','S','\002','\\','\002','\360','\000','\000','\\','\002','c','\002','\360','\000','\000','c','\002','i','\002','\360','\000','\000','i','\002','k','\002','\360','\000','\000','k','\002','l','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','9','\270','\031','\300',',','\310','i','\320','W','Y','\320','Y','`','\320','`','b','\320','b','c','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+','B','\300','!','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','%','\240','A','\330','\010',' ','\240','\t','\250','\030','\260','\021','\260','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\240','\177','\260','a','\260','|','\300','1','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','+','\250','1','\250','A','\250','X','\260','Y','\270','f','\300','F','\310','\"','\310','H','\320','T','`','\320','`','l','\320','l','u','\320','u','v','\360','\000','\000','w','\001','B','\002','\360','\000','\000','B','\002','C','\002','\360','\000','\000','C','\002','Q','\002','\360','\000','\000','Q','\002','Z','\002','\360','\000','\000','Z','\002','a','\002','\360','\000','\000','a','\002','g','\002','\360','\000','\000','g','\002','i','\002','\360','\000','\000','i','\002','j','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','5','\260','Y','\270','l','\310',')','\320','S','U','\320','U','\\','\320','\\','^','\320','^','_','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+','B','\320','B','T','\320','T','k','\320','k','\177','\360','\000','\000','@','\002','Y','\002','\360','\000','\000','Y','\002','Z','\002','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\016','\000','\t','*','\250','\021','\330','\010','%','\240','^','\260','8','\270','1','\270','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',';','\270','1','\270','L','\310','\014','\320','T','`','\320','`','l','\320','l','z','\320','z','{','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\014','\034','\320','\034','-','\250','Q','\250','h','\260','a','\330','\014','\032','\320','\032','+','\250','1','\250','H','\260','A','\330','\021','\022','\330','\020','\032','\320','\032','0','\260','\001','\260','\021','\260','(','\270',')','\300','6','\310','\026','\310','r','\320','Q','Y','\320','Y','e','\320','e','q','\320','q','}','\360','\000','\000','~','\001','J','\002','\360','\000','\000','J','\002','V','\002','\360','\000','\000','V','\002','d','\002','\360','\000','\000','d','\002','r','\002','\360','\000','\000','r','\002','s','\002','\360','\000','\000','s','\002','~','\002','\360','\000','\000','~','\002','\177','\002','\360','\000','\000','\177','\002','M','\003','\360','\000','\000','M','\003','V','\003','\360','\000','\000','V','\003',']','\003','\360','\000','\000',']','\003','c','\003','\360','\000','\000','c','\003','e','\003','\360','\000','\000','e','\003','o','\003','\360','\000','\000','o','\003','x','\003','\360','\000','\000','x','\003','E','\004','\360','\000','\000','E','\004','K','\004','\360','\000','\000','K','\004','M','\004','\360','\000','\000','M','\004','W','\004','\360','\000','\000','W','\004','`','\004','\360','\000','\000','`','\004','k','\004','\360','\000','\000','k','\004','q','\004','\360','\000','\000','q','\004','s','\004','\360','\000','\000','s','\004','t','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',':','\270',')','\300','<','\310','y','\320','X','Z','\320','Z','a','\320','a','c','\320','c','d','\330','\010','\017','\210','y','\230','\014','\240','B','\240','h','\250','j','\270','\014','\300','B','\300','h','\320','N','^','\320','^','j','\320','j','l','\320','l','t','\320','t','u','\200','A','\330','+','B','\320','B','U','\320','U','V','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\014','\300','L','\320','P','Q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','a','\320','a','m','\320','m','y','\360','\000','\000','z','\001','B','\002','\360','\000','\000','B','\002','C','\002','\360','\000','\000','C','\002','N','\002','\360','\000','\000','N','\002','O','\002','\360','\000','\000','O','\002',']','\002','\360','\000','\000',']','\002','f','\002','\360','\000','\000','f','\002','m','\002','\360','\000','\000','m','\002','s','\002','\360','\000','\000','s','\002','u','\002','\360','\000','\000','u','\002','v','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+','B','\320','B','X','\320','X','j','\320','j','k','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\016','\000','\t',')','\250','\001','\330','\010','$','\240','M','\260','\030','\270','\021','\270','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',':','\270','!','\270','<','\300','y','\320','P','Y','\320','Y','Z','\330','\014','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\014','\034','\320','\034','-','\250','Q','\250','h','\260','a','\330','\014','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\021','\022','\330','\020','\032','\320','\032','/','\250','q','\260','\001','\260','\030','\270','\031','\300','&','\310','\006','\310','b','\320','P','X','\320','X','d','\320','d','p','\320','p','y','\360','\000','\000','z','\001','C','\002','\360','\000','\000','C','\002','K','\002','\360','\000','\000','K','\002','L','\002','\360','\000','\000','L','\002','W','\002','\360','\000','\000','W','\002','X','\002','\360','\000','\000','X','\002','f','\002','\360','\000','\000','f','\002','o','\002','\360','\000','\000','o','\002','{','\002','\360','\000','\000','{','\002','A','\003','\360','\000','\000','A','\003','C','\003','\360','\000','\000','C','\003','M','\003','\360','\000','\000','M','\003','V','\003','\360','\000','\000','V','\003','c','\003','\360','\000','\000','c','\003','i','\003','\360','\000','\000','i','\003','k','\003','\360','\000','\000','k','\003','u','\003','\360','\000','\000','u','\003','~','\003','\360','\000','\000','~','\003','J','\004','\360','\000','\000','J','\004','P','\004','\360','\000','\000','P','\004','R','\004','\360','\000','\000','R','\004','S','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','9','\270','\031','\300',',','\310','i','\320','W','Y','\320','Y','`','\320','`','b','\320','b','c','\330','\010','\017','\210','y','\230','\014','\240','B','\240','h','\250','o','\270','\\','\310','\022','\310','8','\320','S','c','\320','c','o','\320','o','q','\320','q','y','\320','y','z','\200','A','\330','+','B','\320','B','[','\320','[','\\','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\016','\000','\t','\047','\240','a','\330','\010','\"','\240','+','\250','X','\260','Q','\260','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','8','\270','\001','\270','\034','\300','\\','\320','Q','R','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\014','\034','\320','\034','-','\250','Q','\250','h','\260','a','\330','\014','\032','\320','\032','+','\250','1','\250','H','\260','A','\330','\021','\022','\330','\020','\032','\320','\032','-','\250','Q','\250','a','\250','x','\260','y','\300','\006','\300','f','\310','B','\310','h','\320','V','b','\320','b','n','\320','n','z','\360','\000','\000','{','\001','I','\002','\360','\000','\000','I','\002','J','\002','\360','\000','\000','J','\002','U','\002','\360','\000','\000','U','\002','V','\002','\360','\000','\000','V','\002','d','\002','\360','\000','\000','d','\002','m','\002','\360','\000','\000','m','\002','t','\002','\360','\000','\000','t','\002','z','\002','\360','\000','\000','z','\002','|','\002','\360','\000','\000','|','\002','F','\003','\360','\000','\000','F','\003','O','\003','\360','\000','\000','O','\003','\\','\003','\360','\000','\000','\\','\003','b','\003','\360','\000','\000','b','\003','d','\003','\360','\000','\000','d','\003','n','\003','\360','\000','\000','n','\003','w','\003','\360','\000','\000','w','\003','B','\004','\360','\000','\000','B','\004','H','\004','\360','\000','\000','H','\004','J','\004','\360','\000','\000','J','\004','K','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','7','\260','y','\300','\014','\310','I','\320','U','W','\320','W','^','\320','^','`','\320','`','a','\330','\010','\017','\210','y','\230','\014','\240','B','\240','h','\250','j','\270','\014','\300','B','\300','h','\320','N','^','\320','^','j','\320','j','l','\320','l','t','\320','t','u','\200','A','\330','+','D','\300','A','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\014','\300','A','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','a','\320','a','m','\320','m','{','\320','{','|','\360','\000','\000','}','\001','H','\002','\360','\000','\000','H','\002','I','\002','\360','\000','\000','I','\002','W','\002','\360','\000','\000','W','\002','`','\002','\360','\000','\000','`','\002','g','\002','\360','\000','\000','g','\002','m','\002','\360','\000','\000','m','\002','o','\002','\360','\000','\000','o','\002','p','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','+','D','\320','D',']','\320',']','v','\320','v','w','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t','+','\250','!','\330','\010','&','\240','o','\260','X','\270','Q','\270','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','<','\270','A','\270','\\','\310','\036','\320','W','e','\320','e','f','\330','\014','\027','\320','\027','(','\250','\001','\250','\030','\260','\021','\330','\014','\027','\320','\027','(','\250','\001','\250','\030','\260','\021','\330','\021','\022','\330','\020','\032','\320','\032','1','\260','\021','\260','!','\260','8','\270','9','\300','F','\310','&','\320','P','R','\320','R','Z','\320','Z','f','\320','f','r','\360','\000','\000','s','\001','A','\002','\360','\000','\000','A','\002','O','\002','\360','\000','\000','O','\002',']','\002','\360','\000','\000',']','\002','^','\002','\360','\000','\000','^','\002','i','\002','\360','\000','\000','i','\002','j','\002','\360','\000','\000','j','\002','x','\002','\360','\000','\000','x','\002','A','\003','\360','\000','\000','A','\003','I','\003','\360','\000','\000','I','\003','O','\003','\360','\000','\000','O','\003','Q','\003','\360','\000','\000','Q','\003','[','\003','\360','\000','\000','[','\003','d','\003','\360','\000','\000','d','\003','l','\003','\360','\000','\000','l','\003','r','\003','\360','\000','\000','r','\003','t','\003','\360','\000','\000','t','\003','u','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',';','\270','9','\300','L','\320','P','Y','\320','Y','[','\320','[','b','\320','b','d','\320','d','e','\330','\010','\017','\210','y','\230','\014','\240','B','\240','h','\250','k','\270','\034','\300','R','\300','x','\310','q','\200','A','\330','+','E','\300','Q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','-','\250','A','\330','\010','(','\320','(','9','\270','\030','\300','\021','\300','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','>','\270','a','\270','|','\310','1','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','3','\260','1','\260','A','\260','X','\270','Y','\300','f','\310','F','\320','R','T','\320','T','\\','\320','\\','h','\320','h','t','\360','\000','\000','u','\001','A','\002','\360','\000','\000','A','\002','B','\002','\360','\000','\000','B','\002','M','\002','\360','\000','\000','M','\002','N','\002','\360','\000','\000','N','\002','\\','\002','\360','\000','\000','\\','\002','e','\002','\360','\000','\000','e','\002','l','\002','\360','\000','\000','l','\002','r','\002','\360','\000','\000','r','\002','t','\002','\360','\000','\000','t','\002','u','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','=','\270','Y','\300','l','\320','R','[','\320','[',']','\320',']','d','\320','d','f','\320','f','g','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330',',','E','\300','Q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\r','\300','Q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','a','\320','a','n','\320','n','|','\320','|','}','\360','\000','\000','~','\001','I','\002','\360','\000','\000','I','\002','J','\002','\360','\000','\000','J','\002','X','\002','\360','\000','\000','X','\002','a','\002','\360','\000','\000','a','\002','h','\002','\360','\000','\000','h','\002','n','\002','\360','\000','\000','n','\002','p','\002','\360','\000','\000','p','\002','q','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\330','-','.','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\016','\000','\t','*','\250','\021','\330','\010','%','\240','^','\260','8','\270','1','\270','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',';','\270','1','\270','A','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\014','\034','\320','\034','-','\250','Q','\250','h','\260','a','\330','\014','\032','\320','\032','+','\250','1','\250','H','\260','A','\330','\021','\022','\330','\020','\032','\320','\032','0','\260','\001','\260','\021','\260','(','\270',')','\300','6','\310','\026','\310','r','\320','Q','Y','\320','Y','e','\320','e','s','\320','s','t','\320','t','\177','\360','\000','\000','@','\002','A','\002','\360','\000','\000','A','\002','O','\002','\360','\000','\000','O','\002','X','\002','\360','\000','\000','X','\002','_','\002','\360','\000','\000','_','\002','e','\002','\360','\000','\000','e','\002','g','\002','\360','\000','\000','g','\002','q','\002','\360','\000','\000','q','\002','z','\002','\360','\000','\000','z','\002','G','\003','\360','\000','\000','G','\003','M','\003','\360','\000','\000','M','\003','O','\003','\360','\000','\000','O','\003','Y','\003','\360','\000','\000','Y','\003','b','\003','\360','\000','\000','b','\003','m','\003','\360','\000','\000','m','\003','s','\003','\360','\000','\000','s','\003','u','\003','\360','\000','\000','u','\003','v','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',':','\270',')','\300','<','\310','y','\320','X','Z','\320','Z','a','\320','a','c','\320','c','d','\330','\010','\017','\210','y','\230','\014','\240','B','\240','h','\250','j','\270','\014','\300','B','\300','h','\320','N','^','\320','^','j','\320','j','l','\320','l','t','\320','t','u','\200','A','\330','-','.','\330','\010','#','\240','=','\260','\001','\260','\021','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','\047','\240','a','\330','\010','\"','\240','+','\250','X','\260','Q','\260','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','8','\270','\001','\270','\021','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','-','\250','Q','\250','a','\250','x','\260','y','\300','\010','\310','\006','\310','b','\320','P','X','\320','X','d','\320','d','p','\320','p','q','\320','q','|','\320','|','}','\360','\000','\000','~','\001','L','\002','\360','\000','\000','L','\002','U','\002','\360','\000','\000','U','\002','\\','\002','\360','\000','\000','\\','\002','b','\002','\360','\000','\000','b','\002','d','\002','\360','\000','\000','d','\002','e','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','7','\260','y','\300','\014','\310','I','\320','U','W','\320','W','^','\320','^','`','\320','`','a','\330','\010','\017','\210','x','\220','|','\240','2','\240','Z','\250','q','\200','A','\330','-','D','\320','D','W','\320','W','X','\330','\010','#','\240','=','\260','\001','\260','\021','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\014','\300','L','\320','P','Q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','x','\300','v','\310','R','\310','x','\320','W','c','\320','c','o','\320','o','{','\360','\000','\000','|','\001','D','\002','\360','\000','\000','D','\002','E','\002','\360','\000','\000','E','\002','P','\002','\360','\000','\000','P','\002','Q','\002','\360','\000','\000','Q','\002','_','\002','\360','\000','\000','_','\002','h','\002','\360','\000','\000','h','\002','o','\002','\360','\000','\000','o','\002','u','\002','\360','\000','\000','u','\002','w','\002','\360','\000','\000','w','\002','x','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','Z','\250','q','\200','A','\330','-','E','\300','Q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t','\047','\240','a','\330','\010','\"','\240','+','\250','X','\260','Q','\260','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','8','\270','\001','\270','\033','\300','A','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','-','\250','Q','\250','a','\250','x','\260','y','\300','\006','\300','f','\310','B','\310','h','\320','V','b','\320','b','m','\320','m','x','\320','x','y','\360','\000','\000','z','\001','E','\002','\360','\000','\000','E','\002','F','\002','\360','\000','\000','F','\002','T','\002','\360','\000','\000','T','\002',']','\002','\360','\000','\000',']','\002','d','\002','\360','\000','\000','d','\002','j','\002','\360','\000','\000','j','\002','l','\002','\360','\000','\000','l','\002','v','\002','\360','\000','\000','v','\002','\177','\002','\360','\000','\000','\177','\002','F','\003','\360','\000','\000','F','\003','L','\003','\360','\000','\000','L','\003','N','\003','\360','\000','\000','N','\003','O','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','7','\260','y','\300','\014','\310','I','\320','U','W','\320','W','^','\320','^','`','\320','`','a','\330','\010','\017','\210','y','\230','\014','\240','B','\240','h','\250','j','\270','\014','\300','B','\300','h','\310','a','\200','A','\330','.','D','\300','A','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t','*','\250','\021','\330','\010','%','\240','^','\260','8','\270','1','\270','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',';','\270','1','\270','J','\300','a','\330','\014','\033','\230','>','\250','\021','\250','(','\260','!','\330','\014','\032','\230','.','\250','\001','\250','\030','\260','\021','\330','\021','\022','\330','\020','\032','\320','\032','0','\260','\001','\260','\021','\260','(','\270',')','\300','6','\310','\026','\310','r','\320','Q','Y','\320','Y','b','\320','b','g','\320','g','m','\320','m','o','\320','o','w','\360','\000','\000','x','\001','D','\002','\360','\000','\000','D','\002','N','\002','\360','\000','\000','N','\002','Y','\002','\360','\000','\000','Y','\002','Z','\002','\360','\000','\000','Z','\002','e','\002','\360','\000','\000','e','\002','f','\002','\360','\000','\000','f','\002','t','\002','\360','\000','\000','t','\002','z','\002','\360','\000','\000','z','\002','F','\003','\360','\000','\000','F','\003','L','\003','\360','\000','\000','L','\003','N','\003','\360','\000','\000','N','\003','X','\003','\360','\000','\000','X','\003','^','\003','\360','\000','\000','^','\003','i','\003','\360','\000','\000','i','\003','o','\003','\360','\000','\000','o','\003','q','\003','\360','\000','\000','q','\003','r','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',':','\270',')','\300','<','\310','y','\320','X','Z','\320','Z','a','\320','a','c','\320','c','d','\330','\010','\017','\210','y','\230','\014','\240','B','\240','f','\250','G','\260','?','\300',',','\310','b','\320','P','V','\320','V',']','\320',']','^','\200','A','\330','0','1','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\001','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','^','\320','^','c','\320','c','i','\320','i','k','\320','k','s','\320','s','\177','\360','\000','\000','@','\002','L','\002','\360','\000','\000','L','\002','M','\002','\360','\000','\000','M','\002','X','\002','\360','\000','\000','X','\002','Y','\002','\360','\000','\000','Y','\002','g','\002','\360','\000','\000','g','\002','p','\002','\360','\000','\000','p','\002','w','\002','\360','\000','\000','w','\002','}','\002','\360','\000','\000','}','\002','\177','\002','\360','\000','\000','\177','\002','@','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','7','\260','!','\200','A','\330','0','1','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','*','\250','\021','\330','\010','%','\240','^','\260','8','\270','1','\270','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',';','\270','1','\270','A','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','0','\260','\001','\260','\021','\260','(','\270',')','\300','6','\310','\026','\310','r','\320','Q','Y','\320','Y','b','\320','b','g','\320','g','m','\320','m','o','\320','o','w','\360','\000','\000','x','\001','D','\002','\360','\000','\000','D','\002','P','\002','\360','\000','\000','P','\002','Q','\002','\360','\000','\000','Q','\002','\\','\002','\360','\000','\000','\\','\002',']','\002','\360','\000','\000',']','\002','k','\002','\360','\000','\000','k','\002','t','\002','\360','\000','\000','t','\002','{','\002','\360','\000','\000','{','\002','A','\003','\360','\000','\000','A','\003','C','\003','\360','\000','\000','C','\003','D','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',':','\270',')','\300','<','\310','y','\320','X','Z','\320','Z','a','\320','a','c','\320','c','d','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','7','\260','!','\200','A','\330','0','1','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','+','\250','!','\330','\010','&','\240','o','\260','X','\270','Q','\270','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','<','\270','A','\270','Q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','1','\260','\021','\260','!','\260','8','\270','9','\300','F','\310','&','\320','P','R','\320','R','Z','\320','Z','c','\320','c','h','\320','h','n','\320','n','p','\320','p','x','\360','\000','\000','y','\001','E','\002','\360','\000','\000','E','\002','Q','\002','\360','\000','\000','Q','\002','R','\002','\360','\000','\000','R','\002',']','\002','\360','\000','\000',']','\002','^','\002','\360','\000','\000','^','\002','l','\002','\360','\000','\000','l','\002','u','\002','\360','\000','\000','u','\002','|','\002','\360','\000','\000','|','\002','B','\003','\360','\000','\000','B','\003','D','\003','\360','\000','\000','D','\003','E','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',';','\270','9','\300','L','\320','P','Y','\320','Y','[','\320','[','b','\320','b','d','\320','d','e','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','7','\260','!','\200','A','\330','0','1','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t','(','\240','q','\330','\010','#','\240','<','\250','x','\260','q','\270','\001','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','9','\270','\021','\270','!','\330','\014','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\014','\031','\320','\031','*','\250','!','\250','8','\260','1','\330','\021','\022','\330','\020','\032','\320','\032','.','\250','a','\250','q','\260','\010','\270','\t','\300','\026','\300','v','\310','R','\310','x','\320','W','`','\320','`','e','\320','e','k','\320','k','m','\320','m','u','\360','\000','\000','v','\001','B','\002','\360','\000','\000','B','\002','N','\002','\360','\000','\000','N','\002','O','\002','\360','\000','\000','O','\002','Z','\002','\360','\000','\000','Z','\002','[','\002','\360','\000','\000','[','\002','i','\002','\360','\000','\000','i','\002','r','\002','\360','\000','\000','r','\002','~','\002','\360','\000','\000','~','\002','D','\003','\360','\000','\000','D','\003','F','\003','\360','\000','\000','F','\003','P','\003','\360','\000','\000','P','\003','Y','\003','\360','\000','\000','Y','\003','c','\003','\360','\000','\000','c','\003','i','\003','\360','\000','\000','i','\003','k','\003','\360','\000','\000','k','\003','l','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','8','\270','\t','\300','\034','\310','Y','\320','V','X','\320','X','_','\320','_','a','\320','a','b','\330','\010','\017','\210','y','\230','\014','\240','B','\240','f','\250','G','\260','?','\300',',','\310','b','\320','P','V','\320','V',']','\320',']','^','\200','A','\330','0','1','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\016','\000','\t','+','\250','!','\330','\010','&','\240','o','\260','X','\270','Q','\270','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','<','\270','A','\270','Q','\330','\014','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\014','\034','\320','\034','-','\250','Q','\250','h','\260','a','\330','\014','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\021','\022','\330','\020','\032','\320','\032','1','\260','\021','\260','!','\260','8','\270','9','\300','F','\310','&','\320','P','R','\320','R','Z','\320','Z','c','\320','c','h','\320','h','n','\320','n','p','\320','p','x','\360','\000','\000','y','\001','E','\002','\360','\000','\000','E','\002','Q','\002','\360','\000','\000','Q','\002','R','\002','\360','\000','\000','R','\002',']','\002','\360','\000','\000',']','\002','^','\002','\360','\000','\000','^','\002','l','\002','\360','\000','\000','l','\002','u','\002','\360','\000','\000','u','\002','A','\003','\360','\000','\000','A','\003','G','\003','\360','\000','\000','G','\003','I','\003','\360','\000','\000','I','\003','S','\003','\360','\000','\000','S','\003','\\','\003','\360','\000','\000','\\','\003','i','\003','\360','\000','\000','i','\003','o','\003','\360','\000','\000','o','\003','q','\003','\360','\000','\000','q','\003','{','\003','\360','\000','\000','{','\003','D','\004','\360','\000','\000','D','\004','P','\004','\360','\000','\000','P','\004','V','\004','\360','\000','\000','V','\004','X','\004','\360','\000','\000','X','\004','Y','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',';','\270','9','\300','L','\320','P','Y','\320','Y','[','\320','[','b','\320','b','d','\320','d','e','\330','\010','\017','\210','y','\230','\014','\240','B','\240','f','\250','G','\260','?','\300',',','\310','b','\320','P','V','\320','V',']','\320',']','m','\320','m','y','\320','y','{','\360','\000','\000','|','\001','B','\002','\360','\000','\000','B','\002','I','\002','\360','\000','\000','I','\002','J','\002','\200','A','\330','0','F','\300','a','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\014','\300','A','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','^','\320','^','c','\320','c','i','\320','i','k','\320','k','s','\320','s','\177','\360','\000','\000','@','\002','L','\002','\360','\000','\000','L','\002','W','\002','\360','\000','\000','W','\002','X','\002','\360','\000','\000','X','\002','c','\002','\360','\000','\000','c','\002','d','\002','\360','\000','\000','d','\002','r','\002','\360','\000','\000','r','\002','{','\002','\360','\000','\000','{','\002','B','\003','\360','\000','\000','B','\003','H','\003','\360','\000','\000','H','\003','J','\003','\360','\000','\000','J','\003','K','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','7','\260','!','\200','A','\330','0','G','\300','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','%','\240','A','\330','\010',' ','\240','\t','\250','\030','\260','\021','\260','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\240','\177','\260','a','\260','|','\300','1','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','+','\250','1','\250','A','\250','X','\260','Y','\270','f','\300','F','\310','\"','\310','H','\320','T',']','\320',']','b','\320','b','h','\320','h','j','\320','j','r','\320','r','~','\360','\000','\000','\177','\001','K','\002','\360','\000','\000','K','\002','W','\002','\360','\000','\000','W','\002','X','\002','\360','\000','\000','X','\002','c','\002','\360','\000','\000','c','\002','d','\002','\360','\000','\000','d','\002','r','\002','\360','\000','\000','r','\002','{','\002','\360','\000','\000','{','\002','B','\003','\360','\000','\000','B','\003','H','\003','\360','\000','\000','H','\003','J','\003','\360','\000','\000','J','\003','K','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','5','\260','Y','\270','l','\310',')','\320','S','U','\320','U','\\','\320','\\','^','\320','^','_','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','7','\260','!','\200','A','\330','0','G','\300','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','(','\240','q','\330','\010','#','\240','<','\250','x','\260','q','\270','\001','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','9','\270','\021','\270',',','\300','a','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','.','\250','a','\250','q','\260','\010','\270','\t','\300','\026','\300','v','\310','R','\310','x','\320','W','`','\320','`','e','\320','e','k','\320','k','m','\320','m','u','\360','\000','\000','v','\001','B','\002','\360','\000','\000','B','\002','N','\002','\360','\000','\000','N','\002','Z','\002','\360','\000','\000','Z','\002','[','\002','\360','\000','\000','[','\002','f','\002','\360','\000','\000','f','\002','g','\002','\360','\000','\000','g','\002','u','\002','\360','\000','\000','u','\002','~','\002','\360','\000','\000','~','\002','E','\003','\360','\000','\000','E','\003','K','\003','\360','\000','\000','K','\003','M','\003','\360','\000','\000','M','\003','N','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','8','\270','\t','\300','\034','\310','Y','\320','V','X','\320','X','_','\320','_','a','\320','a','b','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','7','\260','!','\200','A','\330','0','G','\320','G','`','\320','`','a','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','%','\240','A','\330','\010',' ','\240','\t','\250','\030','\260','\021','\260','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\240','\177','\260','a','\260','|','\300','<','\310','q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','+','\250','1','\250','A','\250','X','\260','Y','\270','f','\300','F','\310','\"','\310','H','\320','T',']','\320',']','b','\320','b','h','\320','h','j','\320','j','r','\320','r','~','\360','\000','\000','\177','\001','K','\002','\360','\000','\000','K','\002','W','\002','\360','\000','\000','W','\002','e','\002','\360','\000','\000','e','\002','f','\002','\360','\000','\000','f','\002','q','\002','\360','\000','\000','q','\002','r','\002','\360','\000','\000','r','\002','@','\003','\360','\000','\000','@','\003','I','\003','\360','\000','\000','I','\003','P','\003','\360','\000','\000','P','\003','V','\003','\360','\000','\000','V','\003','X','\003','\360','\000','\000','X','\003','Y','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','5','\260','Y','\270','l','\310',')','\320','S','U','\320','U','\\','\320','\\','^','\320','^','_','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','7','\260','!','\200','A','\330','2','3','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\001','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','^','\320','^','e','\320','e','k','\320','k','m','\320','m','u','\360','\000','\000','v','\001','B','\002','\360','\000','\000','B','\002','N','\002','\360','\000','\000','N','\002','O','\002','\360','\000','\000','O','\002','Z','\002','\360','\000','\000','Z','\002','[','\002','\360','\000','\000','[','\002','i','\002','\360','\000','\000','i','\002','r','\002','\360','\000','\000','r','\002','y','\002','\360','\000','\000','y','\002','\177','\002','\360','\000','\000','\177','\002','A','\003','\360','\000','\000','A','\003','B','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','9','\260','A','\200','A','\330','2','3','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t',')','\250','\001','\330','\010','$','\240','M','\260','\030','\270','\021','\270','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',':','\270','!','\270','1','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','/','\250','q','\260','\001','\260','\030','\270','\031','\300','&','\310','\006','\310','b','\320','P','X','\320','X','a','\320','a','h','\320','h','n','\320','n','p','\320','p','x','\360','\000','\000','y','\001','E','\002','\360','\000','\000','E','\002','Q','\002','\360','\000','\000','Q','\002','R','\002','\360','\000','\000','R','\002',']','\002','\360','\000','\000',']','\002','^','\002','\360','\000','\000','^','\002','l','\002','\360','\000','\000','l','\002','u','\002','\360','\000','\000','u','\002','|','\002','\360','\000','\000','|','\002','B','\003','\360','\000','\000','B','\003','D','\003','\360','\000','\000','D','\003','E','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','9','\270','\031','\300',',','\310','i','\320','W','Y','\320','Y','`','\320','`','b','\320','b','c','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','9','\260','A','\200','A','\330','3','4','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','#','\240','=','\260','\001','\260','\021','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','\047','\240','a','\330','\010','\"','\240','+','\250','X','\260','Q','\260','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','8','\270','\001','\270','\021','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','-','\250','Q','\250','a','\250','x','\260','y','\300','\006','\300','f','\310','B','\310','h','\320','V','_','\320','_','g','\320','g','m','\320','m','o','\320','o','w','\360','\000','\000','x','\001','D','\002','\360','\000','\000','D','\002','P','\002','\360','\000','\000','P','\002','Q','\002','\360','\000','\000','Q','\002','\\','\002','\360','\000','\000','\\','\002',']','\002','\360','\000','\000',']','\002','k','\002','\360','\000','\000','k','\002','t','\002','\360','\000','\000','t','\002','{','\002','\360','\000','\000','{','\002','A','\003','\360','\000','\000','A','\003','C','\003','\360','\000','\000','C','\003','D','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','7','\260','y','\300','\014','\310','I','\320','U','W','\320','W','^','\320','^','`','\320','`','a','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250',':','\260','Q','\200','A','\330','3','4','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','Y','\240','a','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','\047','\240','a','\330','\010','\"','\240','+','\250','X','\260','Q','\260','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','8','\270','\001','\270','\021','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','-','\250','Q','\250','a','\250','x','\260','y','\300','\007','\300','v','\310','R','\310','x','\320','W','`','\320','`','g','\320','g','m','\320','m','o','\320','o','w','\360','\000','\000','x','\001','D','\002','\360','\000','\000','D','\002','P','\002','\360','\000','\000','P','\002','Q','\002','\360','\000','\000','Q','\002','\\','\002','\360','\000','\000','\\','\002',']','\002','\360','\000','\000',']','\002','k','\002','\360','\000','\000','k','\002','t','\002','\360','\000','\000','t','\002','{','\002','\360','\000','\000','{','\002','A','\003','\360','\000','\000','A','\003','C','\003','\360','\000','\000','C','\003','D','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','7','\260','y','\300','\014','\310','I','\320','U','W','\320','W','^','\320','^','`','\320','`','a','\330','\010','\017','\210','x','\220','|','\240','2','\240','W','\250','I','\260','Q','\200','A','\330','3','4','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','Y','\240','a','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t',')','\250','\001','\330','\010','$','\240','M','\260','\030','\270','\021','\270','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',':','\270','!','\270','1','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','/','\250','q','\260','\001','\260','\030','\270','\031','\300','\047','\310','\026','\310','r','\320','Q','Y','\320','Y','b','\320','b','i','\320','i','o','\320','o','q','\320','q','y','\360','\000','\000','z','\001','F','\002','\360','\000','\000','F','\002','R','\002','\360','\000','\000','R','\002','S','\002','\360','\000','\000','S','\002','^','\002','\360','\000','\000','^','\002','_','\002','\360','\000','\000','_','\002','m','\002','\360','\000','\000','m','\002','v','\002','\360','\000','\000','v','\002','}','\002','\360','\000','\000','}','\002','C','\003','\360','\000','\000','C','\003','E','\003','\360','\000','\000','E','\003','F','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','9','\270','\031','\300',',','\310','i','\320','W','Y','\320','Y','`','\320','`','b','\320','b','c','\330','\010','\017','\210','x','\220','|','\240','2','\240','W','\250','I','\260','Q','\200','A','\330','3','I','\320','I','\\','\320','\\',']','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','$','\240','M','\260','\021','\260','!','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','\047','\240','a','\330','\010','\"','\240','+','\250','X','\260','Q','\260','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','8','\270','\001','\270','\033','\300','K','\310','q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','-','\250','Q','\250','a','\250','x','\260','y','\300','\006','\300','f','\310','B','\310','h','\320','V','_','\320','_','h','\320','h','n','\320','n','p','\320','p','x','\360','\000','\000','y','\001','E','\002','\360','\000','\000','E','\002','P','\002','\360','\000','\000','P','\002','[','\002','\360','\000','\000','[','\002','c','\002','\360','\000','\000','c','\002','d','\002','\360','\000','\000','d','\002','o','\002','\360','\000','\000','o','\002','p','\002','\360','\000','\000','p','\002','~','\002','\360','\000','\000','~','\002','G','\003','\360','\000','\000','G','\003','N','\003','\360','\000','\000','N','\003','T','\003','\360','\000','\000','T','\003','V','\003','\360','\000','\000','V','\003','W','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','7','\260','y','\300','\014','\310','I','\320','U','W','\320','W','^','\320','^','`','\320','`','a','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250',';','\260','a','\200','A','\330','3','Q','\320','Q','t','\360','\000','\000','u','\001','T','\002','\360','\000','\000','T','\002','v','\002','\360','\000','\000','v','\002','Z','\003','\360','\000','\000','Z','\003','z','\003','\360','\000','\000','z','\003',']','\004','\360','\000','\000',']','\004','^','\004','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t',')','\250','\001','\330','\010','$','\240','M','\260','\030','\270','\021','\270','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',':','\270','!','\270','<','\320','G','X','\320','X','n','\360','\000','\000','o','\001','A','\002','\360','\000','\000','A','\002','V','\002','\360','\000','\000','V','\002','m','\002','\360','\000','\000','m','\002','@','\003','\360','\000','\000','@','\003','A','\003','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','/','\250','q','\260','\001','\260','\030','\270','\031','\300','&','\310','\006','\310','b','\320','P','X','\320','X','a','\320','a','f','\320','f','l','\320','l','n','\320','n','v','\360','\000','\000','w','\001','C','\002','\360','\000','\000','C','\002','O','\002','\360','\000','\000','O','\002','`','\002','\360','\000','\000','`','\002','v','\002','\360','\000','\000','v','\002','H','\003','\360','\000','\000','H','\003',']','\003','\360','\000','\000',']','\003','t','\003','\360','\000','\000','t','\003','G','\004','\360','\000','\000','G','\004',']','\004','\360','\000','\000',']','\004','^','\004','\360','\000','\000','^','\004','i','\004','\360','\000','\000','i','\004','j','\004','\360','\000','\000','j','\004','x','\004','\360','\000','\000','x','\004','A','\005','\360','\000','\000','A','\005','H','\005','\360','\000','\000','H','\005','N','\005','\360','\000','\000','N','\005','P','\005','\360','\000','\000','P','\005','Q','\005','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','9','\270','\031','\300',',','\310','i','\320','W','Y','\320','Y','`','\320','`','b','\320','b','c','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','7','\260','!','\200','A','\330','4','5','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','#','\240','=','\260','\001','\260','\021','\330','\010','\035','\230','Y','\240','a','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\001','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','w','\300','f','\310','B','\310','h','\320','V','_','\320','_','g','\320','g','m','\320','m','o','\320','o','w','\360','\000','\000','x','\001','D','\002','\360','\000','\000','D','\002','P','\002','\360','\000','\000','P','\002','Q','\002','\360','\000','\000','Q','\002','\\','\002','\360','\000','\000','\\','\002',']','\002','\360','\000','\000',']','\002','k','\002','\360','\000','\000','k','\002','t','\002','\360','\000','\000','t','\002','{','\002','\360','\000','\000','{','\002','A','\003','\360','\000','\000','A','\003','C','\003','\360','\000','\000','C','\003','D','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','W','\250','J','\260','a','\200','A','\330','5','J','\310','!','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\016','\300','a','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','^','\320','^','c','\320','c','i','\320','i','k','\320','k','s','\320','s','\177','\360','\000','\000','@','\002','N','\002','\360','\000','\000','N','\002','W','\002','\360','\000','\000','W','\002','X','\002','\360','\000','\000','X','\002','c','\002','\360','\000','\000','c','\002','d','\002','\360','\000','\000','d','\002','r','\002','\360','\000','\000','r','\002','{','\002','\360','\000','\000','{','\002','B','\003','\360','\000','\000','B','\003','H','\003','\360','\000','\000','H','\003','J','\003','\360','\000','\000','J','\003','K','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','7','\260','!','\200','A','\330','7','8','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','%','\240','A','\330','\010',' ','\240','\t','\250','\030','\260','\021','\260','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\240','\177','\260','a','\260','q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','+','\250','1','\250','A','\250','X','\260','Y','\270','f','\300','F','\310','\"','\310','H','\320','T',']','\320',']','b','\320','b','h','\320','h','j','\320','j','r','\320','r','{','\360','\000','\000','|','\001','C','\002','\360','\000','\000','C','\002','I','\002','\360','\000','\000','I','\002','K','\002','\360','\000','\000','K','\002','S','\002','\360','\000','\000','S','\002','_','\002','\360','\000','\000','_','\002','k','\002','\360','\000','\000','k','\002','l','\002','\360','\000','\000','l','\002','w','\002','\360','\000','\000','w','\002','x','\002','\360','\000','\000','x','\002','F','\003','\360','\000','\000','F','\003','O','\003','\360','\000','\000','O','\003','V','\003','\360','\000','\000','V','\003','\\','\003','\360','\000','\000','\\','\003','^','\003','\360','\000','\000','^','\003','_','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','5','\260','Y','\270','l','\310',')','\320','S','U','\320','U','\\','\320','\\','^','\320','^','_','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\t','\270','\021','\200','A','\330','7','8','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\001','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','^','\320','^','c','\320','c','i','\320','i','k','\320','k','s','\320','s','|','\360','\000','\000','}','\001','D','\002','\360','\000','\000','D','\002','J','\002','\360','\000','\000','J','\002','L','\002','\360','\000','\000','L','\002','T','\002','\360','\000','\000','T','\002','`','\002','\360','\000','\000','`','\002','l','\002','\360','\000','\000','l','\002','m','\002','\360','\000','\000','m','\002','x','\002','\360','\000','\000','x','\002','y','\002','\360','\000','\000','y','\002','G','\003','\360','\000','\000','G','\003','P','\003','\360','\000','\000','P','\003','W','\003','\360','\000','\000','W','\003',']','\003','\360','\000','\000',']','\003','_','\003','\360','\000','\000','_','\003','`','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\t','\270','\021','\200','A','\330','7','8','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','\047','\240','a','\330','\010','\"','\240','+','\250','X','\260','Q','\260','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','8','\270','\001','\270','\021','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','-','\250','Q','\250','a','\250','x','\260','y','\300','\006','\300','f','\310','B','\310','h','\320','V','_','\320','_','d','\320','d','j','\320','j','l','\320','l','t','\320','t','}','\360','\000','\000','~','\001','E','\002','\360','\000','\000','E','\002','K','\002','\360','\000','\000','K','\002','M','\002','\360','\000','\000','M','\002','U','\002','\360','\000','\000','U','\002','a','\002','\360','\000','\000','a','\002','m','\002','\360','\000','\000','m','\002','n','\002','\360','\000','\000','n','\002','y','\002','\360','\000','\000','y','\002','z','\002','\360','\000','\000','z','\002','H','\003','\360','\000','\000','H','\003','Q','\003','\360','\000','\000','Q','\003','X','\003','\360','\000','\000','X','\003','^','\003','\360','\000','\000','^','\003','`','\003','\360','\000','\000','`','\003','a','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','7','\260','y','\300','\014','\310','I','\320','U','W','\320','W','^','\320','^','`','\320','`','a','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\t','\270','\021','\200','A','\330','7','8','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','(','\240','q','\330','\010','#','\240','<','\250','x','\260','q','\270','\001','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','9','\270','\021','\270','!','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','.','\250','a','\250','q','\260','\010','\270','\t','\300','\026','\300','v','\310','R','\310','x','\320','W','`','\320','`','e','\320','e','k','\320','k','m','\320','m','u','\320','u','~','\360','\000','\000','\177','\001','F','\002','\360','\000','\000','F','\002','L','\002','\360','\000','\000','L','\002','N','\002','\360','\000','\000','N','\002','V','\002','\360','\000','\000','V','\002','b','\002','\360','\000','\000','b','\002','n','\002','\360','\000','\000','n','\002','o','\002','\360','\000','\000','o','\002','z','\002','\360','\000','\000','z','\002','{','\002','\360','\000','\000','{','\002','I','\003','\360','\000','\000','I','\003','R','\003','\360','\000','\000','R','\003','Y','\003','\360','\000','\000','Y','\003','_','\003','\360','\000','\000','_','\003','a','\003','\360','\000','\000','a','\003','b','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','8','\270','\t','\300','\034','\310','Y','\320','V','X','\320','X','_','\320','_','a','\320','a','b','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\t','\270','\021','\200','A','\330','7','8','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','*','\250','\021','\330','\010','%','\240','^','\260','8','\270','1','\270','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',';','\270','1','\270','A','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','0','\260','\001','\260','\021','\260','(','\270',')','\300','6','\310','\026','\310','r','\320','Q','Y','\320','Y','b','\320','b','g','\320','g','m','\320','m','o','\320','o','w','\360','\000','\000','x','\001','A','\002','\360','\000','\000','A','\002','H','\002','\360','\000','\000','H','\002','N','\002','\360','\000','\000','N','\002','P','\002','\360','\000','\000','P','\002','X','\002','\360','\000','\000','X','\002','d','\002','\360','\000','\000','d','\002','p','\002','\360','\000','\000','p','\002','q','\002','\360','\000','\000','q','\002','|','\002','\360','\000','\000','|','\002','}','\002','\360','\000','\000','}','\002','K','\003','\360','\000','\000','K','\003','T','\003','\360','\000','\000','T','\003','[','\003','\360','\000','\000','[','\003','a','\003','\360','\000','\000','a','\003','c','\003','\360','\000','\000','c','\003','d','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',':','\270',')','\300','<','\310','y','\320','X','Z','\320','Z','a','\320','a','c','\320','c','d','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\t','\270','\021','\200','A','\330','7','8','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','+','\250','!','\330','\010','&','\240','o','\260','X','\270','Q','\270','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','<','\270','A','\270','Q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','1','\260','\021','\260','!','\260','8','\270','9','\300','F','\310','&','\320','P','R','\320','R','Z','\320','Z','c','\320','c','h','\320','h','n','\320','n','p','\320','p','x','\360','\000','\000','y','\001','B','\002','\360','\000','\000','B','\002','I','\002','\360','\000','\000','I','\002','O','\002','\360','\000','\000','O','\002','Q','\002','\360','\000','\000','Q','\002','Y','\002','\360','\000','\000','Y','\002','e','\002','\360','\000','\000','e','\002','q','\002','\360','\000','\000','q','\002','r','\002','\360','\000','\000','r','\002','}','\002','\360','\000','\000','}','\002','~','\002','\360','\000','\000','~','\002','L','\003','\360','\000','\000','L','\003','U','\003','\360','\000','\000','U','\003','\\','\003','\360','\000','\000','\\','\003','b','\003','\360','\000','\000','b','\003','d','\003','\360','\000','\000','d','\003','e','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',';','\270','9','\300','L','\320','P','Y','\320','Y','[','\320','[','b','\320','b','d','\320','d','e','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\t','\270','\021','\200','A','\330','7','8','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\001','\330','\014','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\014','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','^','\320','^','c','\320','c','i','\320','i','k','\320','k','s','\320','s','|','\360','\000','\000','}','\001','D','\002','\360','\000','\000','D','\002','J','\002','\360','\000','\000','J','\002','L','\002','\360','\000','\000','L','\002','T','\002','\360','\000','\000','T','\002','`','\002','\360','\000','\000','`','\002','l','\002','\360','\000','\000','l','\002','m','\002','\360','\000','\000','m','\002','x','\002','\360','\000','\000','x','\002','y','\002','\360','\000','\000','y','\002','G','\003','\360','\000','\000','G','\003','P','\003','\360','\000','\000','P','\003','\\','\003','\360','\000','\000','\\','\003','b','\003','\360','\000','\000','b','\003','d','\003','\360','\000','\000','d','\003','n','\003','\360','\000','\000','n','\003','w','\003','\360','\000','\000','w','\003','C','\004','\360','\000','\000','C','\004','I','\004','\360','\000','\000','I','\004','K','\004','\360','\000','\000','K','\004','L','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','y','\230','\014','\240','B','\240','f','\250','E','\260','\031','\270','/','\310','\034','\320','U','W','\320','W',']','\320',']','b','\320','b','k','\320','k','l','\200','A','\330','7','8','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t',')','\250','\001','\330','\010','$','\240','M','\260','\030','\270','\021','\270','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',':','\270','!','\270','1','\330','\014','\030','\320','\030',')','\250','\021','\250','(','\260','!','\330','\014','\031','\320','\031','*','\250','!','\250','8','\260','1','\330','\021','\022','\330','\020','\032','\320','\032','/','\250','q','\260','\001','\260','\030','\270','\031','\300','&','\310','\006','\310','b','\320','P','X','\320','X','a','\320','a','f','\320','f','l','\320','l','n','\320','n','v','\320','v','\177','\360','\000','\000','@','\002','G','\002','\360','\000','\000','G','\002','M','\002','\360','\000','\000','M','\002','O','\002','\360','\000','\000','O','\002','W','\002','\360','\000','\000','W','\002','c','\002','\360','\000','\000','c','\002','o','\002','\360','\000','\000','o','\002','p','\002','\360','\000','\000','p','\002','{','\002','\360','\000','\000','{','\002','|','\002','\360','\000','\000','|','\002','J','\003','\360','\000','\000','J','\003','S','\003','\360','\000','\000','S','\003','\\','\003','\360','\000','\000','\\','\003','b','\003','\360','\000','\000','b','\003','d','\003','\360','\000','\000','d','\003','n','\003','\360','\000','\000','n','\003','w','\003','\360','\000','\000','w','\003','A','\004','\360','\000','\000','A','\004','G','\004','\360','\000','\000','G','\004','I','\004','\360','\000','\000','I','\004','J','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','9','\270','\031','\300',',','\310','i','\320','W','Y','\320','Y','`','\320','`','b','\320','b','c','\330','\010','\017','\210','y','\230','\014','\240','B','\240','f','\250','E','\260','\031','\270',',','\300','l','\320','R','T','\320','T','Z','\320','Z','_','\320','_','h','\320','h','i','\200','A','\330','7','8','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\016','\000','\t','+','\250','!','\330','\010','&','\240','o','\260','X','\270','Q','\270','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','<','\270','A','\270','Q','\330','\014','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\014','\034','\320','\034','-','\250','Q','\250','h','\260','a','\330','\014','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\021','\022','\330','\020','\032','\320','\032','1','\260','\021','\260','!','\260','8','\270','9','\300','F','\310','&','\320','P','R','\320','R','Z','\320','Z','c','\320','c','h','\320','h','n','\320','n','p','\320','p','x','\360','\000','\000','y','\001','B','\002','\360','\000','\000','B','\002','I','\002','\360','\000','\000','I','\002','O','\002','\360','\000','\000','O','\002','Q','\002','\360','\000','\000','Q','\002','Y','\002','\360','\000','\000','Y','\002','e','\002','\360','\000','\000','e','\002','q','\002','\360','\000','\000','q','\002','r','\002','\360','\000','\000','r','\002','}','\002','\360','\000','\000','}','\002','~','\002','\360','\000','\000','~','\002','L','\003','\360','\000','\000','L','\003','U','\003','\360','\000','\000','U','\003','a','\003','\360','\000','\000','a','\003','g','\003','\360','\000','\000','g','\003','i','\003','\360','\000','\000','i','\003','s','\003','\360','\000','\000','s','\003','|','\003','\360','\000','\000','|','\003','I','\004','\360','\000','\000','I','\004','O','\004','\360','\000','\000','O','\004','Q','\004','\360','\000','\000','Q','\004','[','\004','\360','\000','\000','[','\004','d','\004','\360','\000','\000','d','\004','p','\004','\360','\000','\000','p','\004','v','\004','\360','\000','\000','v','\004','x','\004','\360','\000','\000','x','\004','y','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',';','\270','9','\300','L','\320','P','Y','\320','Y','[','\320','[','b','\320','b','d','\320','d','e','\330','\010','\017','\210','y','\230','\014','\240','B','\240','f','\250','E','\260','\031','\270','/','\310','\034','\320','U','W','\320','W',']','\320',']','b','\320','b','k','\320','k','{','\360','\000','\000','|','\001','H','\002','\360','\000','\000','H','\002','J','\002','\360','\000','\000','J','\002','P','\002','\360','\000','\000','P','\002','U','\002','\360','\000','\000','U','\002','^','\002','\360','\000','\000','^','\002','_','\002','\200','A','\330','7','M','\320','M','b','\320','b','c','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\016','\000','\t','%','\240','A','\330','\010',' ','\240','\t','\250','\030','\260','\021','\260','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\240','\177','\260','a','\260','|','\300',';','\310','a','\330','\014','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\014','\034','\320','\034','-','\250','Q','\250','h','\260','a','\330','\014','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\021','\022','\330','\020','\032','\320','\032','+','\250','1','\250','A','\250','X','\260','Y','\270','f','\300','F','\310','\"','\310','H','\320','T',']','\320',']','b','\320','b','h','\320','h','j','\320','j','r','\320','r','{','\360','\000','\000','|','\001','C','\002','\360','\000','\000','C','\002','I','\002','\360','\000','\000','I','\002','K','\002','\360','\000','\000','K','\002','S','\002','\360','\000','\000','S','\002','_','\002','\360','\000','\000','_','\002','k','\002','\360','\000','\000','k','\002','v','\002','\360','\000','\000','v','\002','}','\002','\360','\000','\000','}','\002','~','\002','\360','\000','\000','~','\002','I','\003','\360','\000','\000','I','\003','J','\003','\360','\000','\000','J','\003','X','\003','\360','\000','\000','X','\003','a','\003','\360','\000','\000','a','\003','m','\003','\360','\000','\000','m','\003','s','\003','\360','\000','\000','s','\003','u','\003','\360','\000','\000','u','\003','\177','\003','\360','\000','\000','\177','\003','H','\004','\360','\000','\000','H','\004','U','\004','\360','\000','\000','U','\004','[','\004','\360','\000','\000','[','\004',']','\004','\360','\000','\000',']','\004','g','\004','\360','\000','\000','g','\004','p','\004','\360','\000','\000','p','\004','|','\004','\360','\000','\000','|','\004','B','\005','\360','\000','\000','B','\005','D','\005','\360','\000','\000','D','\005','E','\005','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','5','\260','Y','\270','l','\310',')','\320','S','U','\320','U','\\','\320','\\','^','\320','^','_','\330','\010','\017','\210','y','\230','\014','\240','B','\240','f','\250','E','\260','\031','\270','/','\310','\034','\320','U','W','\320','W',']','\320',']','b','\320','b','k','\320','k','{','\360','\000','\000','|','\001','H','\002','\360','\000','\000','H','\002','J','\002','\360','\000','\000','J','\002','P','\002','\360','\000','\000','P','\002','U','\002','\360','\000','\000','U','\002','^','\002','\360','\000','\000','^','\002','_','\002','\200','A','\330','7','N','\320','N','e','\320','e','~','\320','~','\177','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\014','\300','L','\320','P','\\','\320','\\',']','\330','\014','\025','\320','\025','&','\240','a','\240','x','\250','q','\330','\014','\033','\320','\033',',','\250','A','\250','X','\260','Q','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','^','\320','^','c','\320','c','i','\320','i','k','\320','k','s','\320','s','|','\360','\000','\000','}','\001','D','\002','\360','\000','\000','D','\002','J','\002','\360','\000','\000','J','\002','L','\002','\360','\000','\000','L','\002','T','\002','\360','\000','\000','T','\002','`','\002','\360','\000','\000','`','\002','l','\002','\360','\000','\000','l','\002','x','\002','\360','\000','\000','x','\002','D','\003','\360','\000','\000','D','\003','R','\003','\360','\000','\000','R','\003','S','\003','\360','\000','\000','S','\003','^','\003','\360','\000','\000','^','\003','_','\003','\360','\000','\000','_','\003','m','\003','\360','\000','\000','m','\003','v','\003','\360','\000','\000','v','\003','|','\003','\360','\000','\000','|','\003','B','\004','\360','\000','\000','B','\004','D','\004','\360','\000','\000','D','\004','N','\004','\360','\000','\000','N','\004','W','\004','\360','\000','\000','W','\004','c','\004','\360','\000','\000','c','\004','i','\004','\360','\000','\000','i','\004','k','\004','\360','\000','\000','k','\004','l','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','y','\230','\014','\240','B','\240','f','\250','E','\260','\031','\270',')','\300','<','\310','r','\320','Q','W','\320','W','\\','\320','\\','e','\320','e','f','\200','A','\330','7','Q','\320','Q','R','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t','-','\250','A','\330','\010','(','\320','(','9','\270','\030','\300','\021','\300','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','>','\270','a','\270','|','\310','1','\330','\014','\034','\320','\034','-','\250','Q','\250','h','\260','a','\330','\014','\027','\220','~','\240','Q','\240','h','\250','a','\330','\021','\022','\330','\020','\032','\320','\032','3','\260','1','\260','A','\260','X','\270','Y','\300','f','\310','F','\320','R','T','\320','T','\\','\320','\\','e','\320','e','j','\320','j','p','\320','p','r','\320','r','z','\360','\000','\000','{','\001','D','\002','\360','\000','\000','D','\002','K','\002','\360','\000','\000','K','\002','Q','\002','\360','\000','\000','Q','\002','S','\002','\360','\000','\000','S','\002','[','\002','\360','\000','\000','[','\002','g','\002','\360','\000','\000','g','\002','s','\002','\360','\000','\000','s','\002','\177','\002','\360','\000','\000','\177','\002','@','\003','\360','\000','\000','@','\003','K','\003','\360','\000','\000','K','\003','L','\003','\360','\000','\000','L','\003','Z','\003','\360','\000','\000','Z','\003','c','\003','\360','\000','\000','c','\003','p','\003','\360','\000','\000','p','\003','v','\003','\360','\000','\000','v','\003','x','\003','\360','\000','\000','x','\003','B','\004','\360','\000','\000','B','\004','H','\004','\360','\000','\000','H','\004','P','\004','\360','\000','\000','P','\004','V','\004','\360','\000','\000','V','\004','X','\004','\360','\000','\000','X','\004','Y','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','=','\270','Y','\300','l','\320','R','[','\320','[',']','\320',']','d','\320','d','f','\320','f','g','\330','\010','\017','\210','y','\230','\014','\240','B','\240','f','\250','E','\260','\031','\320',':','J','\310',',','\320','V','X','\320','X','^','\320','^','c','\320','c','l','\320','l','m','\200','A','\330','8','P','\320','P','h','\320','h','i','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t',')','\250','\001','\330','\010','$','\240','M','\260','\030','\270','\021','\270','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',':','\270','!','\270','=','\310','\r','\320','U','V','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','/','\250','q','\260','\001','\260','\030','\270','\031','\300','&','\310','\006','\310','b','\320','P','X','\320','X','a','\320','a','f','\320','f','l','\320','l','n','\320','n','v','\320','v','\177','\360','\000','\000','@','\002','G','\002','\360','\000','\000','G','\002','M','\002','\360','\000','\000','M','\002','O','\002','\360','\000','\000','O','\002','W','\002','\360','\000','\000','W','\002','c','\002','\360','\000','\000','c','\002','p','\002','\360','\000','\000','p','\002','}','\002','\360','\000','\000','}','\002','J','\003','\360','\000','\000','J','\003','K','\003','\360','\000','\000','K','\003','V','\003','\360','\000','\000','V','\003','W','\003','\360','\000','\000','W','\003','e','\003','\360','\000','\000','e','\003','n','\003','\360','\000','\000','n','\003','u','\003','\360','\000','\000','u','\003','{','\003','\360','\000','\000','{','\003','}','\003','\360','\000','\000','}','\003','~','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','9','\270','\031','\300',',','\310','i','\320','W','Y','\320','Y','`','\320','`','b','\320','b','c','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\t','\270','\021','\200','A','\330','9','R','\320','R','k','\320','k','l','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t',')','\250','\001','\330','\010','$','\240','M','\260','\030','\270','\021','\270','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',':','\270','!','\270','>','\310','\036','\320','W','X','\330','\014','\027','\320','\027','(','\250','\001','\250','\030','\260','\021','\330','\014','\027','\320','\027','(','\250','\001','\250','\030','\260','\021','\330','\021','\022','\330','\020','\032','\320','\032','/','\250','q','\260','\001','\260','\030','\270','\031','\300','&','\310','\006','\310','b','\320','P','X','\320','X','a','\320','a','f','\320','f','l','\320','l','n','\320','n','v','\320','v','\177','\360','\000','\000','@','\002','G','\002','\360','\000','\000','G','\002','M','\002','\360','\000','\000','M','\002','O','\002','\360','\000','\000','O','\002','W','\002','\360','\000','\000','W','\002','c','\002','\360','\000','\000','c','\002','q','\002','\360','\000','\000','q','\002','\177','\002','\360','\000','\000','\177','\002','M','\003','\360','\000','\000','M','\003','N','\003','\360','\000','\000','N','\003','Y','\003','\360','\000','\000','Y','\003','Z','\003','\360','\000','\000','Z','\003','h','\003','\360','\000','\000','h','\003','q','\003','\360','\000','\000','q','\003','y','\003','\360','\000','\000','y','\003','\177','\003','\360','\000','\000','\177','\003','A','\004','\360','\000','\000','A','\004','K','\004','\360','\000','\000','K','\004','T','\004','\360','\000','\000','T','\004','\\','\004','\360','\000','\000','\\','\004','b','\004','\360','\000','\000','b','\004','d','\004','\360','\000','\000','d','\004','e','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','9','\270','\031','\300',',','\310','i','\320','W','Y','\320','Y','`','\320','`','b','\320','b','c','\330','\010','\017','\210','y','\230','\014','\240','B','\240','f','\250','E','\260','\031','\270','+','\300','\\','\320','Q','S','\320','S','Y','\320','Y','^','\320','^','g','\320','g','h','\200','A','\330','9','R','\320','R','k','\320','k','\177','\360','\000','\000','@','\002','Y','\002','\360','\000','\000','Y','\002','Z','\002','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t','(','\240','q','\330','\010','#','\240','<','\250','x','\260','q','\270','\001','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','9','\270','\021','\270','.','\310','\016','\320','V','d','\320','d','r','\320','r','s','\330','\014','\027','\320','\027','(','\250','\001','\250','\030','\260','\021','\330','\014','\027','\320','\027','(','\250','\001','\250','\030','\260','\021','\330','\021','\022','\330','\020','\032','\320','\032','.','\250','a','\250','q','\260','\010','\270','\t','\300','\026','\300','v','\310','R','\310','x','\320','W','`','\320','`','e','\320','e','k','\320','k','m','\320','m','u','\320','u','~','\360','\000','\000','\177','\001','F','\002','\360','\000','\000','F','\002','L','\002','\360','\000','\000','L','\002','N','\002','\360','\000','\000','N','\002','V','\002','\360','\000','\000','V','\002','b','\002','\360','\000','\000','b','\002','p','\002','\360','\000','\000','p','\002','~','\002','\360','\000','\000','~','\002','L','\003','\360','\000','\000','L','\003','Z','\003','\360','\000','\000','Z','\003','h','\003','\360','\000','\000','h','\003','i','\003','\360','\000','\000','i','\003','t','\003','\360','\000','\000','t','\003','u','\003','\360','\000','\000','u','\003','C','\004','\360','\000','\000','C','\004','L','\004','\360','\000','\000','L','\004','T','\004','\360','\000','\000','T','\004','Z','\004','\360','\000','\000','Z','\004','\\','\004','\360','\000','\000','\\','\004','f','\004','\360','\000','\000','f','\004','o','\004','\360','\000','\000','o','\004','w','\004','\360','\000','\000','w','\004','}','\004','\360','\000','\000','}','\004','\177','\004','\360','\000','\000','\177','\004','@','\005','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','8','\270','\t','\300','\034','\310','Y','\320','V','X','\320','X','_','\320','_','a','\320','a','b','\330','\010','\017','\210','y','\230','\014','\240','B','\240','f','\250','E','\260','\031','\270','+','\300','\\','\320','Q','S','\320','S','Y','\320','Y','^','\320','^','g','\320','g','h','\200','A','\330','9','R','\320','R','k','\360','\000','\000','l','\001','A','\002','\360','\000','\000','A','\002','Z','\002','\360','\000','\000','Z','\002','[','\002','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\016','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\016','\300','n','\320','T','b','\320','b','p','\320','p','q','\330','\014','\023','\320','\023','$','\240','A','\240','X','\250','Q','\330','\014','\023','\320','\023','$','\240','A','\240','X','\250','Q','\330','\014','\023','\320','\023','$','\240','A','\240','X','\250','Q','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','^','\320','^','c','\320','c','i','\320','i','k','\320','k','s','\320','s','|','\360','\000','\000','}','\001','D','\002','\360','\000','\000','D','\002','J','\002','\360','\000','\000','J','\002','L','\002','\360','\000','\000','L','\002','T','\002','\360','\000','\000','T','\002','`','\002','\360','\000','\000','`','\002','n','\002','\360','\000','\000','n','\002','|','\002','\360','\000','\000','|','\002','J','\003','\360','\000','\000','J','\003','X','\003','\360','\000','\000','X','\003','f','\003','\360','\000','\000','f','\003','g','\003','\360','\000','\000','g','\003','r','\003','\360','\000','\000','r','\003','s','\003','\360','\000','\000','s','\003','A','\004','\360','\000','\000','A','\004','J','\004','\360','\000','\000','J','\004','N','\004','\360','\000','\000','N','\004','T','\004','\360','\000','\000','T','\004','V','\004','\360','\000','\000','V','\004','`','\004','\360','\000','\000','`','\004','i','\004','\360','\000','\000','i','\004','m','\004','\360','\000','\000','m','\004','s','\004','\360','\000','\000','s','\004','u','\004','\360','\000','\000','u','\004','\177','\004','\360','\000','\000','\177','\004','H','\005','\360','\000','\000','H','\005','L','\005','\360','\000','\000','L','\005','R','\005','\360','\000','\000','R','\005','T','\005','\360','\000','\000','T','\005','U','\005','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','y','\230','\014','\240','B','\240','f','\250','E','\260','\031','\270','\047','\300','\034','\310','R','\310','v','\320','U','Z','\320','Z','c','\320','c','j','\320','j','v','\320','v','x','\320','x','~','\360','\000','\000','\177','\001','D','\002','\360','\000','\000','D','\002','M','\002','\360','\000','\000','M','\002','N','\002','\200','A','\330','?','@','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','#','\240','=','\260','\001','\260','\021','\330','\010','\035','\230','X','\240','W','\250','I','\260','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\270','\001','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','^','\320','^','c','\320','c','i','\320','i','k','\320','k','s','\320','s','|','\360','\000','\000','}','\001','D','\002','\360','\000','\000','D','\002','J','\002','\360','\000','\000','J','\002','L','\002','\360','\000','\000','L','\002','T','\002','\360','\000','\000','T','\002',']','\002','\360','\000','\000',']','\002','e','\002','\360','\000','\000','e','\002','k','\002','\360','\000','\000','k','\002','m','\002','\360','\000','\000','m','\002','u','\002','\360','\000','\000','u','\002','A','\003','\360','\000','\000','A','\003','M','\003','\360','\000','\000','M','\003','N','\003','\360','\000','\000','N','\003','Y','\003','\360','\000','\000','Y','\003','Z','\003','\360','\000','\000','Z','\003','h','\003','\360','\000','\000','h','\003','q','\003','\360','\000','\000','q','\003','x','\003','\360','\000','\000','x','\003','~','\003','\360','\000','\000','~','\003','@','\004','\360','\000','\000','@','\004','A','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\007','\260','z','\300','\021','\200','A','\330','?','V','\320','V','W','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','#','\240','=','\260','\001','\260','\021','\330','\010','\035','\230','X','\240','W','\250','I','\260','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','(','\240','q','\330','\010','#','\240','<','\250','x','\260','q','\270','\001','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','9','\270','\021','\270',',','\300','a','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','.','\250','a','\250','q','\260','\010','\270','\t','\300','\026','\300','v','\310','R','\310','x','\320','W','`','\320','`','e','\320','e','k','\320','k','m','\320','m','u','\320','u','~','\360','\000','\000','\177','\001','F','\002','\360','\000','\000','F','\002','L','\002','\360','\000','\000','L','\002','N','\002','\360','\000','\000','N','\002','V','\002','\360','\000','\000','V','\002','_','\002','\360','\000','\000','_','\002','g','\002','\360','\000','\000','g','\002','m','\002','\360','\000','\000','m','\002','o','\002','\360','\000','\000','o','\002','w','\002','\360','\000','\000','w','\002','C','\003','\360','\000','\000','C','\003','O','\003','\360','\000','\000','O','\003','[','\003','\360','\000','\000','[','\003','\\','\003','\360','\000','\000','\\','\003','g','\003','\360','\000','\000','g','\003','h','\003','\360','\000','\000','h','\003','v','\003','\360','\000','\000','v','\003','\177','\003','\360','\000','\000','\177','\003','F','\004','\360','\000','\000','F','\004','L','\004','\360','\000','\000','L','\004','N','\004','\360','\000','\000','N','\004','O','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','8','\270','\t','\300','\034','\310','Y','\320','V','X','\320','X','_','\320','_','a','\320','a','b','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\007','\260','z','\300','\021','\200','A','\330','A','B','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','-','\250','A','\330','\010','(','\320','(','9','\270','\030','\300','\021','\300','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','>','\270','a','\270','q','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','3','\260','1','\260','A','\260','X','\270','Y','\300','f','\310','F','\320','R','T','\320','T','\\','\320','\\','e','\320','e','k','\320','k','q','\320','q','s','\320','s','{','\360','\000','\000','|','\001','E','\002','\360','\000','\000','E','\002','J','\002','\360','\000','\000','J','\002','P','\002','\360','\000','\000','P','\002','R','\002','\360','\000','\000','R','\002','Z','\002','\360','\000','\000','Z','\002','c','\002','\360','\000','\000','c','\002','j','\002','\360','\000','\000','j','\002','p','\002','\360','\000','\000','p','\002','r','\002','\360','\000','\000','r','\002','z','\002','\360','\000','\000','z','\002','F','\003','\360','\000','\000','F','\003','S','\003','\360','\000','\000','S','\003','T','\003','\360','\000','\000','T','\003','_','\003','\360','\000','\000','_','\003','`','\003','\360','\000','\000','`','\003','n','\003','\360','\000','\000','n','\003','t','\003','\360','\000','\000','t','\003','~','\003','\360','\000','\000','~','\003','D','\004','\360','\000','\000','D','\004','F','\004','\360','\000','\000','F','\004','G','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','=','\270','Y','\300','l','\320','R','[','\320','[',']','\320',']','d','\320','d','f','\320','f','g','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\330','A','B','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','1','\260','\001','\330','\010',',','\320',',','A','\300','\030','\310','\021','\310','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','B','\300','!','\300','1','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','7','\260','q','\270','\001','\270','\030','\300','\031','\310','&','\320','P','V','\320','V','X','\320','X','`','\320','`','i','\320','i','o','\320','o','u','\320','u','w','\320','w','\177','\360','\000','\000','@','\002','I','\002','\360','\000','\000','I','\002','N','\002','\360','\000','\000','N','\002','T','\002','\360','\000','\000','T','\002','V','\002','\360','\000','\000','V','\002','^','\002','\360','\000','\000','^','\002','g','\002','\360','\000','\000','g','\002','n','\002','\360','\000','\000','n','\002','t','\002','\360','\000','\000','t','\002','v','\002','\360','\000','\000','v','\002','~','\002','\360','\000','\000','~','\002','J','\003','\360','\000','\000','J','\003','W','\003','\360','\000','\000','W','\003','X','\003','\360','\000','\000','X','\003','c','\003','\360','\000','\000','c','\003','d','\003','\360','\000','\000','d','\003','r','\003','\360','\000','\000','r','\003','x','\003','\360','\000','\000','x','\003','B','\004','\360','\000','\000','B','\004','H','\004','\360','\000','\000','H','\004','J','\004','\360','\000','\000','J','\004','K','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','A','\300','\031','\310',',','\320','V','_','\320','_','a','\320','a','h','\320','h','j','\320','j','k','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\330','A','B','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','3','\260','!','\330','\010','.','\320','.','E','\300','X','\310','Q','\310','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','D','\300','A','\300','Q','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','9','\270','\021','\270','!','\270','8','\300','9','\310','F','\320','R','X','\320','X','Z','\320','Z','b','\320','b','k','\320','k','q','\320','q','w','\320','w','y','\360','\000','\000','z','\001','B','\002','\360','\000','\000','B','\002','K','\002','\360','\000','\000','K','\002','P','\002','\360','\000','\000','P','\002','V','\002','\360','\000','\000','V','\002','X','\002','\360','\000','\000','X','\002','`','\002','\360','\000','\000','`','\002','i','\002','\360','\000','\000','i','\002','p','\002','\360','\000','\000','p','\002','v','\002','\360','\000','\000','v','\002','x','\002','\360','\000','\000','x','\002','@','\003','\360','\000','\000','@','\003','L','\003','\360','\000','\000','L','\003','Y','\003','\360','\000','\000','Y','\003','Z','\003','\360','\000','\000','Z','\003','e','\003','\360','\000','\000','e','\003','f','\003','\360','\000','\000','f','\003','t','\003','\360','\000','\000','t','\003','z','\003','\360','\000','\000','z','\003','D','\004','\360','\000','\000','D','\004','J','\004','\360','\000','\000','J','\004','L','\004','\360','\000','\000','L','\004','M','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','C','\300','9','\310','L','\320','X','a','\320','a','c','\320','c','j','\320','j','l','\320','l','m','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\330','A','B','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','4','\260','1','\330','\010','/','\320','/','G','\300','x','\310','q','\320','P','Q','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','E','\300','Q','\300','a','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',':','\270','!','\270','1','\270','H','\300','I','\310','V','\320','S','Y','\320','Y','[','\320','[','c','\320','c','l','\320','l','r','\320','r','x','\320','x','z','\360','\000','\000','{','\001','C','\002','\360','\000','\000','C','\002','L','\002','\360','\000','\000','L','\002','Q','\002','\360','\000','\000','Q','\002','W','\002','\360','\000','\000','W','\002','Y','\002','\360','\000','\000','Y','\002','a','\002','\360','\000','\000','a','\002','j','\002','\360','\000','\000','j','\002','q','\002','\360','\000','\000','q','\002','w','\002','\360','\000','\000','w','\002','y','\002','\360','\000','\000','y','\002','A','\003','\360','\000','\000','A','\003','M','\003','\360','\000','\000','M','\003','Z','\003','\360','\000','\000','Z','\003','[','\003','\360','\000','\000','[','\003','f','\003','\360','\000','\000','f','\003','g','\003','\360','\000','\000','g','\003','u','\003','\360','\000','\000','u','\003','{','\003','\360','\000','\000','{','\003','E','\004','\360','\000','\000','E','\004','K','\004','\360','\000','\000','K','\004','M','\004','\360','\000','\000','M','\004','N','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','D','\300','I','\310','\\','\320','Y','b','\320','b','d','\320','d','k','\320','k','m','\320','m','n','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\330','A','B','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','5','\260','A','\330','\010','0','\320','0','I','\310','\030','\320','Q','R','\320','R','S','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','F','\300','a','\300','q','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',';','\270','1','\270','A','\270','X','\300','Y','\310','f','\320','T','Z','\320','Z','\\','\320','\\','d','\320','d','m','\320','m','s','\320','s','y','\320','y','{','\360','\000','\000','|','\001','D','\002','\360','\000','\000','D','\002','M','\002','\360','\000','\000','M','\002','R','\002','\360','\000','\000','R','\002','X','\002','\360','\000','\000','X','\002','Z','\002','\360','\000','\000','Z','\002','b','\002','\360','\000','\000','b','\002','k','\002','\360','\000','\000','k','\002','r','\002','\360','\000','\000','r','\002','x','\002','\360','\000','\000','x','\002','z','\002','\360','\000','\000','z','\002','B','\003','\360','\000','\000','B','\003','N','\003','\360','\000','\000','N','\003','[','\003','\360','\000','\000','[','\003','\\','\003','\360','\000','\000','\\','\003','g','\003','\360','\000','\000','g','\003','h','\003','\360','\000','\000','h','\003','v','\003','\360','\000','\000','v','\003','|','\003','\360','\000','\000','|','\003','F','\004','\360','\000','\000','F','\004','L','\004','\360','\000','\000','L','\004','N','\004','\360','\000','\000','N','\004','O','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','E','\300','Y','\310','l','\320','Z','c','\320','c','e','\320','e','l','\320','l','n','\320','n','o','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','\014','\210','J','\220','m','\240','6','\250','\021','\330','\010','\014','\210','M','\230','\024','\230','Q','\330','\010','\014','\210','J','\220','i','\230','q','\240','\004','\240','A','\360','\006','\000','\t','\r','\210','O','\230','9','\240','F','\250','!','\360','\006','\000','\t','\r','\320','\014','\036','\230','b','\240','\010','\250','\001','\330','\010','\014','\210','O','\230','1','\200','A','\340','\010','\020','\220','\004','\220','A','\330','\010','\013','\210','4','\210','w','\220','a','\220','w','\230','a','\330','\014','\021','\220','\030','\230','\021','\330','\014','\021','\320','\021','!','\240','\021','\360','\006','\000','\r','\022','\220','\037','\240','\013','\250','1','\330','\014','\021','\220','\036','\230','{','\250','!','\330','\014','\021','\220','\033','\230','K','\240','q','\330','\014','\021','\320','\021','\"','\240','!','\360','\006','\000','\r','\022','\220','\030','\230','\037','\250','\001','\250','\024','\250','Q','\360','\006','\000','\r','\021','\220','\005','\220','V','\230','1','\230','E','\240','\025','\240','d','\250','!','\250','1','\330','\020','\027','\320','\027','0','\260','\001','\260','\024','\260','Y','\270','a','\330','\020','\035','\230','T','\240','\021','\240','!','\330','\020','\023','\220','4','\220','q','\320','\030','(','\250','\003','\250','1','\330','\024','\030','\230','\001','\320','\031','+','\320','+','G','\300','q','\310','\001','\330','\020','\025','\220','\\','\240','\021','\240','.','\260','\001','\330','\014','\021','\220','\025','\220','a','\320','\027','(','\250','\004','\250','A','\360','\006','\000','\r','\021','\220','\005','\220','V','\230','1','\230','E','\240','\025','\240','d','\250','!','\250','1','\330','\020','\027','\320','\027','3','\260','1','\260','D','\270','\t','\300','\021','\330','\020','\035','\230','T','\240','\021','\240','!','\330','\020','\025','\220','[','\240','\001','\240','\036','\250','q','\330','\014','\021','\220','\025','\220','a','\320','\027','\047','\240','t','\250','1','\360','\006','\000','\r','\022','\220','\025','\220','a','\320','\027',')','\250','\033','\260','A','\330','\014','\020','\220','\005','\220','V','\230','1','\230','E','\240','\025','\240','d','\250','!','\250','1','\330','\020','\027','\320','\027','1','\260','\021','\260','$','\260','i','\270','q','\330','\020','\036','\230','d','\240','!','\240','1','\330','\020','\025','\220','U','\230','!','\230','?','\250','!','\250','?','\270','$','\270','a','\270','q','\330','\020','\025','\220','X','\230','Q','\230','o','\250','Q','\330','\014','\021','\220','\025','\220','a','\320','\027',')','\250','\024','\250','Q','\330','\010','\017','\210','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','%','\240','A','\330','\010',' ','\240','\t','\250','\030','\260','\021','\260','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\240','\177','\260','a','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','+','\250','1','\250','A','\250','X','\260','Y','\270','f','\300','F','\310','\"','\310','H','\320','T','`','\320','`','a','\320','a','l','\320','l','m','\320','m','{','\360','\000','\000','|','\001','E','\002','\360','\000','\000','E','\002','L','\002','\360','\000','\000','L','\002','R','\002','\360','\000','\000','R','\002','T','\002','\360','\000','\000','T','\002','U','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','5','\260','Y','\270','l','\310',')','\320','S','U','\320','U','\\','\320','\\','^','\320','^','_','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','a','\320','a','b','\320','b','m','\320','m','n','\320','n','|','\360','\000','\000','}','\001','F','\002','\360','\000','\000','F','\002','M','\002','\360','\000','\000','M','\002','S','\002','\360','\000','\000','S','\002','U','\002','\360','\000','\000','U','\002','V','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','\047','\240','a','\330','\010','\"','\240','+','\250','X','\260','Q','\260','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','8','\270','\001','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','-','\250','Q','\250','a','\250','x','\260','y','\300','\006','\300','f','\310','B','\310','h','\320','V','b','\320','b','c','\320','c','n','\320','n','o','\320','o','}','\360','\000','\000','~','\001','G','\002','\360','\000','\000','G','\002','N','\002','\360','\000','\000','N','\002','T','\002','\360','\000','\000','T','\002','V','\002','\360','\000','\000','V','\002','W','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','7','\260','y','\300','\014','\310','I','\320','U','W','\320','W','^','\320','^','`','\320','`','a','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','(','\240','q','\330','\010','#','\240','<','\250','x','\260','q','\270','\001','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','9','\270','\021','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','.','\250','a','\250','q','\260','\010','\270','\t','\300','\026','\300','v','\310','R','\310','x','\320','W','c','\320','c','d','\320','d','o','\320','o','p','\320','p','~','\360','\000','\000','\177','\001','H','\002','\360','\000','\000','H','\002','O','\002','\360','\000','\000','O','\002','U','\002','\360','\000','\000','U','\002','W','\002','\360','\000','\000','W','\002','X','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','8','\270','\t','\300','\034','\310','Y','\320','V','X','\320','X','_','\320','_','a','\320','a','b','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t',')','\250','\001','\330','\010','$','\240','M','\260','\030','\270','\021','\270','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',':','\270','!','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','/','\250','q','\260','\001','\260','\030','\270','\031','\300','&','\310','\006','\310','b','\320','P','X','\320','X','d','\320','d','e','\320','e','p','\320','p','q','\320','q','\177','\360','\000','\000','@','\002','I','\002','\360','\000','\000','I','\002','P','\002','\360','\000','\000','P','\002','V','\002','\360','\000','\000','V','\002','X','\002','\360','\000','\000','X','\002','Y','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','9','\270','\031','\300',',','\310','i','\320','W','Y','\320','Y','`','\320','`','b','\320','b','c','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','-','\250','A','\330','\010','(','\320','(','9','\270','\030','\300','\021','\300','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','>','\270','a','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','3','\260','1','\260','A','\260','X','\270','Y','\300','f','\310','F','\320','R','T','\320','T','\\','\320','\\','h','\320','h','i','\320','i','t','\320','t','u','\360','\000','\000','v','\001','D','\002','\360','\000','\000','D','\002','M','\002','\360','\000','\000','M','\002','T','\002','\360','\000','\000','T','\002','Z','\002','\360','\000','\000','Z','\002','\\','\002','\360','\000','\000','\\','\002',']','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','=','\270','Y','\300','l','\320','R','[','\320','[',']','\320',']','d','\320','d','f','\320','f','g','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','.','\250','Q','\330','\010',')','\320',')',';','\270','8','\300','1','\300','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','?','\270','q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','4','\260','A','\260','Q','\260','h','\270','i','\300','v','\310','V','\320','S','U','\320','U',']','\320',']','i','\320','i','j','\320','j','u','\320','u','v','\360','\000','\000','w','\001','E','\002','\360','\000','\000','E','\002','N','\002','\360','\000','\000','N','\002','U','\002','\360','\000','\000','U','\002','[','\002','\360','\000','\000','[','\002',']','\002','\360','\000','\000',']','\002','^','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','>','\270','i','\300','|','\320','S','\\','\320','\\','^','\320','^','e','\320','e','g','\320','g','h','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','/','\250','a','\330','\010','*','\320','*','=','\270','X','\300','Q','\300','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','@','\300','\001','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','5','\260','Q','\260','a','\260','x','\270','y','\310','\006','\310','f','\320','T','V','\320','V','^','\320','^','j','\320','j','k','\320','k','v','\320','v','w','\360','\000','\000','x','\001','F','\002','\360','\000','\000','F','\002','O','\002','\360','\000','\000','O','\002','V','\002','\360','\000','\000','V','\002','\\','\002','\360','\000','\000','\\','\002','^','\002','\360','\000','\000','^','\002','_','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','?','\270','y','\310','\014','\320','T',']','\320',']','_','\320','_','f','\320','f','h','\320','h','i','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','/','\250','a','\330','\010','*','\320','*','=','\270','X','\300','Q','\300','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','@','\300','\001','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','5','\260','Q','\260','a','\260','x','\270','y','\310','\006','\310','f','\320','T','V','\320','V','^','\320','^','j','\320','j','k','\320','k','v','\320','v','w','\360','\000','\000','x','\001','F','\002','\360','\000','\000','F','\002','L','\002','\360','\000','\000','L','\002','V','\002','\360','\000','\000','V','\002','\\','\002','\360','\000','\000','\\','\002','^','\002','\360','\000','\000','^','\002','_','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','?','\270','y','\310','\014','\320','T',']','\320',']','_','\320','_','f','\320','f','h','\320','h','i','\330','\010','\017','\210','x','\220','|','\240','2','\240','X','\250','Q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t','*','\250','\021','\330','\010','%','\240','^','\260','8','\270','1','\270','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',';','\270','1','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\014','\032','\320','\032','+','\250','1','\250','H','\260','A','\330','\021','\022','\330','\020','\032','\320','\032','0','\260','\001','\260','\021','\260','(','\270',')','\300','6','\310','\026','\310','r','\320','Q','Y','\320','Y','e','\320','e','f','\320','f','q','\320','q','r','\360','\000','\000','s','\001','A','\002','\360','\000','\000','A','\002','J','\002','\360','\000','\000','J','\002','Q','\002','\360','\000','\000','Q','\002','W','\002','\360','\000','\000','W','\002','Y','\002','\360','\000','\000','Y','\002','c','\002','\360','\000','\000','c','\002','l','\002','\360','\000','\000','l','\002','w','\002','\360','\000','\000','w','\002','}','\002','\360','\000','\000','}','\002','\177','\002','\360','\000','\000','\177','\002','@','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',':','\270',')','\300','<','\310','y','\320','X','Z','\320','Z','a','\320','a','c','\320','c','d','\330','\010','\017','\210','y','\230','\014','\240','B','\240','h','\250','j','\270','\014','\300','B','\300','h','\310','a','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','\035','\230','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\014','\000','\t',',','\250','1','\330','\010','\047','\320','\047','7','\260','x','\270','q','\300','\001','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','=','\270','Q','\330','\014','\031','\320','\031','*','\250','!','\250','8','\260','1','\330','\014','\034','\320','\034','-','\250','Q','\250','h','\260','a','\330','\021','\022','\330','\020','\032','\320','\032','2','\260','!','\260','1','\260','H','\270','I','\300','V','\310','6','\320','Q','S','\320','S','[','\320','[','g','\320','g','h','\320','h','s','\320','s','t','\360','\000','\000','u','\001','C','\002','\360','\000','\000','C','\002','L','\002','\360','\000','\000','L','\002','V','\002','\360','\000','\000','V','\002','\\','\002','\360','\000','\000','\\','\002','^','\002','\360','\000','\000','^','\002','h','\002','\360','\000','\000','h','\002','q','\002','\360','\000','\000','q','\002','~','\002','\360','\000','\000','~','\002','D','\003','\360','\000','\000','D','\003','F','\003','\360','\000','\000','F','\003','G','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','<','\270','I','\300','\\','\320','Q','Z','\320','Z','\\','\320','\\','c','\320','c','e','\320','e','f','\330','\010','\017','\210','y','\230','\014','\240','B','\240','h','\250','m','\270','<','\300','r','\310','\030','\320','Q','R','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','+','\250','!','\330','\010','&','\240','o','\260','X','\270','Q','\270','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','<','\270','A','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','1','\260','\021','\260','!','\260','8','\270','9','\300','F','\310','&','\320','P','R','\320','R','Z','\320','Z','c','\320','c','h','\320','h','n','\320','n','p','\320','p','x','\360','\000','\000','y','\001','E','\002','\360','\000','\000','E','\002','F','\002','\360','\000','\000','F','\002','Q','\002','\360','\000','\000','Q','\002','R','\002','\360','\000','\000','R','\002','`','\002','\360','\000','\000','`','\002','i','\002','\360','\000','\000','i','\002','p','\002','\360','\000','\000','p','\002','v','\002','\360','\000','\000','v','\002','x','\002','\360','\000','\000','x','\002','y','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',';','\270','9','\300','L','\320','P','Y','\320','Y','[','\320','[','b','\320','b','d','\320','d','e','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','7','\260','!','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','^','\320','^','c','\320','c','i','\320','i','k','\320','k','s','\320','s','|','\360','\000','\000','}','\001','D','\002','\360','\000','\000','D','\002','J','\002','\360','\000','\000','J','\002','L','\002','\360','\000','\000','L','\002','T','\002','\360','\000','\000','T','\002','`','\002','\360','\000','\000','`','\002','a','\002','\360','\000','\000','a','\002','l','\002','\360','\000','\000','l','\002','m','\002','\360','\000','\000','m','\002','{','\002','\360','\000','\000','{','\002','D','\003','\360','\000','\000','D','\003','K','\003','\360','\000','\000','K','\003','Q','\003','\360','\000','\000','Q','\003','S','\003','\360','\000','\000','S','\003','T','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\t','\270','\021','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t',')','\250','\001','\330','\010','$','\240','M','\260','\030','\270','\021','\270','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',':','\270','!','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','/','\250','q','\260','\001','\260','\030','\270','\031','\300','&','\310','\006','\310','b','\320','P','X','\320','X','a','\320','a','f','\320','f','l','\320','l','n','\320','n','v','\320','v','\177','\360','\000','\000','@','\002','G','\002','\360','\000','\000','G','\002','M','\002','\360','\000','\000','M','\002','O','\002','\360','\000','\000','O','\002','W','\002','\360','\000','\000','W','\002','c','\002','\360','\000','\000','c','\002','d','\002','\360','\000','\000','d','\002','o','\002','\360','\000','\000','o','\002','p','\002','\360','\000','\000','p','\002','~','\002','\360','\000','\000','~','\002','G','\003','\360','\000','\000','G','\003','N','\003','\360','\000','\000','N','\003','T','\003','\360','\000','\000','T','\003','V','\003','\360','\000','\000','V','\003','W','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','9','\270','\031','\300',',','\310','i','\320','W','Y','\320','Y','`','\320','`','b','\320','b','c','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\t','\270','\021','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','+','\250','!','\330','\010','&','\240','o','\260','X','\270','Q','\270','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','<','\270','A','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','1','\260','\021','\260','!','\260','8','\270','9','\300','F','\310','&','\320','P','R','\320','R','Z','\320','Z','c','\320','c','h','\320','h','n','\320','n','p','\320','p','x','\360','\000','\000','y','\001','B','\002','\360','\000','\000','B','\002','I','\002','\360','\000','\000','I','\002','O','\002','\360','\000','\000','O','\002','Q','\002','\360','\000','\000','Q','\002','Y','\002','\360','\000','\000','Y','\002','e','\002','\360','\000','\000','e','\002','f','\002','\360','\000','\000','f','\002','q','\002','\360','\000','\000','q','\002','r','\002','\360','\000','\000','r','\002','@','\003','\360','\000','\000','@','\003','I','\003','\360','\000','\000','I','\003','P','\003','\360','\000','\000','P','\003','V','\003','\360','\000','\000','V','\003','X','\003','\360','\000','\000','X','\003','Y','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',';','\270','9','\300','L','\320','P','Y','\320','Y','[','\320','[','b','\320','b','d','\320','d','e','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\t','\270','\021','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','#','\240','=','\260','\001','\260','\021','\330','\010','\035','\230','X','\240','W','\250','I','\260','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','%','\240','A','\330','\010',' ','\240','\t','\250','\030','\260','\021','\260','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\240','\177','\260','a','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','+','\250','1','\250','A','\250','X','\260','Y','\270','f','\300','F','\310','\"','\310','H','\320','T',']','\320',']','b','\320','b','h','\320','h','j','\320','j','r','\320','r','{','\360','\000','\000','|','\001','C','\002','\360','\000','\000','C','\002','I','\002','\360','\000','\000','I','\002','K','\002','\360','\000','\000','K','\002','S','\002','\360','\000','\000','S','\002','\\','\002','\360','\000','\000','\\','\002','d','\002','\360','\000','\000','d','\002','j','\002','\360','\000','\000','j','\002','l','\002','\360','\000','\000','l','\002','t','\002','\360','\000','\000','t','\002','@','\003','\360','\000','\000','@','\003','A','\003','\360','\000','\000','A','\003','L','\003','\360','\000','\000','L','\003','M','\003','\360','\000','\000','M','\003','[','\003','\360','\000','\000','[','\003','d','\003','\360','\000','\000','d','\003','k','\003','\360','\000','\000','k','\003','q','\003','\360','\000','\000','q','\003','s','\003','\360','\000','\000','s','\003','t','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','5','\260','Y','\270','l','\310',')','\320','S','U','\320','U','\\','\320','\\','^','\320','^','_','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\007','\260','z','\300','\021','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','#','\240','=','\260','\001','\260','\021','\330','\010','\035','\230','X','\240','W','\250','I','\260','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','\047','\240','a','\330','\010','\"','\240','+','\250','X','\260','Q','\260','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','8','\270','\001','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','-','\250','Q','\250','a','\250','x','\260','y','\300','\006','\300','f','\310','B','\310','h','\320','V','_','\320','_','d','\320','d','j','\320','j','l','\320','l','t','\320','t','}','\360','\000','\000','~','\001','E','\002','\360','\000','\000','E','\002','K','\002','\360','\000','\000','K','\002','M','\002','\360','\000','\000','M','\002','U','\002','\360','\000','\000','U','\002','^','\002','\360','\000','\000','^','\002','f','\002','\360','\000','\000','f','\002','l','\002','\360','\000','\000','l','\002','n','\002','\360','\000','\000','n','\002','v','\002','\360','\000','\000','v','\002','B','\003','\360','\000','\000','B','\003','C','\003','\360','\000','\000','C','\003','N','\003','\360','\000','\000','N','\003','O','\003','\360','\000','\000','O','\003',']','\003','\360','\000','\000',']','\003','f','\003','\360','\000','\000','f','\003','m','\003','\360','\000','\000','m','\003','s','\003','\360','\000','\000','s','\003','u','\003','\360','\000','\000','u','\003','v','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','7','\260','y','\300','\014','\310','I','\320','U','W','\320','W','^','\320','^','`','\320','`','a','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\007','\260','z','\300','\021','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','#','\240','=','\260','\001','\260','\021','\330','\010','\035','\230','X','\240','W','\250','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','+','\250','!','\330','\010','&','\240','o','\260','X','\270','Q','\270','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','<','\270','A','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','1','\260','\021','\260','!','\260','8','\270','9','\300','F','\310','&','\320','P','R','\320','R','Z','\320','Z','c','\320','c','h','\320','h','n','\320','n','p','\320','p','x','\360','\000','\000','y','\001','B','\002','\360','\000','\000','B','\002','J','\002','\360','\000','\000','J','\002','P','\002','\360','\000','\000','P','\002','R','\002','\360','\000','\000','R','\002','Z','\002','\360','\000','\000','Z','\002','f','\002','\360','\000','\000','f','\002','g','\002','\360','\000','\000','g','\002','r','\002','\360','\000','\000','r','\002','s','\002','\360','\000','\000','s','\002','A','\003','\360','\000','\000','A','\003','J','\003','\360','\000','\000','J','\003','Q','\003','\360','\000','\000','Q','\003','W','\003','\360','\000','\000','W','\003','Y','\003','\360','\000','\000','Y','\003','Z','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',';','\270','9','\300','L','\320','P','Y','\320','Y','[','\320','[','b','\320','b','d','\320','d','e','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','5','\260','\n','\270','!','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','^','\320','^','d','\320','d','j','\320','j','l','\320','l','t','\320','t','}','\360','\000','\000','~','\001','C','\002','\360','\000','\000','C','\002','I','\002','\360','\000','\000','I','\002','K','\002','\360','\000','\000','K','\002','S','\002','\360','\000','\000','S','\002','\\','\002','\360','\000','\000','\\','\002','c','\002','\360','\000','\000','c','\002','i','\002','\360','\000','\000','i','\002','k','\002','\360','\000','\000','k','\002','s','\002','\360','\000','\000','s','\002','\177','\002','\360','\000','\000','\177','\002','@','\003','\360','\000','\000','@','\003','K','\003','\360','\000','\000','K','\003','L','\003','\360','\000','\000','L','\003','Z','\003','\360','\000','\000','Z','\003','c','\003','\360','\000','\000','c','\003','j','\003','\360','\000','\000','j','\003','p','\003','\360','\000','\000','p','\003','r','\003','\360','\000','\000','r','\003','s','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','*','\250','\021','\330','\010','%','\240','^','\260','8','\270','1','\270','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047',';','\270','1','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','0','\260','\001','\260','\021','\260','(','\270',')','\300','6','\310','\026','\310','r','\320','Q','Y','\320','Y','b','\320','b','h','\320','h','n','\320','n','p','\320','p','x','\360','\000','\000','y','\001','B','\002','\360','\000','\000','B','\002','G','\002','\360','\000','\000','G','\002','M','\002','\360','\000','\000','M','\002','O','\002','\360','\000','\000','O','\002','W','\002','\360','\000','\000','W','\002','`','\002','\360','\000','\000','`','\002','g','\002','\360','\000','\000','g','\002','m','\002','\360','\000','\000','m','\002','o','\002','\360','\000','\000','o','\002','w','\002','\360','\000','\000','w','\002','C','\003','\360','\000','\000','C','\003','D','\003','\360','\000','\000','D','\003','O','\003','\360','\000','\000','O','\003','P','\003','\360','\000','\000','P','\003','^','\003','\360','\000','\000','^','\003','d','\003','\360','\000','\000','d','\003','n','\003','\360','\000','\000','n','\003','t','\003','\360','\000','\000','t','\003','v','\003','\360','\000','\000','v','\003','w','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',':','\270',')','\300','<','\310','y','\320','X','Z','\320','Z','a','\320','a','c','\320','c','d','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','+','\250','!','\330','\010','&','\240','o','\260','X','\270','Q','\270','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','<','\270','A','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','1','\260','\021','\260','!','\260','8','\270','9','\300','F','\310','&','\320','P','R','\320','R','Z','\320','Z','c','\320','c','i','\320','i','o','\320','o','q','\320','q','y','\360','\000','\000','z','\001','C','\002','\360','\000','\000','C','\002','H','\002','\360','\000','\000','H','\002','N','\002','\360','\000','\000','N','\002','P','\002','\360','\000','\000','P','\002','X','\002','\360','\000','\000','X','\002','a','\002','\360','\000','\000','a','\002','h','\002','\360','\000','\000','h','\002','n','\002','\360','\000','\000','n','\002','p','\002','\360','\000','\000','p','\002','x','\002','\360','\000','\000','x','\002','D','\003','\360','\000','\000','D','\003','E','\003','\360','\000','\000','E','\003','P','\003','\360','\000','\000','P','\003','Q','\003','\360','\000','\000','Q','\003','_','\003','\360','\000','\000','_','\003','h','\003','\360','\000','\000','h','\003','o','\003','\360','\000','\000','o','\003','u','\003','\360','\000','\000','u','\003','w','\003','\360','\000','\000','w','\003','x','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ',';','\270','9','\300','L','\320','P','Y','\320','Y','[','\320','[','b','\320','b','d','\320','d','e','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t',',','\250','1','\330','\010','\047','\320','\047','7','\260','x','\270','q','\300','\001','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','=','\270','Q','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','2','\260','!','\260','1','\260','H','\270','I','\300','V','\310','6','\320','Q','S','\320','S','[','\320','[','d','\320','d','j','\320','j','p','\320','p','r','\320','r','z','\360','\000','\000','{','\001','D','\002','\360','\000','\000','D','\002','I','\002','\360','\000','\000','I','\002','O','\002','\360','\000','\000','O','\002','Q','\002','\360','\000','\000','Q','\002','Y','\002','\360','\000','\000','Y','\002','b','\002','\360','\000','\000','b','\002','i','\002','\360','\000','\000','i','\002','o','\002','\360','\000','\000','o','\002','q','\002','\360','\000','\000','q','\002','y','\002','\360','\000','\000','y','\002','E','\003','\360','\000','\000','E','\003','F','\003','\360','\000','\000','F','\003','Q','\003','\360','\000','\000','Q','\003','R','\003','\360','\000','\000','R','\003','`','\003','\360','\000','\000','`','\003','f','\003','\360','\000','\000','f','\003','p','\003','\360','\000','\000','p','\003','v','\003','\360','\000','\000','v','\003','x','\003','\360','\000','\000','x','\003','y','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','<','\270','I','\300','\\','\320','Q','Z','\320','Z','\\','\320','\\','c','\320','c','e','\320','e','f','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','-','\250','A','\330','\010','(','\320','(','9','\270','\030','\300','\021','\300','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','>','\270','a','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','3','\260','1','\260','A','\260','X','\270','Y','\300','f','\310','F','\320','R','T','\320','T','\\','\320','\\','e','\320','e','k','\320','k','q','\320','q','s','\320','s','{','\360','\000','\000','|','\001','E','\002','\360','\000','\000','E','\002','J','\002','\360','\000','\000','J','\002','P','\002','\360','\000','\000','P','\002','R','\002','\360','\000','\000','R','\002','Z','\002','\360','\000','\000','Z','\002','c','\002','\360','\000','\000','c','\002','j','\002','\360','\000','\000','j','\002','p','\002','\360','\000','\000','p','\002','r','\002','\360','\000','\000','r','\002','z','\002','\360','\000','\000','z','\002','F','\003','\360','\000','\000','F','\003','G','\003','\360','\000','\000','G','\003','R','\003','\360','\000','\000','R','\003','S','\003','\360','\000','\000','S','\003','a','\003','\360','\000','\000','a','\003','g','\003','\360','\000','\000','g','\003','q','\003','\360','\000','\000','q','\003','w','\003','\360','\000','\000','w','\003','y','\003','\360','\000','\000','y','\003','z','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','=','\270','Y','\300','l','\320','R','[','\320','[',']','\320',']','d','\320','d','f','\320','f','g','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','.','\250','Q','\330','\010',')','\320',')',';','\270','8','\300','1','\300','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','?','\270','q','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','4','\260','A','\260','Q','\260','h','\270','i','\300','v','\310','V','\320','S','U','\320','U',']','\320',']','f','\320','f','l','\320','l','r','\320','r','t','\320','t','|','\360','\000','\000','}','\001','F','\002','\360','\000','\000','F','\002','K','\002','\360','\000','\000','K','\002','Q','\002','\360','\000','\000','Q','\002','S','\002','\360','\000','\000','S','\002','[','\002','\360','\000','\000','[','\002','d','\002','\360','\000','\000','d','\002','k','\002','\360','\000','\000','k','\002','q','\002','\360','\000','\000','q','\002','s','\002','\360','\000','\000','s','\002','{','\002','\360','\000','\000','{','\002','G','\003','\360','\000','\000','G','\003','H','\003','\360','\000','\000','H','\003','S','\003','\360','\000','\000','S','\003','T','\003','\360','\000','\000','T','\003','b','\003','\360','\000','\000','b','\003','h','\003','\360','\000','\000','h','\003','r','\003','\360','\000','\000','r','\003','x','\003','\360','\000','\000','x','\003','z','\003','\360','\000','\000','z','\003','{','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','>','\270','i','\300','|','\320','S','\\','\320','\\','^','\320','^','e','\320','e','g','\320','g','h','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','/','\250','a','\330','\010','*','\320','*','=','\270','X','\300','Q','\300','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','@','\300','\001','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','5','\260','Q','\260','a','\260','x','\270','y','\310','\006','\310','f','\320','T','V','\320','V','^','\320','^','g','\320','g','m','\320','m','s','\320','s','u','\320','u','}','\360','\000','\000','~','\001','G','\002','\360','\000','\000','G','\002','L','\002','\360','\000','\000','L','\002','R','\002','\360','\000','\000','R','\002','T','\002','\360','\000','\000','T','\002','\\','\002','\360','\000','\000','\\','\002','e','\002','\360','\000','\000','e','\002','l','\002','\360','\000','\000','l','\002','r','\002','\360','\000','\000','r','\002','t','\002','\360','\000','\000','t','\002','|','\002','\360','\000','\000','|','\002','H','\003','\360','\000','\000','H','\003','I','\003','\360','\000','\000','I','\003','T','\003','\360','\000','\000','T','\003','U','\003','\360','\000','\000','U','\003','c','\003','\360','\000','\000','c','\003','i','\003','\360','\000','\000','i','\003','s','\003','\360','\000','\000','s','\003','y','\003','\360','\000','\000','y','\003','{','\003','\360','\000','\000','{','\003','|','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','?','\270','y','\310','\014','\320','T',']','\320',']','_','\320','_','f','\320','f','h','\320','h','i','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','0','\250','q','\330','\010','+','\320','+','?','\270','x','\300','q','\310','\001','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','A','\300','\021','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','6','\260','a','\260','q','\270','\010','\300','\t','\310','\026','\310','v','\320','U','W','\320','W','_','\320','_','h','\320','h','n','\320','n','t','\320','t','v','\320','v','~','\360','\000','\000','\177','\001','H','\002','\360','\000','\000','H','\002','M','\002','\360','\000','\000','M','\002','S','\002','\360','\000','\000','S','\002','U','\002','\360','\000','\000','U','\002',']','\002','\360','\000','\000',']','\002','f','\002','\360','\000','\000','f','\002','m','\002','\360','\000','\000','m','\002','s','\002','\360','\000','\000','s','\002','u','\002','\360','\000','\000','u','\002','}','\002','\360','\000','\000','}','\002','I','\003','\360','\000','\000','I','\003','J','\003','\360','\000','\000','J','\003','U','\003','\360','\000','\000','U','\003','V','\003','\360','\000','\000','V','\003','d','\003','\360','\000','\000','d','\003','j','\003','\360','\000','\000','j','\003','t','\003','\360','\000','\000','t','\003','z','\003','\360','\000','\000','z','\003','|','\003','\360','\000','\000','|','\003','}','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','@','\300','\t','\310','\034','\320','U','^','\320','^','`','\320','`','g','\320','g','i','\320','i','j','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','1','\260','\001','\330','\010',',','\320',',','A','\300','\030','\310','\021','\310','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','B','\300','!','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','7','\260','q','\270','\001','\270','\030','\300','\031','\310','&','\320','P','V','\320','V','X','\320','X','`','\320','`','i','\320','i','o','\320','o','u','\320','u','w','\320','w','\177','\360','\000','\000','@','\002','I','\002','\360','\000','\000','I','\002','N','\002','\360','\000','\000','N','\002','T','\002','\360','\000','\000','T','\002','V','\002','\360','\000','\000','V','\002','^','\002','\360','\000','\000','^','\002','g','\002','\360','\000','\000','g','\002','n','\002','\360','\000','\000','n','\002','t','\002','\360','\000','\000','t','\002','v','\002','\360','\000','\000','v','\002','~','\002','\360','\000','\000','~','\002','J','\003','\360','\000','\000','J','\003','K','\003','\360','\000','\000','K','\003','V','\003','\360','\000','\000','V','\003','W','\003','\360','\000','\000','W','\003','e','\003','\360','\000','\000','e','\003','k','\003','\360','\000','\000','k','\003','u','\003','\360','\000','\000','u','\003','{','\003','\360','\000','\000','{','\003','}','\003','\360','\000','\000','}','\003','~','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','A','\300','\031','\310',',','\320','V','_','\320','_','a','\320','a','h','\320','h','j','\320','j','k','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','2','\260','\021','\330','\010','-','\320','-','C','\300','8','\310','1','\310','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','C','\300','1','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','8','\270','\001','\270','\021','\270','(','\300',')','\310','6','\320','Q','W','\320','W','Y','\320','Y','a','\320','a','j','\320','j','p','\320','p','v','\320','v','x','\360','\000','\000','y','\001','A','\002','\360','\000','\000','A','\002','J','\002','\360','\000','\000','J','\002','O','\002','\360','\000','\000','O','\002','U','\002','\360','\000','\000','U','\002','W','\002','\360','\000','\000','W','\002','_','\002','\360','\000','\000','_','\002','h','\002','\360','\000','\000','h','\002','o','\002','\360','\000','\000','o','\002','u','\002','\360','\000','\000','u','\002','w','\002','\360','\000','\000','w','\002','\177','\002','\360','\000','\000','\177','\002','K','\003','\360','\000','\000','K','\003','L','\003','\360','\000','\000','L','\003','W','\003','\360','\000','\000','W','\003','X','\003','\360','\000','\000','X','\003','f','\003','\360','\000','\000','f','\003','l','\003','\360','\000','\000','l','\003','v','\003','\360','\000','\000','v','\003','|','\003','\360','\000','\000','|','\003','~','\003','\360','\000','\000','~','\003','\177','\003','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','B','\300',')','\310','<','\320','W','`','\320','`','b','\320','b','i','\320','i','k','\320','k','l','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','3','\260','!','\330','\010','.','\320','.','E','\300','X','\310','Q','\310','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','D','\300','A','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','9','\270','\021','\270','!','\270','8','\300','9','\310','F','\320','R','X','\320','X','Z','\320','Z','b','\320','b','k','\320','k','q','\320','q','w','\320','w','y','\360','\000','\000','z','\001','B','\002','\360','\000','\000','B','\002','K','\002','\360','\000','\000','K','\002','P','\002','\360','\000','\000','P','\002','V','\002','\360','\000','\000','V','\002','X','\002','\360','\000','\000','X','\002','`','\002','\360','\000','\000','`','\002','i','\002','\360','\000','\000','i','\002','p','\002','\360','\000','\000','p','\002','v','\002','\360','\000','\000','v','\002','x','\002','\360','\000','\000','x','\002','@','\003','\360','\000','\000','@','\003','L','\003','\360','\000','\000','L','\003','M','\003','\360','\000','\000','M','\003','X','\003','\360','\000','\000','X','\003','Y','\003','\360','\000','\000','Y','\003','g','\003','\360','\000','\000','g','\003','m','\003','\360','\000','\000','m','\003','w','\003','\360','\000','\000','w','\003','}','\003','\360','\000','\000','}','\003','\177','\003','\360','\000','\000','\177','\003','@','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','C','\300','9','\310','L','\320','X','a','\320','a','c','\320','c','j','\320','j','l','\320','l','m','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','4','\260','1','\330','\010','/','\320','/','G','\300','x','\310','q','\320','P','Q','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','E','\300','Q','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',':','\270','!','\270','1','\270','H','\300','I','\310','V','\320','S','Y','\320','Y','[','\320','[','c','\320','c','l','\320','l','r','\320','r','x','\320','x','z','\360','\000','\000','{','\001','C','\002','\360','\000','\000','C','\002','L','\002','\360','\000','\000','L','\002','Q','\002','\360','\000','\000','Q','\002','W','\002','\360','\000','\000','W','\002','Y','\002','\360','\000','\000','Y','\002','a','\002','\360','\000','\000','a','\002','j','\002','\360','\000','\000','j','\002','q','\002','\360','\000','\000','q','\002','w','\002','\360','\000','\000','w','\002','y','\002','\360','\000','\000','y','\002','A','\003','\360','\000','\000','A','\003','M','\003','\360','\000','\000','M','\003','N','\003','\360','\000','\000','N','\003','Y','\003','\360','\000','\000','Y','\003','Z','\003','\360','\000','\000','Z','\003','h','\003','\360','\000','\000','h','\003','n','\003','\360','\000','\000','n','\003','x','\003','\360','\000','\000','x','\003','~','\003','\360','\000','\000','~','\003','@','\004','\360','\000','\000','@','\004','A','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','D','\300','I','\310','\\','\320','Y','b','\320','b','d','\320','d','k','\320','k','m','\320','m','n','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','5','\260','A','\330','\010','0','\320','0','I','\310','\030','\320','Q','R','\320','R','S','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','F','\300','a','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',';','\270','1','\270','A','\270','X','\300','Y','\310','f','\320','T','Z','\320','Z','\\','\320','\\','d','\320','d','m','\320','m','s','\320','s','y','\320','y','{','\360','\000','\000','|','\001','D','\002','\360','\000','\000','D','\002','M','\002','\360','\000','\000','M','\002','R','\002','\360','\000','\000','R','\002','X','\002','\360','\000','\000','X','\002','Z','\002','\360','\000','\000','Z','\002','b','\002','\360','\000','\000','b','\002','k','\002','\360','\000','\000','k','\002','r','\002','\360','\000','\000','r','\002','x','\002','\360','\000','\000','x','\002','z','\002','\360','\000','\000','z','\002','B','\003','\360','\000','\000','B','\003','N','\003','\360','\000','\000','N','\003','O','\003','\360','\000','\000','O','\003','Z','\003','\360','\000','\000','Z','\003','[','\003','\360','\000','\000','[','\003','i','\003','\360','\000','\000','i','\003','o','\003','\360','\000','\000','o','\003','y','\003','\360','\000','\000','y','\003','\177','\003','\360','\000','\000','\177','\003','A','\004','\360','\000','\000','A','\004','B','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','E','\300','Y','\310','l','\320','Z','c','\320','c','e','\320','e','l','\320','l','n','\320','n','o','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','6','\260','Q','\330','\010','1','\320','1','K','\310','8','\320','S','T','\320','T','U','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','G','\300','q','\330','\014','\031','\230','\036','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','<','\270','A','\270','Q','\270','h','\300','i','\310','v','\320','U','[','\320','[',']','\320',']','e','\320','e','n','\320','n','t','\320','t','z','\320','z','|','\360','\000','\000','}','\001','E','\002','\360','\000','\000','E','\002','N','\002','\360','\000','\000','N','\002','S','\002','\360','\000','\000','S','\002','Y','\002','\360','\000','\000','Y','\002','[','\002','\360','\000','\000','[','\002','c','\002','\360','\000','\000','c','\002','l','\002','\360','\000','\000','l','\002','s','\002','\360','\000','\000','s','\002','y','\002','\360','\000','\000','y','\002','{','\002','\360','\000','\000','{','\002','C','\003','\360','\000','\000','C','\003','O','\003','\360','\000','\000','O','\003','P','\003','\360','\000','\000','P','\003','[','\003','\360','\000','\000','[','\003','\\','\003','\360','\000','\000','\\','\003','j','\003','\360','\000','\000','j','\003','p','\003','\360','\000','\000','p','\003','z','\003','\360','\000','\000','z','\003','@','\004','\360','\000','\000','@','\004','B','\004','\360','\000','\000','B','\004','C','\004','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','F','\300','i','\310','|','\320','[','d','\320','d','f','\320','f','m','\320','m','o','\320','o','p','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250','6','\260','\025','\260','i','\270','q','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','!','\240','\035','\250','a','\250','q','\330','\010',' ','\240','\r','\250','Q','\250','a','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','X','\240','X','\250','W','\260','A','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\020','\000','\t','%','\240','A','\330','\010',' ','\240','\t','\250','\030','\260','\021','\260','!','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\240','\177','\260','a','\330','\014','\030','\320','\030',')','\250','\021','\250','(','\260','!','\330','\014','\030','\320','\030',')','\250','\021','\250','(','\260','!','\330','\014','\027','\320','\027','(','\250','\001','\250','\030','\260','\021','\330','\014','\031','\320','\031','*','\250','!','\250','8','\260','1','\330','\021','\022','\330','\020','\032','\320','\032','+','\250','1','\250','A','\250','X','\260','Y','\270','f','\300','F','\310','\"','\310','H','\320','T',']','\320',']','c','\320','c','i','\320','i','k','\320','k','s','\320','s','|','\360','\000','\000','}','\001','B','\002','\360','\000','\000','B','\002','H','\002','\360','\000','\000','H','\002','J','\002','\360','\000','\000','J','\002','R','\002','\360','\000','\000','R','\002','[','\002','\360','\000','\000','[','\002','b','\002','\360','\000','\000','b','\002','h','\002','\360','\000','\000','h','\002','j','\002','\360','\000','\000','j','\002','r','\002','\360','\000','\000','r','\002','~','\002','\360','\000','\000','~','\002','\177','\002','\360','\000','\000','\177','\002','J','\003','\360','\000','\000','J','\003','K','\003','\360','\000','\000','K','\003','Y','\003','\360','\000','\000','Y','\003','b','\003','\360','\000','\000','b','\003','k','\003','\360','\000','\000','k','\003','q','\003','\360','\000','\000','q','\003','s','\003','\360','\000','\000','s','\003','}','\003','\360','\000','\000','}','\003','F','\004','\360','\000','\000','F','\004','O','\004','\360','\000','\000','O','\004','U','\004','\360','\000','\000','U','\004','W','\004','\360','\000','\000','W','\004','a','\004','\360','\000','\000','a','\004','j','\004','\360','\000','\000','j','\004','r','\004','\360','\000','\000','r','\004','x','\004','\360','\000','\000','x','\004','z','\004','\360','\000','\000','z','\004','D','\005','\360','\000','\000','D','\005','M','\005','\360','\000','\000','M','\005','W','\005','\360','\000','\000','W','\005',']','\005','\360','\000','\000',']','\005','_','\005','\360','\000','\000','_','\005','`','\005','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','5','\260','Y','\270','l','\310',')','\320','S','U','\320','U','\\','\320','\\','^','\320','^','_','\330','\010','\017','\210','y','\230','\014','\240','B','\240','f','\250','F','\260','%','\260','y','\300','\014','\310','L','\320','X','Z','\320','Z','`','\320','`','f','\320','f','k','\320','k','t','\360','\000','\000','u','\001','A','\002','\360','\000','\000','A','\002','M','\002','\360','\000','\000','M','\002','O','\002','\360','\000','\000','O','\002','U','\002','\360','\000','\000','U','\002','[','\002','\360','\000','\000','[','\002','`','\002','\360','\000','\000','`','\002','i','\002','\360','\000','\000','i','\002','t','\002','\360','\000','\000','t','\002','@','\003','\360','\000','\000','@','\003','B','\003','\360','\000','\000','B','\003','H','\003','\360','\000','\000','H','\003','N','\003','\360','\000','\000','N','\003','S','\003','\360','\000','\000','S','\003','\\','\003','\360','\000','\000','\\','\003',']','\003','\200','A','\340','\010','!','\240','\035','\250','a','\250','q','\330','\010','#','\240','=','\260','\001','\260','\021','\330','\010','\035','\230','X','\240','Q','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','v','\300','V','\310','2','\310','X','\320','U','^','\320','^','f','\320','f','l','\320','l','n','\320','n','v','\360','\000','\000','w','\001','C','\002','\360','\000','\000','C','\002','D','\002','\360','\000','\000','D','\002','O','\002','\360','\000','\000','O','\002','P','\002','\360','\000','\000','P','\002','^','\002','\360','\000','\000','^','\002','g','\002','\360','\000','\000','g','\002','n','\002','\360','\000','\000','n','\002','t','\002','\360','\000','\000','t','\002','v','\002','\360','\000','\000','v','\002','w','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','V','\250',':','\260','Q','\200','A','\340','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','Y','\240','a','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','w','\300','f','\310','B','\310','h','\320','V','_','\320','_','f','\320','f','l','\320','l','n','\320','n','v','\360','\000','\000','w','\001','C','\002','\360','\000','\000','C','\002','D','\002','\360','\000','\000','D','\002','O','\002','\360','\000','\000','O','\002','P','\002','\360','\000','\000','P','\002','^','\002','\360','\000','\000','^','\002','g','\002','\360','\000','\000','g','\002','n','\002','\360','\000','\000','n','\002','t','\002','\360','\000','\000','t','\002','v','\002','\360','\000','\000','v','\002','w','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','W','\250','I','\260','Q','\200','A','\340','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\"','\240','-','\250','q','\260','\001','\330','\010','\035','\230','Y','\240','a','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','\047','\240','a','\330','\010','\"','\240','+','\250','X','\260','Q','\260','a','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','8','\270','\001','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032','-','\250','Q','\250','a','\250','x','\260','y','\300','\007','\300','v','\310','R','\310','x','\320','W','`','\320','`','g','\320','g','m','\320','m','o','\320','o','w','\360','\000','\000','x','\001','D','\002','\360','\000','\000','D','\002','E','\002','\360','\000','\000','E','\002','P','\002','\360','\000','\000','P','\002','Q','\002','\360','\000','\000','Q','\002','_','\002','\360','\000','\000','_','\002','h','\002','\360','\000','\000','h','\002','o','\002','\360','\000','\000','o','\002','u','\002','\360','\000','\000','u','\002','w','\002','\360','\000','\000','w','\002','x','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','7','\260','y','\300','\014','\310','I','\320','U','W','\320','W','^','\320','^','`','\320','`','a','\330','\010','\017','\210','x','\220','|','\240','2','\240','W','\250','I','\260','Q','\200','A','\340','\010','\"','\240','-','\250','q','\260','\001','\330','\010','#','\240','=','\260','\001','\260','\021','\330','\010','\035','\230','Y','\240','a','\330','\010','\"','\240',',','\250','a','\250','q','\330','\010','\032','\230',',','\240','a','\240','x','\250','q','\330','\010','\036','\230','o','\250','Q','\250','h','\260','a','\360','\n','\000','\t','&','\240','Q','\330','\010','!','\240','\032','\250','8','\260','1','\260','A','\340','\010','\030','\230','\001','\330','\010','\t','\330','\021','\022','\330','\020','\033','\230','7','\240','%','\320','\047','7','\260','q','\330','\014','\026','\320','\026','\047','\240','q','\250','\010','\260','\001','\330','\021','\022','\330','\020','\032','\320','\032',',','\250','A','\250','Q','\250','h','\260','i','\270','w','\300','f','\310','B','\310','h','\320','V','_','\320','_','g','\320','g','m','\320','m','o','\320','o','w','\360','\000','\000','x','\001','D','\002','\360','\000','\000','D','\002','E','\002','\360','\000','\000','E','\002','P','\002','\360','\000','\000','P','\002','Q','\002','\360','\000','\000','Q','\002','_','\002','\360','\000','\000','_','\002','h','\002','\360','\000','\000','h','\002','o','\002','\360','\000','\000','o','\002','u','\002','\360','\000','\000','u','\002','w','\002','\360','\000','\000','w','\002','x','\002','\330','\020','\023','\220','8','\230','3','\230','a','\330','\024','\032','\230','+','\240','W','\250','A','\330','\024','\032','\230','+','\240','Q','\330','\024',')','\250','\021','\340','\021','\022','\330','\020','\034','\230','A','\330','\010','\013','\210','8','\220','3','\220','a','\330','\014','\037','\230','q','\320',' ','6','\260','i','\270','|','\310','9','\320','T','V','\320','V',']','\320',']','_','\320','_','`','\330','\010','\017','\210','x','\220','|','\240','2','\240','W','\250','J','\260','a','\200','A','\340','\r','\016','\330','\014','\027','\220','\177','\240','a','\330','\010','\013','\210','4','\210','q','\330','\014','\022','\220',',','\230','a','\230','q','\200','A','\360','\010','\000','\t','\021','\220','\004','\220','A','\330','\010','\013','\320','\013','\035','\230','W','\240','A','\330','\014','\020','\220','\n','\230','!','\230','5','\240','\017','\250','q','\330','\014','\023','\220','5','\230','\r','\240','V','\250','1','\340','\014','\023','\220','5','\230','\r','\240','U','\250','!','\200','A','\360','\010','\000','\t','\021','\220','\004','\220','A','\330','\010','\014','\210','L','\320','\030','(','\250','\013','\260','6','\270','\021','\330','\014','\021','\220','\034','\230','Q','\230','k','\250','\021','\320','*','<','\270','A','\330','\014','\021','\220','\025','\220','a','\220','~','\240','Q','\240','n','\260','A','\330','\010','\r','\320','\r','\036','\230','a','\200','A','\360','\010','\000','\t','\021','\220','\004','\220','A','\330','\010','\016','\210','k','\230','\021','\330','\010','\014','\210','M','\230','\025','\230','a','\330','\014','\017','\210','q','\220','\r','\230','T','\320','!','7','\260','q','\270','\001','\330','\010','\017','\210','q','\200','A','\360','\010','\000','\t','\021','\220','\004','\220','A','\330','\010','\020','\220','\005','\220','[','\240','\001','\240','\033','\250','A','\250','Q','\330','\010','\013','\210','6','\220','\023','\220','A','\330','\014','\024','\220','E','\230','\033','\240','A','\240','[','\260','\001','\260','\021','\330','\010','\017','\210','q','\200','A','\360','\010','\000','\t','\021','\220','\004','\220','A','\330','\010','\026','\220','a','\340','\010','\014','\210','G','\220','1','\330','\014','\017','\210','t','\220','3','\220','e','\230','1','\330','\020','\030','\230','\006','\230','a','\230','q','\330','\020','\023','\220','4','\320','\027','/','\250','q','\260','\005','\260','Q','\330','\024','\031','\230','\033','\240','A','\240','T','\250','\021','\250','+','\260','V','\270','1','\270','A','\330','\024','\"','\240','!','\330','\021','\025','\220','S','\230','\005','\230','Q','\330','\020','\025','\220','\\','\240','\021','\240','$','\240','a','\320','\047','9','\270','\026','\270','q','\300','\001','\330','\020','\025','\220','U','\230','!','\230','>','\250','\021','\250','\047','\260','\026','\260','q','\270','\001','\340','\010','\013','\210','1','\330','\014','\031','\230','\021','\330','\014','\017','\210','t','\320','\023','$','\240','A','\240','T','\250','\021','\250','!','\330','\020','\035','\230','Q','\330','\014','\017','\210','s','\220','!','\220','6','\230','\022','\230','1','\330','\020','\024','\220','C','\220','~','\240','Y','\250','a','\250','u','\260','A','\330','\024','\031','\230','\021','\330','\024','\027','\220','r','\230','\022','\230','3','\230','a','\230','q','\330','\030',' ','\240','\004','\240','A','\240','Q','\330','\030','\033','\230','4','\320','\037','7','\260','q','\270','\014','\300','A','\330','\034','!','\240','\033','\250','A','\250','[','\270','\001','\270','\033','\300','A','\330','\034','*','\250','!','\340','\010','\013','\210','5','\220','\003','\220','1','\330','\014','\017','\210','q','\330','\020','\025','\220','U','\230','!','\320','\033','+','\250','4','\250','q','\330','\014','\021','\320','\021','\"','\240','!','\200','A','\360','\n','\000','\t','\017','\210','d','\220','(','\230','(','\240','%','\240','q','\330','\010','\013','\210','4','\210','z','\230','\021','\230','%','\230','q','\330','\014','\022','\220','$','\220','a','\220','q','\330','\010','\017','\210','q','\200','A','\360','\n','\000','\t','\020','\210','t','\220','8','\230','5','\240','\001','\240','\021','\200','A','\360','\n','\000','\t','\020','\210','t','\220','8','\230','5','\240','\001','\240','\037','\260','\005','\260','Q','\200','A','\360','\n','\000','\t','\020','\210','t','\220','8','\230','5','\240','\005','\240','Q','\200','A','\360','\n','\000','\t','\021','\220','\004','\220','A','\330','\010','\016','\210','k','\230','\021','\330','\010','\014','\210','N','\230','%','\230','q','\330','\014','\017','\210','q','\220','\016','\230','e','\240','<','\250','q','\260','\013','\270','1','\270','A','\330','\010','\017','\210','q','\200','A','\360','\014','\000','\t','\021','\220','\004','\220','A','\340','\010','\021','\320','\021','&','\240','a','\240','t','\250','1','\330','\010','\014','\210','C','\210','}','\230','I','\240','Q','\240','e','\250','1','\330','\014','\024','\220','D','\320','\030','.','\250','a','\250','q','\330','\014','\024','\220','E','\230','\033','\240','A','\240','Z','\250','q','\260','\001','\330','\014','\017','\210','v','\220','V','\320','\033','2','\260','#','\260','V','\270','6','\300','\021','\330','\020',')','\250','\021','\250','(','\260','#','\260','Q','\330','\021','\027','\220','v','\320','\035','7','\260','s','\270','&','\300','\006','\300','a','\330','\020',',','\250','A','\250','X','\260','S','\270','\001','\340','\010','\t','\330','\014','\027','\320','\027','\047','\240','q','\250','\001','\340','\014',' ','\240','\001','\240','\021','\330','\010','\017','\210','q','\200','A','\360','\016','\000','\t','\021','\220','\004','\220','A','\330','\010','\013','\210','4','\210','u','\220','A','\330','\014','\020','\320','\020',' ','\240','\001','\330','\010','\016','\210','e','\220','8','\230','7','\240','!','\330','\010','\013','\210','4','\210','z','\230','\021','\230','%','\230','q','\330','\014','\022','\220','$','\220','a','\220','q','\330','\010','\013','\320','\013','\035','\230','W','\240','E','\250','\021','\330','\020','\032','\230','!','\230','5','\240','\017','\250','q','\330','\014','\024','\220','E','\230','\035','\240','a','\330','\014','\017','\210','s','\220','!','\220','5','\230','\003','\230','1','\330','\020','\027','\220','~','\240','Q','\240','c','\250','\021','\250','$','\250','f','\260','A','\340','\020','\027','\320','\027','(','\250','\001','\250','\025','\250','m','\270','1','\270','A','\330',')','/','\250','q','\330',')','1','\260','\024','\260','Q','\330','\r','\037','\230','w','\240','e','\250','1','\330','\020','\032','\230','!','\230','5','\240','\017','\250','q','\330','\014','\017','\210','s','\220','!','\220','5','\230','\003','\230','1','\330','\020','\027','\220','~','\240','Q','\240','c','\250','\021','\250','!','\340','\020','\027','\320','\027','(','\250','\001','\250','\025','\250','m','\270','1','\270','A','\330',')','0','\260','\004','\260','A','\340','\014','\023','\220','3','\220','a','\220','v','\230','S','\240','\001','\240','\025','\240','c','\250','\027','\260','\001','\200','A','\360','\016','\000','\t','\021','\220','\004','\220','A','\340','\010','\033','\230','2','\230','\\','\250','\025','\250','k','\270','\021','\270','+','\300','Q','\300','a','\330','\034',' ','\240','\016','\250','e','\260',';','\270','e','\300','1','\330','\010','#','\240','2','\240','S','\250','\005','\250','\\','\270','\021','\270','\"','\270','A','\270','Q','\330','$','(','\250','\005','\250','U','\260','!','\360','\006','\000','\t','\020','\210','t','\220','1','\220','A','\330','\010','\027','\220','q','\330','\010','#','\240','4','\320','\047','B','\300','!','\330','\010','\013','\210','5','\220','\004','\220','D','\230','\n','\240','!','\240','4','\240','q','\250','\004','\250','A','\330','\014','\020','\220','\003','\220','7','\230',')','\240','1','\240','A','\330','\020','\023','\220','4','\220','z','\240','\021','\240','%','\240','q','\330','\024','\025','\340','\020','\021','\330','\024',' ','\240','\001','\320','!','9','\270','\021','\270','&','\300','\001','\330','\027','\030','\330','\024','\032','\320','\032','G','\300','q','\330','\030','\033','\230','1','\230','A','\330','\030','\034','\230','E','\240','\021','\240','!','\330','\024','\032','\230',')','\240','1','\240','A','\340','\010','\013','\320','\013','\035','\230','W','\240','A','\330','\020','\024','\220','J','\230','a','\230','u','\240','O','\260','1','\330','\014','\047','\240','u','\250','M','\270','\021','\330','\r','\037','\230','w','\240','a','\330','\020','\024','\220','J','\230','a','\230','u','\240','O','\260','1','\330','\014','\047','\240','u','\250','M','\270','\031','\300','!','\340','\014','\047','\240','t','\250','4','\250','q','\260','\005','\260','Q','\340','\010','\013','\210','3','\210','a','\210','~','\230','S','\240','\003','\240','1','\240','A','\330','\014','\020','\320','\020','!','\240','\021','\240','!','\330','\014','\023','\220','4','\220','q','\230','\003','\230','1','\230','A','\330','\r','\020','\220','\001','\220','\036','\230','t','\320','#','<','\270','A','\330','\020','\024','\220','C','\220','q','\230','\006','\230','c','\240','\024','\240','Z','\250','q','\260','\004','\260','A','\260','T','\270','\021','\330','\014','\022','\320','\022','A','\300','\021','\330','\020','\023','\220','1','\220','A','\330','\020','\024','\220','E','\230','\021','\230','!','\330','\014','\022','\220',')','\230','1','\230','A','\340','\010','\014','\320','\014','\036','\230','b','\240','\010','\250','\001','\330','\010','\014','\320','\014','\034','\230','A','\360','\006','\000','\t','\r','\210','L','\230','\t','\240','\021','\330','\014','\021','\220','\033','\230','A','\230','[','\250','\001','\250','\033','\260','A','\330','\010','\r','\210','U','\220','!','\320','\023','#','\240','4','\240','q','\360','\006','\000','\t','\r','\210','L','\230','\t','\240','\021','\330','\014','\021','\220','\034','\230','Q','\230','k','\250','\021','\320','*','<','\270','A','\330','\014','\021','\220','\025','\220','a','\220','~','\240','Q','\240','n','\260','A','\340','\010','\017','\210','t','\220','1','\200','A','\360','2','\000','\t','\021','\220','\004','\220','A','\330','\010','\013','\210',':','\220','Q','\220','n','\240','A','\330','\014','\033','\230','1','\330','\014','\020','\220','\007','\220','t','\320','\033','6','\260','a','\330','\020','\023','\320','\023','%','\240','W','\250','A','\330','\024','\030','\230','\n','\240','!','\240','>','\260','\021','\330','\024','\036','\230','d','\240','\047','\250','\034','\260','Q','\340','\024','\036','\230','d','\240','\047','\250','\021','\330','\020','\023','\220','1','\330','\024',' ','\240','\007','\240','q','\250','\001','\330','\014','\017','\210','s','\220','!','\220','>','\240','\023','\240','A','\330','\020','\025','\320','\025','%','\240','Q','\330','\020','\025','\320','\025','&','\240','a','\330','\020','\027','\220','q','\340','\020','\026','\220','i','\230','q','\240','\001','\330','/','6','\260','c','\270','\021','\270','.','\310','\002','\310','!','\330','9',':','\330','0','4','\260','E','\270','\021','\270','!','\330','\010','\017','\210','q','\200','N','\220','!','\360','\016','\000','\t','\014','\210','1','\330','\014','\020','\320','\020','!','\240','\021','\240','!','\330','\010','\014','\320','\014','\034','\230','A','\330','\010','\017','\210','t','\220','1','\320','\000','\021','\220','\021','\330','\004','\005','\360','\006','\000','\n','\013','\330','\010','\023','\220','?','\240','!','\330','\004','\007','\200','t','\210','1','\330','\010','\013','\210','1','\360','\006','\000','\r','\016','\330','\010','\016','\210','l','\230','!','\230','1','\330','\004','\005','\330','\010','\013','\210','1','\330','\021','\022','\330','\020','\036','\230','l','\250','!','\330','\014','\035','\230','Q','\230','o','\250','Q','\330','\014','\036','\230','a','\340','\r','\016','\330','\014','\031','\230','\021','\320','\004','\035','\230','Q','\360','\010','\000','\t','\021','\220','\004','\220','A','\330','\010','\025','\220','[','\240','\003','\240','1','\330','\010','\022','\220','\047','\230','\021','\230','!','\330','\010','\014','\210','G','\220','9','\230','J','\240','f','\250','A','\330','\014','\017','\210','t','\320','\023','+','\250','1','\250','G','\260','1','\330','\020','\025','\220','[','\240','\001','\240','\026','\240','q','\250','\013','\260','1','\330','\010','\r','\320','\r','\036','\230','a','\330','\010','\r','\210','U','\220','!','\320','\023','#','\240','4','\240','q'}; - #else -static const char bytes[] = "\n\n This is a pythonic wrapper around TALIB\047s abstract interface. It is\n intended to simplify using individual TALIB functions by providing a\n unified interface for setting/controlling input data, setting function\n parameters and retrieving results. Input data consists of a ``dict`` of\n ``numpy`` arrays (or a ``pandas.DataFrame`` or ``polars.DataFrame``), one\n array for each of open, high, low, close and volume. This can be set with\n the set_input_arrays() method. Which keyed array(s) are used as inputs when\n calling the function is controlled using the input_names property.\n\n This class gets initialized with a TALIB function name and optionally an\n input_arrays object. It provides the following primary functions for\n setting inputs and retrieving results:\n\n ---- input_array/TA-function-parameter set-only functions -----\n - set_input_arrays(input_arrays)\n - set_function_args([input_arrays,] [param_args_andor_kwargs])\n\n Documentation for param_args_andor_kwargs can be seen by printing the\n Function instance or programmatically via the info, input_names and\n parameters properties.\n\n ----- result-returning functions -----\n - the outputs property wraps a method which ensures results are always valid\n - run([input_arrays]) # calls set_input_arrays and returns self.outputs\n - FunctionInstance([input_arrays,] [param_args_andor_kwargs]) # calls set_function_args and returns self.outputs\n %s ( (expected bars of history, at least function failed with error code needed (a leading bar that is NaN in any input is not history)%(display_name)s (%(group)s)\n%s%s.advance%s.out_range\047 is deprecated and has no effect: ((%s)(any ndarray)(tree fragment)))\n, , got .3: =?A period of 1 performs no smoothingADXR has no unstable period of its own; it follows the inner ADX. Set \047ADX\047 instead.Allocation Error (TA_ALLOC_ERR)Bad Object (TA_BAD_OBJECT)Bad Parameter (TA_BAD_PARAM)Bu""ll/Bear Pattern (Bearish < 0, Neutral = 0, Bullish > 0)Cannot mix polars and pandasDashed LineDotted LineDouble Exponential Moving AverageExponential Moving AverageFunction Not Found (TA_FUNC_NOT_FOUND)Function has a streaming APIFunction has an unstable periodGroup Not Found (TA_GROUP_NOT_FOUND)Hull Moving AverageInput Not All Initialized (TA_INPUT_NOT_ALL_INITIALIZE)Inputs:Insufficient History (TA_INSUFFICIENT_HISTORY)Internal Error (TA_INTERNAL_ERROR)Invalid Handle (TA_INVALID_HANDLE)Invalid List Type (TA_INVALID_LIST_TYPE)Invalid Parameter Function (TA_INVALID_PARAM_FUNCTION)Invalid Parameter Holder (TA_INVALID_PARAM_HOLDER)Invalid Parameter Holder Type (TA_INVALID_PARAM_HOLDER_TYPE)Invalid parameter value for Kaufman Adaptive Moving AverageLibrary Not Initialized (TA_LIB_NOT_INITIALIZE)MESA Adaptive Moving AverageMFI\047s unstable period was retired in TA-Lib C.No Moving Average (identity)NoneNot Supported (TA_NOT_SUPPORTED)Not enough history to open a stream (TA_INSUFFICIENT_HISTORY).\n\n Recoverable: collect more bars and try again.Not enough price arguments: expected Note that Cython is deliberately stricter than PEP-484 and rejects subclasses of builtin types. If you need to pass subclasses then set the \047annotation_typing\047 directive to False.Out-of-Range End Index (TA_OUT_OF_RANGE_END_INDEX)Out-of-Range Start Index (TA_OUT_OF_RANGE_START_INDEX)Output Not All Initialized (TA_OUTPUT_NOT_ALL_INITIALIZE)Output can be NaN or infiniteOutput can be negativeOutput can be positiveOutput can be zeroOutput is a candlestickOutput is optional (nullable)Output is over volumeOutput is path-dependentOutput scale same as inputOutputs:Parameters:Pattern (Bool)STOCHRSI has no unstable period of its own; it follows the inner RSI. Set \047RSI\047 instead.Simple Moving AverageStrength Pattern ([-200..-100] = Bearish, [-100..0] = Getting Bearish, 0 = Neutral, [0..100] = Getting Bullish, [100-200] = Bullish)TA-Lib is not initialized or a settings change is in progressThe ""Function\047s Own Default Moving AverageToo many price arguments: expected Triangular Moving AverageTriple Exponential Moving AverageTriple Generalized Double Exponential Moving AverageUnknown ErrorUnknown Error (TA_UNKNOWN_ERR)Values represent a lower limitValues represent an upper limitWeighted Moving AverageWilder\047s Smoothed Moving AverageZero-Lag Exponential Moving Average[[input_arrays]]add_notebegidx nbelementcannot change TA-Lib settings or lifecycle while calls or streams are activecannot pickle %s: a stream handle points into the TA-Lib C library, and does not cross a process boundarycannot shut down TA-Lib while calls or streams are activedisableenablegcinput array has wrong dimensionsinput array lengths are differentinput array type is not doubleinput must be a numpy array or a pandas or polars Series, not %sinput_arrays parameter missing required data keyinteger (values are -100, 0 or 100)isenabledno history: the input array is emptynumpy._core.multiarray failed to importnumpy._core.umath failed to importtalib.collectionstalib.numpytalib.ordereddicttalib.pandastalib.polarstalib.systalib.threadingtalib.warningstalib/_abstract.pxitalib/_common.pxitalib/_func.pxitalib/_stream.pxitoo many input arraysunstable period \047ACACCBANDSACCBANDS_StreamACCBANDS_Stream.open_and_fillACOSACOS_StreamACOS_Stream.open_and_fillAC_StreamAC_Stream.open_and_fillADADDADD_StreamADD_Stream.open_and_fillADOSCADOSC_StreamADOSC_Stream.open_and_fillADRADR_StreamADR_Stream.open_and_fillADXADXRADXR_StreamADXR_Stream.open_and_fillADX_StreamADX_Stream.open_and_fillAD_StreamAD_Stream.open_and_fillALLAOAO_StreamAO_Stream.open_and_fillAPOAPO_StreamAPO_Stream.open_and_fillAROONAROONOSCAROONOSC_StreamAROONOSC_Stream.open_and_fillAROON_StreamAROON_Stream.open_and_fillASINASIN_StreamASIN_Stream.open_and_fillATANATAN_StreamATAN_Stream.open_and_fillATRATR_StreamATR_Stream.open_and_fillAVGDEVAVGDEV_StreamAVGDEV_Stream.open_and_fillAVGPRICEAVGPRICE_StreamAVGPRICE_Stream.open_and_fillAllCandleSe""ttingsBBANDSBBANDS_StreamBBANDS_Stream.open_and_fillBETABETA_StreamBETA_Stream.open_and_fillBOPBOP_StreamBOP_Stream.open_and_fillBodyDojiBodyLongBodyShortBodyVeryLongCCICCI_StreamCCI_Stream.open_and_fillCDL2CROWSCDL2CROWS_StreamCDL2CROWS_Stream.open_and_fillCDL3BLACKCROWSCDL3BLACKCROWS_StreamCDL3BLACKCROWS_Stream.open_and_fillCDL3INSIDECDL3INSIDE_StreamCDL3INSIDE_Stream.open_and_fillCDL3LINESTRIKECDL3LINESTRIKE_StreamCDL3LINESTRIKE_Stream.open_and_fillCDL3OUTSIDECDL3OUTSIDE_StreamCDL3OUTSIDE_Stream.open_and_fillCDL3STARSINSOUTHCDL3STARSINSOUTH_StreamCDL3STARSINSOUTH_Stream.open_and_fillCDL3WHITESOLDIERSCDL3WHITESOLDIERS_StreamCDL3WHITESOLDIERS_Stream.open_and_fillCDLABANDONEDBABYCDLABANDONEDBABY_StreamCDLABANDONEDBABY_Stream.open_and_fillCDLADVANCEBLOCKCDLADVANCEBLOCK_StreamCDLADVANCEBLOCK_Stream.open_and_fillCDLBELTHOLDCDLBELTHOLD_StreamCDLBELTHOLD_Stream.open_and_fillCDLBREAKAWAYCDLBREAKAWAY_StreamCDLBREAKAWAY_Stream.open_and_fillCDLCLOSINGMARUBOZUCDLCLOSINGMARUBOZU_StreamCDLCLOSINGMARUBOZU_Stream.open_and_fillCDLCONCEALBABYSWALLCDLCONCEALBABYSWALL_StreamCDLCONCEALBABYSWALL_Stream.open_and_fillCDLCOUNTERATTACKCDLCOUNTERATTACK_StreamCDLCOUNTERATTACK_Stream.open_and_fillCDLDARKCLOUDCOVERCDLDARKCLOUDCOVER_StreamCDLDARKCLOUDCOVER_Stream.open_and_fillCDLDOJICDLDOJISTARCDLDOJISTAR_StreamCDLDOJISTAR_Stream.open_and_fillCDLDOJI_StreamCDLDOJI_Stream.open_and_fillCDLDRAGONFLYDOJICDLDRAGONFLYDOJI_StreamCDLDRAGONFLYDOJI_Stream.open_and_fillCDLENGULFINGCDLENGULFING_StreamCDLENGULFING_Stream.open_and_fillCDLEVENINGDOJISTARCDLEVENINGDOJISTAR_StreamCDLEVENINGDOJISTAR_Stream.open_and_fillCDLEVENINGSTARCDLEVENINGSTAR_StreamCDLEVENINGSTAR_Stream.open_and_fillCDLGAPSIDESIDEWHITECDLGAPSIDESIDEWHITE_StreamCDLGAPSIDESIDEWHITE_Stream.open_and_fillCDLGRAVESTONEDOJICDLGRAVESTONEDOJI_StreamCDLGRAVESTONEDOJI_Stream.open_and_fillCDLHAMMERCDLHAMMER_StreamCDLHAMMER_Stream.open_and_fillCDLHANGINGMANCDLHANGINGMAN_StreamCDLHANGINGMAN_Stream.open_and_fillCDLHARAMICDLHARAMICROSSCDLHARAMICROSS_Stream""CDLHARAMICROSS_Stream.open_and_fillCDLHARAMI_StreamCDLHARAMI_Stream.open_and_fillCDLHIGHWAVECDLHIGHWAVE_StreamCDLHIGHWAVE_Stream.open_and_fillCDLHIKKAKECDLHIKKAKEMODCDLHIKKAKEMOD_StreamCDLHIKKAKEMOD_Stream.open_and_fillCDLHIKKAKE_StreamCDLHIKKAKE_Stream.open_and_fillCDLHOMINGPIGEONCDLHOMINGPIGEON_StreamCDLHOMINGPIGEON_Stream.open_and_fillCDLIDENTICAL3CROWSCDLIDENTICAL3CROWS_StreamCDLIDENTICAL3CROWS_Stream.open_and_fillCDLINNECKCDLINNECK_StreamCDLINNECK_Stream.open_and_fillCDLINVERTEDHAMMERCDLINVERTEDHAMMER_StreamCDLINVERTEDHAMMER_Stream.open_and_fillCDLKICKINGCDLKICKINGBYLENGTHCDLKICKINGBYLENGTH_StreamCDLKICKINGBYLENGTH_Stream.open_and_fillCDLKICKING_StreamCDLKICKING_Stream.open_and_fillCDLLADDERBOTTOMCDLLADDERBOTTOM_StreamCDLLADDERBOTTOM_Stream.open_and_fillCDLLONGLEGGEDDOJICDLLONGLEGGEDDOJI_StreamCDLLONGLEGGEDDOJI_Stream.open_and_fillCDLLONGLINECDLLONGLINE_StreamCDLLONGLINE_Stream.open_and_fillCDLMARUBOZUCDLMARUBOZU_StreamCDLMARUBOZU_Stream.open_and_fillCDLMATCHINGLOWCDLMATCHINGLOW_StreamCDLMATCHINGLOW_Stream.open_and_fillCDLMATHOLDCDLMATHOLD_StreamCDLMATHOLD_Stream.open_and_fillCDLMORNINGDOJISTARCDLMORNINGDOJISTAR_StreamCDLMORNINGDOJISTAR_Stream.open_and_fillCDLMORNINGSTARCDLMORNINGSTAR_StreamCDLMORNINGSTAR_Stream.open_and_fillCDLONNECKCDLONNECK_StreamCDLONNECK_Stream.open_and_fillCDLPIERCINGCDLPIERCING_StreamCDLPIERCING_Stream.open_and_fillCDLRICKSHAWMANCDLRICKSHAWMAN_StreamCDLRICKSHAWMAN_Stream.open_and_fillCDLRISEFALL3METHODSCDLRISEFALL3METHODS_StreamCDLRISEFALL3METHODS_Stream.open_and_fillCDLSEPARATINGLINESCDLSEPARATINGLINES_StreamCDLSEPARATINGLINES_Stream.open_and_fillCDLSHOOTINGSTARCDLSHOOTINGSTAR_StreamCDLSHOOTINGSTAR_Stream.open_and_fillCDLSHORTLINECDLSHORTLINE_StreamCDLSHORTLINE_Stream.open_and_fillCDLSPINNINGTOPCDLSPINNINGTOP_StreamCDLSPINNINGTOP_Stream.open_and_fillCDLSTALLEDPATTERNCDLSTALLEDPATTERN_StreamCDLSTALLEDPATTERN_Stream.open_and_fillCDLSTICKSANDWICHCDLSTICKSANDWICH_StreamCDLSTICKSANDWICH_Stream.open_and_fillCDLTAKURICDLTAKURI_StreamCDLTAKURI_""Stream.open_and_fillCDLTASUKIGAPCDLTASUKIGAP_StreamCDLTASUKIGAP_Stream.open_and_fillCDLTHRUSTINGCDLTHRUSTING_StreamCDLTHRUSTING_Stream.open_and_fillCDLTRISTARCDLTRISTAR_StreamCDLTRISTAR_Stream.open_and_fillCDLUNIQUE3RIVERCDLUNIQUE3RIVER_StreamCDLUNIQUE3RIVER_Stream.open_and_fillCDLUPSIDEGAP2CROWSCDLUPSIDEGAP2CROWS_StreamCDLUPSIDEGAP2CROWS_Stream.open_and_fillCDLXSIDEGAP3METHODSCDLXSIDEGAP3METHODS_StreamCDLXSIDEGAP3METHODS_Stream.open_and_fillCEILCEIL_StreamCEIL_Stream.open_and_fillCMFCMF_StreamCMF_Stream.open_and_fillCMOCMOUCMOU_StreamCMOU_Stream.open_and_fillCMO_StreamCMO_Stream.open_and_fillCOPPOCKCOPPOCK_StreamCOPPOCK_Stream.open_and_fillCORRELCORREL_StreamCORREL_Stream.open_and_fillCOSCOSHCOSH_StreamCOSH_Stream.open_and_fillCOS_StreamCOS_Stream.open_and_fillCUMSUMCUMSUM_StreamCUMSUM_Stream.open_and_fillCVICVI_StreamCVI_Stream.open_and_fillCandleSettingTypeDEFAULTDEMADEMA_StreamDEMA_Stream.open_and_fillDISABLEDDIVDIV_StreamDIV_Stream.open_and_fillDONCHIANDONCHIAN_StreamDONCHIAN_Stream.open_and_fillDPODPO_StreamDPO_Stream.open_and_fillDXDX_StreamDX_Stream.open_and_fillDataFrameDotEFIEFI_StreamEFI_Stream.open_and_fillEMAEMA_StreamEMA_Stream.open_and_fillERERIERI_StreamERI_Stream.open_and_fillER_StreamER_Stream.open_and_fillEXPEXP_StreamEXP_Stream.open_and_fillEqualFLOORFLOOR_StreamFLOOR_Stream.open_and_fillFOSCFOSC_StreamFOSC_Stream.open_and_fillFRACTALFRACTAL_StreamFRACTAL_Stream.open_and_fillFarFunctionFunction.__call__Function.__call_functionFunction.__check_opt_input_valueFunction.__get_opt_input_valueFunction.__init__Function.__input_price_series_namesFunction.__localFunction.__repr__Function.__str__Function.__unicode__Function.function_flagsFunction.get_input_arraysFunction.get_input_namesFunction.get_parametersFunction.infoFunction.lookbackFunction.output_flagsFunction.output_namesFunction.outputsFunction.runFunction.set_function_argsFunction.set_input_arraysFunction.set_input_namesFunction.set_parametersHAHA_StreamHA_Stream.open_and_fillHMAHMA_StreamHMA_Str""eam.open_and_fillHT_DCPERIODHT_DCPERIOD_StreamHT_DCPERIOD_Stream.open_and_fillHT_DCPHASEHT_DCPHASE_StreamHT_DCPHASE_Stream.open_and_fillHT_PHASORHT_PHASOR_StreamHT_PHASOR_Stream.open_and_fillHT_SINEHT_SINE_StreamHT_SINE_Stream.open_and_fillHT_TRENDLINEHT_TRENDLINE_StreamHT_TRENDLINE_Stream.open_and_fillHT_TRENDMODEHT_TRENDMODE_StreamHT_TRENDMODE_Stream.open_and_fillHighLowHistogramIMIIMI_StreamIMI_Stream.open_and_fillInsufficientHistoryKAMAKAMA_StreamKAMA_Stream.open_and_fillKCKC_StreamKC_Stream.open_and_fillKDJKDJ_StreamKDJ_Stream.open_and_fillLINEARREGLINEARREG_ANGLELINEARREG_ANGLE_StreamLINEARREG_ANGLE_Stream.open_and_fillLINEARREG_INTERCEPTLINEARREG_INTERCEPT_StreamLINEARREG_INTERCEPT_Stream.open_and_fillLINEARREG_SLOPELINEARREG_SLOPE_StreamLINEARREG_SLOPE_Stream.open_and_fillLINEARREG_StreamLINEARREG_Stream.open_and_fillLNLN_StreamLN_Stream.open_and_fillLOG10LOG10_StreamLOG10_Stream.open_and_fillLineMAMACDMACDEXTMACDEXT_StreamMACDEXT_Stream.open_and_fillMACDFIXMACDFIX_StreamMACDFIX_Stream.open_and_fillMACD_StreamMACD_Stream.open_and_fillMAMAMAMA_StreamMAMA_Stream.open_and_fillMARKETFIMARKETFI_StreamMARKETFI_Stream.open_and_fillMASSIMASSI_StreamMASSI_Stream.open_and_fillMAVPMAVP_StreamMAVP_Stream.open_and_fillMAXMAXINDEXMAXINDEX_StreamMAXINDEX_Stream.open_and_fillMAX_StreamMAX_Stream.open_and_fillMA_StreamMA_Stream.open_and_fillMA_TypeMA_Type.__getitem__MA_Type.__init__MEDPRICEMEDPRICE_StreamMEDPRICE_Stream.open_and_fillMFIMFI_StreamMFI_Stream.open_and_fillMIDPOINTMIDPOINT_StreamMIDPOINT_Stream.open_and_fillMIDPRICEMIDPRICE_StreamMIDPRICE_Stream.open_and_fillMINMININDEXMININDEX_StreamMININDEX_Stream.open_and_fillMINMAXMINMAXINDEXMINMAXINDEX_StreamMINMAXINDEX_Stream.open_and_fillMINMAX_StreamMINMAX_Stream.open_and_fillMINUS_DIMINUS_DI_StreamMINUS_DI_Stream.open_and_fillMINUS_DMMINUS_DM_StreamMINUS_DM_Stream.open_and_fillMIN_StreamMIN_Stream.open_and_fillMOMMOM_StreamMOM_Stream.open_and_fillMULTMULT_StreamMULT_Stream.open_and_fillNATRNATR_StreamNATR_Stream.open_an""d_fillNONENVINVI_StreamNVI_Stream.open_and_fillNearOBVOBV_StreamOBV_Stream.open_and_fillOrderedDictOutRangePERCENTILEPERCENTILE_StreamPERCENTILE_Stream.open_and_fillPERCENTRANKPERCENTRANK_StreamPERCENTRANK_Stream.open_and_fillPLUS_DIPLUS_DI_StreamPLUS_DI_Stream.open_and_fillPLUS_DMPLUS_DM_StreamPLUS_DM_Stream.open_and_fillPPOPPO_StreamPPO_Stream.open_and_fillPVIPVI_StreamPVI_Stream.open_and_fillPVOPVO_StreamPVO_Stream.open_and_fillPVTPVT_StreamPVT_Stream.open_and_fillQSTICKQSTICK_StreamQSTICK_Stream.open_and_fillRMARMA_StreamRMA_Stream.open_and_fillROCROCPROCP_StreamROCP_Stream.open_and_fillROCRROCR100ROCR100_StreamROCR100_Stream.open_and_fillROCR_StreamROCR_Stream.open_and_fillROC_StreamROC_Stream.open_and_fillRSIRSI_StreamRSI_Stream.open_and_fillRVIRVI_StreamRVI_Stream.open_and_fillRVOLRVOL_StreamRVOL_Stream.open_and_fillRangeTypeRealBodySARSAREXTSAREXT_StreamSAREXT_Stream.open_and_fillSAR_StreamSAR_Stream.open_and_fillSINSINHSINH_StreamSINH_Stream.open_and_fillSIN_StreamSIN_Stream.open_and_fillSMASMA_StreamSMA_Stream.open_and_fillSMISMI_StreamSMI_Stream.open_and_fillSQRTSQRT_StreamSQRT_Stream.open_and_fillSTDDEVSTDDEV_StreamSTDDEV_Stream.open_and_fillSTOCHSTOCHFSTOCHF_StreamSTOCHF_Stream.open_and_fillSTOCHRSISTOCHRSI_StreamSTOCHRSI_Stream.open_and_fillSTOCH_StreamSTOCH_Stream.open_and_fillSUBSUB_StreamSUB_Stream.open_and_fillSUMSUM_StreamSUM_Stream.open_and_fillSUPERTRENDSUPERTREND_StreamSUPERTREND_Stream.open_and_fillSeriesShadowLongShadowShortShadowVeryLongShadowVeryShortShadowsStreamStream.__copy__Stream.__deepcopy__Stream.__reduce__T3T3_StreamT3_Stream.open_and_fillTANTANHTANH_StreamTANH_Stream.open_and_fillTAN_StreamTAN_Stream.open_and_fillTA_ACTA_ACCBANDSTA_ACCBANDS_CloneTA_ACCBANDS_OpenTA_ACCBANDS_OpenAndFillTA_ACCBANDS_PeekTA_ACCBANDS_UpdateTA_ACCBANDS_ValueTA_ACOSTA_ACOS_CloneTA_ACOS_OpenTA_ACOS_OpenAndFillTA_ACOS_PeekTA_ACOS_UpdateTA_ACOS_ValueTA_AC_CloneTA_AC_OpenTA_AC_OpenAndFillTA_AC_PeekTA_AC_UpdateTA_AC_ValueTA_ADTA_ADDTA_ADD_CloneTA_ADD_OpenTA_ADD""_OpenAndFillTA_ADD_PeekTA_ADD_UpdateTA_ADD_ValueTA_ADOSCTA_ADOSC_CloneTA_ADOSC_OpenTA_ADOSC_OpenAndFillTA_ADOSC_PeekTA_ADOSC_UpdateTA_ADOSC_ValueTA_ADRTA_ADR_CloneTA_ADR_OpenTA_ADR_OpenAndFillTA_ADR_PeekTA_ADR_UpdateTA_ADR_ValueTA_ADXTA_ADXRTA_ADXR_CloneTA_ADXR_OpenTA_ADXR_OpenAndFillTA_ADXR_PeekTA_ADXR_UpdateTA_ADXR_ValueTA_ADX_CloneTA_ADX_OpenTA_ADX_OpenAndFillTA_ADX_PeekTA_ADX_UpdateTA_ADX_ValueTA_AD_CloneTA_AD_OpenTA_AD_OpenAndFillTA_AD_PeekTA_AD_UpdateTA_AD_ValueTA_AOTA_AO_CloneTA_AO_OpenTA_AO_OpenAndFillTA_AO_PeekTA_AO_UpdateTA_AO_ValueTA_APOTA_APO_CloneTA_APO_OpenTA_APO_OpenAndFillTA_APO_PeekTA_APO_UpdateTA_APO_ValueTA_AROONTA_AROONOSCTA_AROONOSC_CloneTA_AROONOSC_OpenTA_AROONOSC_OpenAndFillTA_AROONOSC_PeekTA_AROONOSC_UpdateTA_AROONOSC_ValueTA_AROON_CloneTA_AROON_OpenTA_AROON_OpenAndFillTA_AROON_PeekTA_AROON_UpdateTA_AROON_ValueTA_ASINTA_ASIN_CloneTA_ASIN_OpenTA_ASIN_OpenAndFillTA_ASIN_PeekTA_ASIN_UpdateTA_ASIN_ValueTA_ATANTA_ATAN_CloneTA_ATAN_OpenTA_ATAN_OpenAndFillTA_ATAN_PeekTA_ATAN_UpdateTA_ATAN_ValueTA_ATRTA_ATR_CloneTA_ATR_OpenTA_ATR_OpenAndFillTA_ATR_PeekTA_ATR_UpdateTA_ATR_ValueTA_AVGDEVTA_AVGDEV_CloneTA_AVGDEV_OpenTA_AVGDEV_OpenAndFillTA_AVGDEV_PeekTA_AVGDEV_UpdateTA_AVGDEV_ValueTA_AVGPRICETA_AVGPRICE_CloneTA_AVGPRICE_OpenTA_AVGPRICE_OpenAndFillTA_AVGPRICE_PeekTA_AVGPRICE_UpdateTA_AVGPRICE_ValueTA_BBANDSTA_BBANDS_CloneTA_BBANDS_OpenTA_BBANDS_OpenAndFillTA_BBANDS_PeekTA_BBANDS_UpdateTA_BBANDS_ValueTA_BETATA_BETA_CloneTA_BETA_OpenTA_BETA_OpenAndFillTA_BETA_PeekTA_BETA_UpdateTA_BETA_ValueTA_BOPTA_BOP_CloneTA_BOP_OpenTA_BOP_OpenAndFillTA_BOP_PeekTA_BOP_UpdateTA_BOP_ValueTA_CCITA_CCI_CloneTA_CCI_OpenTA_CCI_OpenAndFillTA_CCI_PeekTA_CCI_UpdateTA_CCI_ValueTA_CDL2CROWSTA_CDL2CROWS_CloneTA_CDL2CROWS_OpenTA_CDL2CROWS_OpenAndFillTA_CDL2CROWS_PeekTA_CDL2CROWS_UpdateTA_CDL2CROWS_ValueTA_CDL3BLACKCROWSTA_CDL3BLACKCROWS_CloneTA_CDL3BLACKCROWS_OpenTA_CDL3BLACKCROWS_OpenAndFillTA_CDL3BLACKCROWS_PeekTA_CDL3BLACKCROWS_UpdateTA_CDL3BLACKCROWS_ValueTA_CDL3INSIDETA_CDL3INSI""DE_CloneTA_CDL3INSIDE_OpenTA_CDL3INSIDE_OpenAndFillTA_CDL3INSIDE_PeekTA_CDL3INSIDE_UpdateTA_CDL3INSIDE_ValueTA_CDL3LINESTRIKETA_CDL3LINESTRIKE_CloneTA_CDL3LINESTRIKE_OpenTA_CDL3LINESTRIKE_OpenAndFillTA_CDL3LINESTRIKE_PeekTA_CDL3LINESTRIKE_UpdateTA_CDL3LINESTRIKE_ValueTA_CDL3OUTSIDETA_CDL3OUTSIDE_CloneTA_CDL3OUTSIDE_OpenTA_CDL3OUTSIDE_OpenAndFillTA_CDL3OUTSIDE_PeekTA_CDL3OUTSIDE_UpdateTA_CDL3OUTSIDE_ValueTA_CDL3STARSINSOUTHTA_CDL3STARSINSOUTH_CloneTA_CDL3STARSINSOUTH_OpenTA_CDL3STARSINSOUTH_OpenAndFillTA_CDL3STARSINSOUTH_PeekTA_CDL3STARSINSOUTH_UpdateTA_CDL3STARSINSOUTH_ValueTA_CDL3WHITESOLDIERSTA_CDL3WHITESOLDIERS_CloneTA_CDL3WHITESOLDIERS_OpenTA_CDL3WHITESOLDIERS_OpenAndFillTA_CDL3WHITESOLDIERS_PeekTA_CDL3WHITESOLDIERS_UpdateTA_CDL3WHITESOLDIERS_ValueTA_CDLABANDONEDBABYTA_CDLABANDONEDBABY_CloneTA_CDLABANDONEDBABY_OpenTA_CDLABANDONEDBABY_OpenAndFillTA_CDLABANDONEDBABY_PeekTA_CDLABANDONEDBABY_UpdateTA_CDLABANDONEDBABY_ValueTA_CDLADVANCEBLOCKTA_CDLADVANCEBLOCK_CloneTA_CDLADVANCEBLOCK_OpenTA_CDLADVANCEBLOCK_OpenAndFillTA_CDLADVANCEBLOCK_PeekTA_CDLADVANCEBLOCK_UpdateTA_CDLADVANCEBLOCK_ValueTA_CDLBELTHOLDTA_CDLBELTHOLD_CloneTA_CDLBELTHOLD_OpenTA_CDLBELTHOLD_OpenAndFillTA_CDLBELTHOLD_PeekTA_CDLBELTHOLD_UpdateTA_CDLBELTHOLD_ValueTA_CDLBREAKAWAYTA_CDLBREAKAWAY_CloneTA_CDLBREAKAWAY_OpenTA_CDLBREAKAWAY_OpenAndFillTA_CDLBREAKAWAY_PeekTA_CDLBREAKAWAY_UpdateTA_CDLBREAKAWAY_ValueTA_CDLCLOSINGMARUBOZUTA_CDLCLOSINGMARUBOZU_CloneTA_CDLCLOSINGMARUBOZU_OpenTA_CDLCLOSINGMARUBOZU_OpenAndFillTA_CDLCLOSINGMARUBOZU_PeekTA_CDLCLOSINGMARUBOZU_UpdateTA_CDLCLOSINGMARUBOZU_ValueTA_CDLCONCEALBABYSWALLTA_CDLCONCEALBABYSWALL_CloneTA_CDLCONCEALBABYSWALL_OpenTA_CDLCONCEALBABYSWALL_OpenAndFillTA_CDLCONCEALBABYSWALL_PeekTA_CDLCONCEALBABYSWALL_UpdateTA_CDLCONCEALBABYSWALL_ValueTA_CDLCOUNTERATTACKTA_CDLCOUNTERATTACK_CloneTA_CDLCOUNTERATTACK_OpenTA_CDLCOUNTERATTACK_OpenAndFillTA_CDLCOUNTERATTACK_PeekTA_CDLCOUNTERATTACK_UpdateTA_CDLCOUNTERATTACK_ValueTA_CDLDARKCLOUDCOVERTA_CDLDARKCLOUDCOVER_CloneTA_CDLDAR""KCLOUDCOVER_OpenTA_CDLDARKCLOUDCOVER_OpenAndFillTA_CDLDARKCLOUDCOVER_PeekTA_CDLDARKCLOUDCOVER_UpdateTA_CDLDARKCLOUDCOVER_ValueTA_CDLDOJITA_CDLDOJISTARTA_CDLDOJISTAR_CloneTA_CDLDOJISTAR_OpenTA_CDLDOJISTAR_OpenAndFillTA_CDLDOJISTAR_PeekTA_CDLDOJISTAR_UpdateTA_CDLDOJISTAR_ValueTA_CDLDOJI_CloneTA_CDLDOJI_OpenTA_CDLDOJI_OpenAndFillTA_CDLDOJI_PeekTA_CDLDOJI_UpdateTA_CDLDOJI_ValueTA_CDLDRAGONFLYDOJITA_CDLDRAGONFLYDOJI_CloneTA_CDLDRAGONFLYDOJI_OpenTA_CDLDRAGONFLYDOJI_OpenAndFillTA_CDLDRAGONFLYDOJI_PeekTA_CDLDRAGONFLYDOJI_UpdateTA_CDLDRAGONFLYDOJI_ValueTA_CDLENGULFINGTA_CDLENGULFING_CloneTA_CDLENGULFING_OpenTA_CDLENGULFING_OpenAndFillTA_CDLENGULFING_PeekTA_CDLENGULFING_UpdateTA_CDLENGULFING_ValueTA_CDLEVENINGDOJISTARTA_CDLEVENINGDOJISTAR_CloneTA_CDLEVENINGDOJISTAR_OpenTA_CDLEVENINGDOJISTAR_OpenAndFillTA_CDLEVENINGDOJISTAR_PeekTA_CDLEVENINGDOJISTAR_UpdateTA_CDLEVENINGDOJISTAR_ValueTA_CDLEVENINGSTARTA_CDLEVENINGSTAR_CloneTA_CDLEVENINGSTAR_OpenTA_CDLEVENINGSTAR_OpenAndFillTA_CDLEVENINGSTAR_PeekTA_CDLEVENINGSTAR_UpdateTA_CDLEVENINGSTAR_ValueTA_CDLGAPSIDESIDEWHITETA_CDLGAPSIDESIDEWHITE_CloneTA_CDLGAPSIDESIDEWHITE_OpenTA_CDLGAPSIDESIDEWHITE_OpenAndFillTA_CDLGAPSIDESIDEWHITE_PeekTA_CDLGAPSIDESIDEWHITE_UpdateTA_CDLGAPSIDESIDEWHITE_ValueTA_CDLGRAVESTONEDOJITA_CDLGRAVESTONEDOJI_CloneTA_CDLGRAVESTONEDOJI_OpenTA_CDLGRAVESTONEDOJI_OpenAndFillTA_CDLGRAVESTONEDOJI_PeekTA_CDLGRAVESTONEDOJI_UpdateTA_CDLGRAVESTONEDOJI_ValueTA_CDLHAMMERTA_CDLHAMMER_CloneTA_CDLHAMMER_OpenTA_CDLHAMMER_OpenAndFillTA_CDLHAMMER_PeekTA_CDLHAMMER_UpdateTA_CDLHAMMER_ValueTA_CDLHANGINGMANTA_CDLHANGINGMAN_CloneTA_CDLHANGINGMAN_OpenTA_CDLHANGINGMAN_OpenAndFillTA_CDLHANGINGMAN_PeekTA_CDLHANGINGMAN_UpdateTA_CDLHANGINGMAN_ValueTA_CDLHARAMITA_CDLHARAMICROSSTA_CDLHARAMICROSS_CloneTA_CDLHARAMICROSS_OpenTA_CDLHARAMICROSS_OpenAndFillTA_CDLHARAMICROSS_PeekTA_CDLHARAMICROSS_UpdateTA_CDLHARAMICROSS_ValueTA_CDLHARAMI_CloneTA_CDLHARAMI_OpenTA_CDLHARAMI_OpenAndFillTA_CDLHARAMI_PeekTA_CDLHARAMI_UpdateTA_CDLHARAMI_ValueTA_CDLHIGHWAVETA_""CDLHIGHWAVE_CloneTA_CDLHIGHWAVE_OpenTA_CDLHIGHWAVE_OpenAndFillTA_CDLHIGHWAVE_PeekTA_CDLHIGHWAVE_UpdateTA_CDLHIGHWAVE_ValueTA_CDLHIKKAKETA_CDLHIKKAKEMODTA_CDLHIKKAKEMOD_CloneTA_CDLHIKKAKEMOD_OpenTA_CDLHIKKAKEMOD_OpenAndFillTA_CDLHIKKAKEMOD_PeekTA_CDLHIKKAKEMOD_UpdateTA_CDLHIKKAKEMOD_ValueTA_CDLHIKKAKE_CloneTA_CDLHIKKAKE_OpenTA_CDLHIKKAKE_OpenAndFillTA_CDLHIKKAKE_PeekTA_CDLHIKKAKE_UpdateTA_CDLHIKKAKE_ValueTA_CDLHOMINGPIGEONTA_CDLHOMINGPIGEON_CloneTA_CDLHOMINGPIGEON_OpenTA_CDLHOMINGPIGEON_OpenAndFillTA_CDLHOMINGPIGEON_PeekTA_CDLHOMINGPIGEON_UpdateTA_CDLHOMINGPIGEON_ValueTA_CDLIDENTICAL3CROWSTA_CDLIDENTICAL3CROWS_CloneTA_CDLIDENTICAL3CROWS_OpenTA_CDLIDENTICAL3CROWS_OpenAndFillTA_CDLIDENTICAL3CROWS_PeekTA_CDLIDENTICAL3CROWS_UpdateTA_CDLIDENTICAL3CROWS_ValueTA_CDLINNECKTA_CDLINNECK_CloneTA_CDLINNECK_OpenTA_CDLINNECK_OpenAndFillTA_CDLINNECK_PeekTA_CDLINNECK_UpdateTA_CDLINNECK_ValueTA_CDLINVERTEDHAMMERTA_CDLINVERTEDHAMMER_CloneTA_CDLINVERTEDHAMMER_OpenTA_CDLINVERTEDHAMMER_OpenAndFillTA_CDLINVERTEDHAMMER_PeekTA_CDLINVERTEDHAMMER_UpdateTA_CDLINVERTEDHAMMER_ValueTA_CDLKICKINGTA_CDLKICKINGBYLENGTHTA_CDLKICKINGBYLENGTH_CloneTA_CDLKICKINGBYLENGTH_OpenTA_CDLKICKINGBYLENGTH_OpenAndFillTA_CDLKICKINGBYLENGTH_PeekTA_CDLKICKINGBYLENGTH_UpdateTA_CDLKICKINGBYLENGTH_ValueTA_CDLKICKING_CloneTA_CDLKICKING_OpenTA_CDLKICKING_OpenAndFillTA_CDLKICKING_PeekTA_CDLKICKING_UpdateTA_CDLKICKING_ValueTA_CDLLADDERBOTTOMTA_CDLLADDERBOTTOM_CloneTA_CDLLADDERBOTTOM_OpenTA_CDLLADDERBOTTOM_OpenAndFillTA_CDLLADDERBOTTOM_PeekTA_CDLLADDERBOTTOM_UpdateTA_CDLLADDERBOTTOM_ValueTA_CDLLONGLEGGEDDOJITA_CDLLONGLEGGEDDOJI_CloneTA_CDLLONGLEGGEDDOJI_OpenTA_CDLLONGLEGGEDDOJI_OpenAndFillTA_CDLLONGLEGGEDDOJI_PeekTA_CDLLONGLEGGEDDOJI_UpdateTA_CDLLONGLEGGEDDOJI_ValueTA_CDLLONGLINETA_CDLLONGLINE_CloneTA_CDLLONGLINE_OpenTA_CDLLONGLINE_OpenAndFillTA_CDLLONGLINE_PeekTA_CDLLONGLINE_UpdateTA_CDLLONGLINE_ValueTA_CDLMARUBOZUTA_CDLMARUBOZU_CloneTA_CDLMARUBOZU_OpenTA_CDLMARUBOZU_OpenAndFillTA_CDLMARUBOZU_PeekTA_CDLMARUBOZU_UpdateTA_CDL""MARUBOZU_ValueTA_CDLMATCHINGLOWTA_CDLMATCHINGLOW_CloneTA_CDLMATCHINGLOW_OpenTA_CDLMATCHINGLOW_OpenAndFillTA_CDLMATCHINGLOW_PeekTA_CDLMATCHINGLOW_UpdateTA_CDLMATCHINGLOW_ValueTA_CDLMATHOLDTA_CDLMATHOLD_CloneTA_CDLMATHOLD_OpenTA_CDLMATHOLD_OpenAndFillTA_CDLMATHOLD_PeekTA_CDLMATHOLD_UpdateTA_CDLMATHOLD_ValueTA_CDLMORNINGDOJISTARTA_CDLMORNINGDOJISTAR_CloneTA_CDLMORNINGDOJISTAR_OpenTA_CDLMORNINGDOJISTAR_OpenAndFillTA_CDLMORNINGDOJISTAR_PeekTA_CDLMORNINGDOJISTAR_UpdateTA_CDLMORNINGDOJISTAR_ValueTA_CDLMORNINGSTARTA_CDLMORNINGSTAR_CloneTA_CDLMORNINGSTAR_OpenTA_CDLMORNINGSTAR_OpenAndFillTA_CDLMORNINGSTAR_PeekTA_CDLMORNINGSTAR_UpdateTA_CDLMORNINGSTAR_ValueTA_CDLONNECKTA_CDLONNECK_CloneTA_CDLONNECK_OpenTA_CDLONNECK_OpenAndFillTA_CDLONNECK_PeekTA_CDLONNECK_UpdateTA_CDLONNECK_ValueTA_CDLPIERCINGTA_CDLPIERCING_CloneTA_CDLPIERCING_OpenTA_CDLPIERCING_OpenAndFillTA_CDLPIERCING_PeekTA_CDLPIERCING_UpdateTA_CDLPIERCING_ValueTA_CDLRICKSHAWMANTA_CDLRICKSHAWMAN_CloneTA_CDLRICKSHAWMAN_OpenTA_CDLRICKSHAWMAN_OpenAndFillTA_CDLRICKSHAWMAN_PeekTA_CDLRICKSHAWMAN_UpdateTA_CDLRICKSHAWMAN_ValueTA_CDLRISEFALL3METHODSTA_CDLRISEFALL3METHODS_CloneTA_CDLRISEFALL3METHODS_OpenTA_CDLRISEFALL3METHODS_OpenAndFillTA_CDLRISEFALL3METHODS_PeekTA_CDLRISEFALL3METHODS_UpdateTA_CDLRISEFALL3METHODS_ValueTA_CDLSEPARATINGLINESTA_CDLSEPARATINGLINES_CloneTA_CDLSEPARATINGLINES_OpenTA_CDLSEPARATINGLINES_OpenAndFillTA_CDLSEPARATINGLINES_PeekTA_CDLSEPARATINGLINES_UpdateTA_CDLSEPARATINGLINES_ValueTA_CDLSHOOTINGSTARTA_CDLSHOOTINGSTAR_CloneTA_CDLSHOOTINGSTAR_OpenTA_CDLSHOOTINGSTAR_OpenAndFillTA_CDLSHOOTINGSTAR_PeekTA_CDLSHOOTINGSTAR_UpdateTA_CDLSHOOTINGSTAR_ValueTA_CDLSHORTLINETA_CDLSHORTLINE_CloneTA_CDLSHORTLINE_OpenTA_CDLSHORTLINE_OpenAndFillTA_CDLSHORTLINE_PeekTA_CDLSHORTLINE_UpdateTA_CDLSHORTLINE_ValueTA_CDLSPINNINGTOPTA_CDLSPINNINGTOP_CloneTA_CDLSPINNINGTOP_OpenTA_CDLSPINNINGTOP_OpenAndFillTA_CDLSPINNINGTOP_PeekTA_CDLSPINNINGTOP_UpdateTA_CDLSPINNINGTOP_ValueTA_CDLSTALLEDPATTERNTA_CDLSTALLEDPATTERN_CloneTA_CDLSTALLEDPATTERN""_OpenTA_CDLSTALLEDPATTERN_OpenAndFillTA_CDLSTALLEDPATTERN_PeekTA_CDLSTALLEDPATTERN_UpdateTA_CDLSTALLEDPATTERN_ValueTA_CDLSTICKSANDWICHTA_CDLSTICKSANDWICH_CloneTA_CDLSTICKSANDWICH_OpenTA_CDLSTICKSANDWICH_OpenAndFillTA_CDLSTICKSANDWICH_PeekTA_CDLSTICKSANDWICH_UpdateTA_CDLSTICKSANDWICH_ValueTA_CDLTAKURITA_CDLTAKURI_CloneTA_CDLTAKURI_OpenTA_CDLTAKURI_OpenAndFillTA_CDLTAKURI_PeekTA_CDLTAKURI_UpdateTA_CDLTAKURI_ValueTA_CDLTASUKIGAPTA_CDLTASUKIGAP_CloneTA_CDLTASUKIGAP_OpenTA_CDLTASUKIGAP_OpenAndFillTA_CDLTASUKIGAP_PeekTA_CDLTASUKIGAP_UpdateTA_CDLTASUKIGAP_ValueTA_CDLTHRUSTINGTA_CDLTHRUSTING_CloneTA_CDLTHRUSTING_OpenTA_CDLTHRUSTING_OpenAndFillTA_CDLTHRUSTING_PeekTA_CDLTHRUSTING_UpdateTA_CDLTHRUSTING_ValueTA_CDLTRISTARTA_CDLTRISTAR_CloneTA_CDLTRISTAR_OpenTA_CDLTRISTAR_OpenAndFillTA_CDLTRISTAR_PeekTA_CDLTRISTAR_UpdateTA_CDLTRISTAR_ValueTA_CDLUNIQUE3RIVERTA_CDLUNIQUE3RIVER_CloneTA_CDLUNIQUE3RIVER_OpenTA_CDLUNIQUE3RIVER_OpenAndFillTA_CDLUNIQUE3RIVER_PeekTA_CDLUNIQUE3RIVER_UpdateTA_CDLUNIQUE3RIVER_ValueTA_CDLUPSIDEGAP2CROWSTA_CDLUPSIDEGAP2CROWS_CloneTA_CDLUPSIDEGAP2CROWS_OpenTA_CDLUPSIDEGAP2CROWS_OpenAndFillTA_CDLUPSIDEGAP2CROWS_PeekTA_CDLUPSIDEGAP2CROWS_UpdateTA_CDLUPSIDEGAP2CROWS_ValueTA_CDLXSIDEGAP3METHODSTA_CDLXSIDEGAP3METHODS_CloneTA_CDLXSIDEGAP3METHODS_OpenTA_CDLXSIDEGAP3METHODS_OpenAndFillTA_CDLXSIDEGAP3METHODS_PeekTA_CDLXSIDEGAP3METHODS_UpdateTA_CDLXSIDEGAP3METHODS_ValueTA_CEILTA_CEIL_CloneTA_CEIL_OpenTA_CEIL_OpenAndFillTA_CEIL_PeekTA_CEIL_UpdateTA_CEIL_ValueTA_CMFTA_CMF_CloneTA_CMF_OpenTA_CMF_OpenAndFillTA_CMF_PeekTA_CMF_UpdateTA_CMF_ValueTA_CMOTA_CMOUTA_CMOU_CloneTA_CMOU_OpenTA_CMOU_OpenAndFillTA_CMOU_PeekTA_CMOU_UpdateTA_CMOU_ValueTA_CMO_CloneTA_CMO_OpenTA_CMO_OpenAndFillTA_CMO_PeekTA_CMO_UpdateTA_CMO_ValueTA_COPPOCKTA_COPPOCK_CloneTA_COPPOCK_OpenTA_COPPOCK_OpenAndFillTA_COPPOCK_PeekTA_COPPOCK_UpdateTA_COPPOCK_ValueTA_CORRELTA_CORREL_CloneTA_CORREL_OpenTA_CORREL_OpenAndFillTA_CORREL_PeekTA_CORREL_UpdateTA_CORREL_ValueTA_COSTA_COSHTA_COSH_CloneTA_COSH_OpenTA_COSH_OpenA""ndFillTA_COSH_PeekTA_COSH_UpdateTA_COSH_ValueTA_COS_CloneTA_COS_OpenTA_COS_OpenAndFillTA_COS_PeekTA_COS_UpdateTA_COS_ValueTA_CUMSUMTA_CUMSUM_CloneTA_CUMSUM_OpenTA_CUMSUM_OpenAndFillTA_CUMSUM_PeekTA_CUMSUM_UpdateTA_CUMSUM_ValueTA_CVITA_CVI_CloneTA_CVI_OpenTA_CVI_OpenAndFillTA_CVI_PeekTA_CVI_UpdateTA_CVI_ValueTA_DEMATA_DEMA_CloneTA_DEMA_OpenTA_DEMA_OpenAndFillTA_DEMA_PeekTA_DEMA_UpdateTA_DEMA_ValueTA_DIVTA_DIV_CloneTA_DIV_OpenTA_DIV_OpenAndFillTA_DIV_PeekTA_DIV_UpdateTA_DIV_ValueTA_DONCHIANTA_DONCHIAN_CloneTA_DONCHIAN_OpenTA_DONCHIAN_OpenAndFillTA_DONCHIAN_PeekTA_DONCHIAN_UpdateTA_DONCHIAN_ValueTA_DPOTA_DPO_CloneTA_DPO_OpenTA_DPO_OpenAndFillTA_DPO_PeekTA_DPO_UpdateTA_DPO_ValueTA_DXTA_DX_CloneTA_DX_OpenTA_DX_OpenAndFillTA_DX_PeekTA_DX_UpdateTA_DX_ValueTA_EFITA_EFI_CloneTA_EFI_OpenTA_EFI_OpenAndFillTA_EFI_PeekTA_EFI_UpdateTA_EFI_ValueTA_EMATA_EMA_CloneTA_EMA_OpenTA_EMA_OpenAndFillTA_EMA_PeekTA_EMA_UpdateTA_EMA_ValueTA_ERTA_ERITA_ERI_CloneTA_ERI_OpenTA_ERI_OpenAndFillTA_ERI_PeekTA_ERI_UpdateTA_ERI_ValueTA_ER_CloneTA_ER_OpenTA_ER_OpenAndFillTA_ER_PeekTA_ER_UpdateTA_ER_ValueTA_EXPTA_EXP_CloneTA_EXP_OpenTA_EXP_OpenAndFillTA_EXP_PeekTA_EXP_UpdateTA_EXP_ValueTA_FLOORTA_FLOOR_CloneTA_FLOOR_OpenTA_FLOOR_OpenAndFillTA_FLOOR_PeekTA_FLOOR_UpdateTA_FLOOR_ValueTA_FOSCTA_FOSC_CloneTA_FOSC_OpenTA_FOSC_OpenAndFillTA_FOSC_PeekTA_FOSC_UpdateTA_FOSC_ValueTA_FRACTALTA_FRACTAL_CloneTA_FRACTAL_OpenTA_FRACTAL_OpenAndFillTA_FRACTAL_PeekTA_FRACTAL_UpdateTA_FRACTAL_ValueTA_FUNC_FLAGSTA_FuncTableAllocTA_FuncTableFreeTA_GetFuncHandleTA_GetFuncInfoTA_GetInputParameterInfoTA_GetLookbackTA_GetOptInputParameterInfoTA_GetOutputParameterInfoTA_GroupTableAllocTA_GroupTableFreeTA_HATA_HA_CloneTA_HA_OpenTA_HA_OpenAndFillTA_HA_PeekTA_HA_UpdateTA_HA_ValueTA_HMATA_HMA_CloneTA_HMA_OpenTA_HMA_OpenAndFillTA_HMA_PeekTA_HMA_UpdateTA_HMA_ValueTA_HT_DCPERIODTA_HT_DCPERIOD_CloneTA_HT_DCPERIOD_OpenTA_HT_DCPERIOD_OpenAndFillTA_HT_DCPERIOD_PeekTA_HT_DCPERIOD_UpdateTA_HT_DCPERIOD_ValueTA_HT_DCPHASETA_HT_DCPHASE_CloneTA_H""T_DCPHASE_OpenTA_HT_DCPHASE_OpenAndFillTA_HT_DCPHASE_PeekTA_HT_DCPHASE_UpdateTA_HT_DCPHASE_ValueTA_HT_PHASORTA_HT_PHASOR_CloneTA_HT_PHASOR_OpenTA_HT_PHASOR_OpenAndFillTA_HT_PHASOR_PeekTA_HT_PHASOR_UpdateTA_HT_PHASOR_ValueTA_HT_SINETA_HT_SINE_CloneTA_HT_SINE_OpenTA_HT_SINE_OpenAndFillTA_HT_SINE_PeekTA_HT_SINE_UpdateTA_HT_SINE_ValueTA_HT_TRENDLINETA_HT_TRENDLINE_CloneTA_HT_TRENDLINE_OpenTA_HT_TRENDLINE_OpenAndFillTA_HT_TRENDLINE_PeekTA_HT_TRENDLINE_UpdateTA_HT_TRENDLINE_ValueTA_HT_TRENDMODETA_HT_TRENDMODE_CloneTA_HT_TRENDMODE_OpenTA_HT_TRENDMODE_OpenAndFillTA_HT_TRENDMODE_PeekTA_HT_TRENDMODE_UpdateTA_HT_TRENDMODE_ValueTA_IMITA_IMI_CloneTA_IMI_OpenTA_IMI_OpenAndFillTA_IMI_PeekTA_IMI_UpdateTA_IMI_ValueTA_INPUT_FLAGSTA_InitializeTA_KAMATA_KAMA_CloneTA_KAMA_OpenTA_KAMA_OpenAndFillTA_KAMA_PeekTA_KAMA_UpdateTA_KAMA_ValueTA_KCTA_KC_CloneTA_KC_OpenTA_KC_OpenAndFillTA_KC_PeekTA_KC_UpdateTA_KC_ValueTA_KDJTA_KDJ_CloneTA_KDJ_OpenTA_KDJ_OpenAndFillTA_KDJ_PeekTA_KDJ_UpdateTA_KDJ_ValueTA_LINEARREGTA_LINEARREG_ANGLETA_LINEARREG_ANGLE_CloneTA_LINEARREG_ANGLE_OpenTA_LINEARREG_ANGLE_OpenAndFillTA_LINEARREG_ANGLE_PeekTA_LINEARREG_ANGLE_UpdateTA_LINEARREG_ANGLE_ValueTA_LINEARREG_CloneTA_LINEARREG_INTERCEPTTA_LINEARREG_INTERCEPT_CloneTA_LINEARREG_INTERCEPT_OpenTA_LINEARREG_INTERCEPT_OpenAndFillTA_LINEARREG_INTERCEPT_PeekTA_LINEARREG_INTERCEPT_UpdateTA_LINEARREG_INTERCEPT_ValueTA_LINEARREG_OpenTA_LINEARREG_OpenAndFillTA_LINEARREG_PeekTA_LINEARREG_SLOPETA_LINEARREG_SLOPE_CloneTA_LINEARREG_SLOPE_OpenTA_LINEARREG_SLOPE_OpenAndFillTA_LINEARREG_SLOPE_PeekTA_LINEARREG_SLOPE_UpdateTA_LINEARREG_SLOPE_ValueTA_LINEARREG_UpdateTA_LINEARREG_ValueTA_LNTA_LN_CloneTA_LN_OpenTA_LN_OpenAndFillTA_LN_PeekTA_LN_UpdateTA_LN_ValueTA_LOG10TA_LOG10_CloneTA_LOG10_OpenTA_LOG10_OpenAndFillTA_LOG10_PeekTA_LOG10_UpdateTA_LOG10_ValueTA_MATA_MACDTA_MACDEXTTA_MACDEXT_CloneTA_MACDEXT_OpenTA_MACDEXT_OpenAndFillTA_MACDEXT_PeekTA_MACDEXT_UpdateTA_MACDEXT_ValueTA_MACDFIXTA_MACDFIX_CloneTA_MACDFIX_OpenTA_MACDFIX_OpenAndFillTA_M""ACDFIX_PeekTA_MACDFIX_UpdateTA_MACDFIX_ValueTA_MACD_CloneTA_MACD_OpenTA_MACD_OpenAndFillTA_MACD_PeekTA_MACD_UpdateTA_MACD_ValueTA_MAMATA_MAMA_CloneTA_MAMA_OpenTA_MAMA_OpenAndFillTA_MAMA_PeekTA_MAMA_UpdateTA_MAMA_ValueTA_MARKETFITA_MARKETFI_CloneTA_MARKETFI_OpenTA_MARKETFI_OpenAndFillTA_MARKETFI_PeekTA_MARKETFI_UpdateTA_MARKETFI_ValueTA_MASSITA_MASSI_CloneTA_MASSI_OpenTA_MASSI_OpenAndFillTA_MASSI_PeekTA_MASSI_UpdateTA_MASSI_ValueTA_MAVPTA_MAVP_CloneTA_MAVP_OpenTA_MAVP_OpenAndFillTA_MAVP_PeekTA_MAVP_UpdateTA_MAVP_ValueTA_MAXTA_MAXINDEXTA_MAXINDEX_CloneTA_MAXINDEX_OpenTA_MAXINDEX_OpenAndFillTA_MAXINDEX_PeekTA_MAXINDEX_UpdateTA_MAXINDEX_ValueTA_MAX_CloneTA_MAX_OpenTA_MAX_OpenAndFillTA_MAX_PeekTA_MAX_UpdateTA_MAX_ValueTA_MA_CloneTA_MA_OpenTA_MA_OpenAndFillTA_MA_PeekTA_MA_UpdateTA_MA_ValueTA_MEDPRICETA_MEDPRICE_CloneTA_MEDPRICE_OpenTA_MEDPRICE_OpenAndFillTA_MEDPRICE_PeekTA_MEDPRICE_UpdateTA_MEDPRICE_ValueTA_MFITA_MFI_CloneTA_MFI_OpenTA_MFI_OpenAndFillTA_MFI_PeekTA_MFI_UpdateTA_MFI_ValueTA_MIDPOINTTA_MIDPOINT_CloneTA_MIDPOINT_OpenTA_MIDPOINT_OpenAndFillTA_MIDPOINT_PeekTA_MIDPOINT_UpdateTA_MIDPOINT_ValueTA_MIDPRICETA_MIDPRICE_CloneTA_MIDPRICE_OpenTA_MIDPRICE_OpenAndFillTA_MIDPRICE_PeekTA_MIDPRICE_UpdateTA_MIDPRICE_ValueTA_MINTA_MININDEXTA_MININDEX_CloneTA_MININDEX_OpenTA_MININDEX_OpenAndFillTA_MININDEX_PeekTA_MININDEX_UpdateTA_MININDEX_ValueTA_MINMAXTA_MINMAXINDEXTA_MINMAXINDEX_CloneTA_MINMAXINDEX_OpenTA_MINMAXINDEX_OpenAndFillTA_MINMAXINDEX_PeekTA_MINMAXINDEX_UpdateTA_MINMAXINDEX_ValueTA_MINMAX_CloneTA_MINMAX_OpenTA_MINMAX_OpenAndFillTA_MINMAX_PeekTA_MINMAX_UpdateTA_MINMAX_ValueTA_MINUS_DITA_MINUS_DI_CloneTA_MINUS_DI_OpenTA_MINUS_DI_OpenAndFillTA_MINUS_DI_PeekTA_MINUS_DI_UpdateTA_MINUS_DI_ValueTA_MINUS_DMTA_MINUS_DM_CloneTA_MINUS_DM_OpenTA_MINUS_DM_OpenAndFillTA_MINUS_DM_PeekTA_MINUS_DM_UpdateTA_MINUS_DM_ValueTA_MIN_CloneTA_MIN_OpenTA_MIN_OpenAndFillTA_MIN_PeekTA_MIN_UpdateTA_MIN_ValueTA_MOMTA_MOM_CloneTA_MOM_OpenTA_MOM_OpenAndFillTA_MOM_PeekTA_MOM_UpdateTA_MOM_ValueTA_MUL""TTA_MULT_CloneTA_MULT_OpenTA_MULT_OpenAndFillTA_MULT_PeekTA_MULT_UpdateTA_MULT_ValueTA_NATRTA_NATR_CloneTA_NATR_OpenTA_NATR_OpenAndFillTA_NATR_PeekTA_NATR_UpdateTA_NATR_ValueTA_NVITA_NVI_CloneTA_NVI_OpenTA_NVI_OpenAndFillTA_NVI_PeekTA_NVI_UpdateTA_NVI_ValueTA_OBVTA_OBV_CloneTA_OBV_OpenTA_OBV_OpenAndFillTA_OBV_PeekTA_OBV_UpdateTA_OBV_ValueTA_OUTPUT_FLAGSTA_PERCENTILETA_PERCENTILE_CloneTA_PERCENTILE_OpenTA_PERCENTILE_OpenAndFillTA_PERCENTILE_PeekTA_PERCENTILE_UpdateTA_PERCENTILE_ValueTA_PERCENTRANKTA_PERCENTRANK_CloneTA_PERCENTRANK_OpenTA_PERCENTRANK_OpenAndFillTA_PERCENTRANK_PeekTA_PERCENTRANK_UpdateTA_PERCENTRANK_ValueTA_PLUS_DITA_PLUS_DI_CloneTA_PLUS_DI_OpenTA_PLUS_DI_OpenAndFillTA_PLUS_DI_PeekTA_PLUS_DI_UpdateTA_PLUS_DI_ValueTA_PLUS_DMTA_PLUS_DM_CloneTA_PLUS_DM_OpenTA_PLUS_DM_OpenAndFillTA_PLUS_DM_PeekTA_PLUS_DM_UpdateTA_PLUS_DM_ValueTA_PPOTA_PPO_CloneTA_PPO_OpenTA_PPO_OpenAndFillTA_PPO_PeekTA_PPO_UpdateTA_PPO_ValueTA_PVITA_PVI_CloneTA_PVI_OpenTA_PVI_OpenAndFillTA_PVI_PeekTA_PVI_UpdateTA_PVI_ValueTA_PVOTA_PVO_CloneTA_PVO_OpenTA_PVO_OpenAndFillTA_PVO_PeekTA_PVO_UpdateTA_PVO_ValueTA_PVTTA_PVT_CloneTA_PVT_OpenTA_PVT_OpenAndFillTA_PVT_PeekTA_PVT_UpdateTA_PVT_ValueTA_ParamHolderAllocTA_ParamHolderFreeTA_QSTICKTA_QSTICK_CloneTA_QSTICK_OpenTA_QSTICK_OpenAndFillTA_QSTICK_PeekTA_QSTICK_UpdateTA_QSTICK_ValueTA_RMATA_RMA_CloneTA_RMA_OpenTA_RMA_OpenAndFillTA_RMA_PeekTA_RMA_UpdateTA_RMA_ValueTA_ROCTA_ROCPTA_ROCP_CloneTA_ROCP_OpenTA_ROCP_OpenAndFillTA_ROCP_PeekTA_ROCP_UpdateTA_ROCP_ValueTA_ROCRTA_ROCR100TA_ROCR100_CloneTA_ROCR100_OpenTA_ROCR100_OpenAndFillTA_ROCR100_PeekTA_ROCR100_UpdateTA_ROCR100_ValueTA_ROCR_CloneTA_ROCR_OpenTA_ROCR_OpenAndFillTA_ROCR_PeekTA_ROCR_UpdateTA_ROCR_ValueTA_ROC_CloneTA_ROC_OpenTA_ROC_OpenAndFillTA_ROC_PeekTA_ROC_UpdateTA_ROC_ValueTA_RSITA_RSI_CloneTA_RSI_OpenTA_RSI_OpenAndFillTA_RSI_PeekTA_RSI_UpdateTA_RSI_ValueTA_RVITA_RVI_CloneTA_RVI_OpenTA_RVI_OpenAndFillTA_RVI_PeekTA_RVI_UpdateTA_RVI_ValueTA_RVOLTA_RVOL_CloneTA_RVOL_OpenTA_RVOL_OpenAndFillTA_RV""OL_PeekTA_RVOL_UpdateTA_RVOL_ValueTA_RestoreCandleDefaultSettingsTA_SARTA_SAREXTTA_SAREXT_CloneTA_SAREXT_OpenTA_SAREXT_OpenAndFillTA_SAREXT_PeekTA_SAREXT_UpdateTA_SAREXT_ValueTA_SAR_CloneTA_SAR_OpenTA_SAR_OpenAndFillTA_SAR_PeekTA_SAR_UpdateTA_SAR_ValueTA_SINTA_SINHTA_SINH_CloneTA_SINH_OpenTA_SINH_OpenAndFillTA_SINH_PeekTA_SINH_UpdateTA_SINH_ValueTA_SIN_CloneTA_SIN_OpenTA_SIN_OpenAndFillTA_SIN_PeekTA_SIN_UpdateTA_SIN_ValueTA_SMATA_SMA_CloneTA_SMA_OpenTA_SMA_OpenAndFillTA_SMA_PeekTA_SMA_UpdateTA_SMA_ValueTA_SMITA_SMI_CloneTA_SMI_OpenTA_SMI_OpenAndFillTA_SMI_PeekTA_SMI_UpdateTA_SMI_ValueTA_SQRTTA_SQRT_CloneTA_SQRT_OpenTA_SQRT_OpenAndFillTA_SQRT_PeekTA_SQRT_UpdateTA_SQRT_ValueTA_STDDEVTA_STDDEV_CloneTA_STDDEV_OpenTA_STDDEV_OpenAndFillTA_STDDEV_PeekTA_STDDEV_UpdateTA_STDDEV_ValueTA_STOCHTA_STOCHFTA_STOCHF_CloneTA_STOCHF_OpenTA_STOCHF_OpenAndFillTA_STOCHF_PeekTA_STOCHF_UpdateTA_STOCHF_ValueTA_STOCHRSITA_STOCHRSI_CloneTA_STOCHRSI_OpenTA_STOCHRSI_OpenAndFillTA_STOCHRSI_PeekTA_STOCHRSI_UpdateTA_STOCHRSI_ValueTA_STOCH_CloneTA_STOCH_OpenTA_STOCH_OpenAndFillTA_STOCH_PeekTA_STOCH_UpdateTA_STOCH_ValueTA_SUBTA_SUB_CloneTA_SUB_OpenTA_SUB_OpenAndFillTA_SUB_PeekTA_SUB_UpdateTA_SUB_ValueTA_SUMTA_SUM_CloneTA_SUM_OpenTA_SUM_OpenAndFillTA_SUM_PeekTA_SUM_UpdateTA_SUM_ValueTA_SUPERTRENDTA_SUPERTREND_CloneTA_SUPERTREND_OpenTA_SUPERTREND_OpenAndFillTA_SUPERTREND_PeekTA_SUPERTREND_UpdateTA_SUPERTREND_ValueTA_SetCandleSettingsTA_SetCompatibilityTA_SetOptInputParamIntegerTA_SetOptInputParamRealTA_SetUnstablePeriodTA_ShutdownTA_T3TA_T3_CloneTA_T3_OpenTA_T3_OpenAndFillTA_T3_PeekTA_T3_UpdateTA_T3_ValueTA_TANTA_TANHTA_TANH_CloneTA_TANH_OpenTA_TANH_OpenAndFillTA_TANH_PeekTA_TANH_UpdateTA_TANH_ValueTA_TAN_CloneTA_TAN_OpenTA_TAN_OpenAndFillTA_TAN_PeekTA_TAN_UpdateTA_TAN_ValueTA_TEMATA_TEMA_CloneTA_TEMA_OpenTA_TEMA_OpenAndFillTA_TEMA_PeekTA_TEMA_UpdateTA_TEMA_ValueTA_TRANGETA_TRANGE_CloneTA_TRANGE_OpenTA_TRANGE_OpenAndFillTA_TRANGE_PeekTA_TRANGE_UpdateTA_TRANGE_ValueTA_TRIMATA_TRIMA_CloneTA_TRIMA_OpenT""A_TRIMA_OpenAndFillTA_TRIMA_PeekTA_TRIMA_UpdateTA_TRIMA_ValueTA_TRIXTA_TRIX_CloneTA_TRIX_OpenTA_TRIX_OpenAndFillTA_TRIX_PeekTA_TRIX_UpdateTA_TRIX_ValueTA_TSFTA_TSF_CloneTA_TSF_OpenTA_TSF_OpenAndFillTA_TSF_PeekTA_TSF_UpdateTA_TSF_ValueTA_TSITA_TSI_CloneTA_TSI_OpenTA_TSI_OpenAndFillTA_TSI_PeekTA_TSI_UpdateTA_TSI_ValueTA_TYPPRICETA_TYPPRICE_CloneTA_TYPPRICE_OpenTA_TYPPRICE_OpenAndFillTA_TYPPRICE_PeekTA_TYPPRICE_UpdateTA_TYPPRICE_ValueTA_ULTOSCTA_ULTOSC_CloneTA_ULTOSC_OpenTA_ULTOSC_OpenAndFillTA_ULTOSC_PeekTA_ULTOSC_UpdateTA_ULTOSC_ValueTA_VARTA_VAR_CloneTA_VAR_OpenTA_VAR_OpenAndFillTA_VAR_PeekTA_VAR_UpdateTA_VAR_ValueTA_VHFTA_VHF_CloneTA_VHF_OpenTA_VHF_OpenAndFillTA_VHF_PeekTA_VHF_UpdateTA_VHF_ValueTA_VORTEXTA_VORTEX_CloneTA_VORTEX_OpenTA_VORTEX_OpenAndFillTA_VORTEX_PeekTA_VORTEX_UpdateTA_VORTEX_ValueTA_VWAPTA_VWAP_CloneTA_VWAP_OpenTA_VWAP_OpenAndFillTA_VWAP_PeekTA_VWAP_UpdateTA_VWAP_ValueTA_VWMATA_VWMA_CloneTA_VWMA_OpenTA_VWMA_OpenAndFillTA_VWMA_PeekTA_VWMA_UpdateTA_VWMA_ValueTA_WADTA_WAD_CloneTA_WAD_OpenTA_WAD_OpenAndFillTA_WAD_PeekTA_WAD_UpdateTA_WAD_ValueTA_WCLPRICETA_WCLPRICE_CloneTA_WCLPRICE_OpenTA_WCLPRICE_OpenAndFillTA_WCLPRICE_PeekTA_WCLPRICE_UpdateTA_WCLPRICE_ValueTA_WILLRTA_WILLR_CloneTA_WILLR_OpenTA_WILLR_OpenAndFillTA_WILLR_PeekTA_WILLR_UpdateTA_WILLR_ValueTA_WMATA_WMA_CloneTA_WMA_OpenTA_WMA_OpenAndFillTA_WMA_PeekTA_WMA_UpdateTA_WMA_ValueTA_ZLEMATA_ZLEMA_CloneTA_ZLEMA_OpenTA_ZLEMA_OpenAndFillTA_ZLEMA_PeekTA_ZLEMA_UpdateTA_ZLEMA_ValueTEMATEMA_StreamTEMA_Stream.open_and_fillTRANGETRANGE_StreamTRANGE_Stream.open_and_fillTRIMATRIMA_StreamTRIMA_Stream.open_and_fillTRIXTRIX_StreamTRIX_Stream.open_and_fillTSFTSF_StreamTSF_Stream.open_and_fillTSITSI_StreamTSI_Stream.open_and_fillTYPPRICETYPPRICE_StreamTYPPRICE_Stream.open_and_fillULTOSCULTOSC_StreamULTOSC_Stream.open_and_fillVARVAR_StreamVAR_Stream.open_and_fillVHFVHF_StreamVHF_Stream.open_and_fillVORTEXVORTEX_StreamVORTEX_Stream.open_and_fillVWAPVWAP_StreamVWAP_Stream.open_and_fillVWMAVWMA_StreamVWMA_Stream.open_""and_fillWADWAD_StreamWAD_Stream.open_and_fillWCLPRICEWCLPRICE_StreamWCLPRICE_Stream.open_and_fillWILLRWILLR_StreamWILLR_Stream.open_and_fillWMAWMA_StreamWMA_Stream.open_and_fillZLEMAZLEMA_StreamZLEMA_Stream.open_and_fill_ARRAY_TYPES_Function__call_function_Function__check_opt_input_value_Function__get_opt_input_value_Function__input_price_series_names_Function__local_Function__localdata_Function__name_Function__namestr_INPUT_ARRAYS_TYPES_INPUT_PRICE_SERIES_DEFAULTS_PANDAS_DATAFRAME_PANDAS_SERIES_POLARS_DATAFRAME_POLARS_SERIES_TA_ReadLease_TA_ReadLease.__enter___TA_ReadLease.__exit___TA_ReadLease.__reduce_cython___TA_ReadLease.__setstate_cython___TA_WriteLease_TA_WriteLease.__enter___TA_WriteLease.__exit___TA_WriteLease.__reduce_cython___TA_WriteLease.__setstate_cython____Pyx_PyDict_NextRef__TA_FUNCTION_NAMES____all____annotate____call____call_function__check_opt_input_value__class_getitem____copy____deepcopy____dict____doc____enter____exit____func____get_flags__get_opt_input_value__getitem____getstate____init____input_price_series_names__local__main____metaclass____module____mro_entries____name____new____prepare____pyx_checksum__pyx_result__pyx_state__pyx_type__pyx_unpickle__TA_ReadLease__pyx_unpickle__TA_WriteLease__pyx_vtable____qualname____reduce____reduce_cython____reduce_ex____repr____set_name____setstate____setstate_cython____str____ta_version____test____unicode___dict_get_defaults_and_docs_is_coroutine_lookup_ta_check_success_ta_func_unst_id_ta_func_unst_ids_ta_func_unst_retired_ta_getFuncInfo_ta_getFuncTable_ta_getGroupTable_ta_getInputParameterInfo_ta_getOptInputParameterInfo_ta_getOutputParameterInfo_ta_get_compatibility_ta_get_unstable_period_ta_initialize_ta_restore_candle_default_settings_ta_set_candle_settings_ta_set_compatibility_ta_set_unstable_period_ta_shutdowna_closea_higha_lowa_opena_periodsa_reala_real0a_real1a_volumeaccelerationaccelerationinitlongaccelerationinitshortaccelerationlongaccelerationmaxlongaccelerationmaxshortaccelerationshortacqui""redappendargargsarraysasciiastypeasyncio.coroutinesat_exitatrperiodavgperiodbbegidxbitbytes2strc_periodc_valuecandlestickcline_in_tracebackcloneclosecollectionscolumn_stackcolumnscopyddecodedefault_valuedefaultsdescriptiondisplay_namedocsdocumentationemptyendidxendswithenumeratefactorfastd_matypefastd_periodfastk_periodfastlimitfastmatypefastperiodfirstperiodflagflagsflags_lookup_dictfunc_argsfunc_infofunc_linefunc_objectfunction_flagsfunction_namefunctionsget_input_arraysget_input_namesget_parametersgroupgroupshandlehelphighhistorylenholderiididximport_errorinindexinfoinput_arraysinput_nameinput_namesinput_price_series_namesintegeris_emptyitemskeykeyskwargsleftbarslengthlocallookbacklowlowermatypemaximummaxperiodmemominperiodmissingmissing_keysmodulemsgmultipliernnamenamedtuplenannbdevnbdevdnnbdevupno_existing_input_arraysnum_inputsnum_opt_inputsnum_outputsnumpyobjectoffsetonreverseopenopenInterestopen_and_filloptInopt_inputopt_input_valuesopt_inputsordereddictoutoutaroondownoutaroonupoutbearpoweroutbegidxoutbullpoweroutdoutfamaoutfastdoutfastkouthacloseouthahighouthalowouthaopenoutinphaseoutintegeroutinteger_dataoutjoutkoutleadsineoutlowerbandoutmacdoutmacdhistoutmacdsignaloutmamaoutmaxoutmaxidxoutmaxidx_dataoutmiddlebandoutminoutminidxoutminidx_dataoutminusvioutnbelementoutplusvioutputoutput_flagsoutput_nameoutput_namesoutputsoutputs_validoutquadratureoutrealoutreallowerbandoutrealmiddlebandoutrealupperbandoutsineoutslowdoutslowkoutsmioutsmisignaloutsupertrendoutswinghighoutswinglowouttrendoutupperbandpandasparamparam_nameparametersparamspenetrationpercentileperiodperiodspolarspoppriceprice0price1price_seriesprice_series_name_valuespricespropertyrangetyperealreal0real1replaceresultsretretCoderet_coderightbarsroc1periodroc2periodrocperiodrunsschemasecondperiodselfseriesset_function_argsset_input_arraysset_input_namesset_parameterssetdefaultsettingtypesignalmatypesignalperiodskip_firstslowd_matypeslowd_periodslowk_matypeslowk_periodslowlimitslowmatypeslowperiodstac""klevelstartvaluestatestaticmethodstddevperiodstr2bytesstreamsystabletalib._ta_libthreadingtimeStamptimeperiodtimeperiod1timeperiod2timeperiod3to_numpytypetype_unst_idupdateupdate_infoupperuse_setstatevaluevaluesversionvfactorvolumewarnwarningswmaperiod\200\001\330\004\005\340\t\027\220q\330\010\013\2104\210q\330\021\022\330\020\036\230n\250A\330\014\035\230Q\320\036/\250q\330\014\036\230a\200\001\330\004\007\200u\210C\210q\330\010\020\220\005\220Q\330\014\r\330\020\026\320\026+\2501\250A\330\014 \240\013\2501\330\010\017\210q\330\004\013\320\013\034\230A\230Q\200\001\330\004\007\200y\220\003\2201\330\010\017\210q\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\330\t\022\220#\220Q\330\010\026\220a\340\010\026\220a\330\004\014\320\014#\2409\250C\250x\260q\330\004\n\210%\210q\220\001\330\010\027\220z\240\021\200\001\330\004+\2501\250F\260!\200\001\330\004,\250A\250V\2601\200\001\340\004\027\220q\330\t\027\220q\330\r\016\330\014\032\320\032.\250a\250q\330\004\025\220Q\320\026-\250Q\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220=\240\010\250\001\250\021\330\004\007\200|\2207\230!\330\010/\250q\3200@\300\016\310a\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220>\240\030\250\021\250!\330\004\007\200|\2207\230!\330\0100\260\001\3201B\300.\320PQ\330\004\013\2101\200\001\340\t\026\220a\330\r\016\330\014\027""\320\027+\2501\330\004\013\2101\200\001\340\t\027\220q\330\r\016\330\014\032\320\032/\250q\260\r\270[\310\013\320ST\330\004\025\220Q\320\026.\250a\200\001\340\t\027\220q\330\r\016\330\014\032\320\032:\270!\2701\330\004\025\220Q\320\0269\270\021\200\001\340#$\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\240?\260\"\260A\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\026\230r\240\024\240Y\250k\270\024\270V\3001\300I\310]\320Z[\320[g\320gh\320hw\360\000\000x\001C\002\360\000\000C\002J\002\360\000\000J\002P\002\360\000\000P\002Q\002\360\000\000Q\002R\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220i\230q\330\004\013\2101\200\001\340#;\2701\360(\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\240?\260\"\260M\300\021\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\026\230r\240\024\240Y\250k\270\024\270V\3001\300I\310]\320Zc\320cd\320dp\320pq\360\000\000r\001A\002\360\000\000A\002L\002\360\000\000L\002S\002\360\000\000S\002Y\002\360\000\000Y\002Z\002\360\000\000Z\002[\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220i\230q\330\004\013\2101\200\001\340#;\2701\360(\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\240?\260\"\260M\300\021\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014""\031\230\026\230r\240\024\240Y\250k\270\024\270V\3001\300I\310]\320Zd\320de\320eq\320qr\360\000\000s\001B\002\360\000\000B\002M\002\360\000\000M\002T\002\360\000\000T\002Z\002\360\000\000Z\002[\002\360\000\000[\002\\\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220i\230q\330\004\013\2101\200\001\340$%\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2602\260Q\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310m\320[\\\320\\h\320hi\320ix\360\000\000y\001D\002\360\000\000D\002K\002\360\000\000K\002Q\002\360\000\000Q\002R\002\360\000\000R\002S\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\340$<\270A\360(\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2602\260]\300!\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310m\320[c\320cd\320dp\320pq\360\000\000r\001A\002\360\000\000A\002L\002\360\000\000L\002S\002\360\000\000S\002Y\002\360\000\000Y\002Z\002\360\000\000Z\002[\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\340$<\270A\360(\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2602\260]\300!\330\010""\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310m\320[j\320jk\320kw\320wx\360\000\000y\001H\002\360\000\000H\002S\002\360\000\000S\002Z\002\360\000\000Z\002`\002\360\000\000`\002a\002\360\000\000a\002b\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\340$<\320\270a\360,\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270Q\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#4\260B\260l\300!\330\010\022\320\022#\2401\240H\250A\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\030\240\022""\2404\240y\260\013\2704\270v\300Q\300i\310|\320[g\320gh\320ht\320tu\360\000\000v\001E\002\360\000\000E\002P\002\360\000\000P\002W\002\360\000\000W\002]\002\360\000\000]\002^\002\360\000\000^\002i\002\360\000\000i\002t\002\360\000\000t\002{\002\360\000\000{\002A\003\360\000\000A\003B\003\360\000\000B\003C\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220k\240\021\330\004\013\210:\220Q\200\001\340&\047\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#5\260R\260q\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\031\240\"\240D\250\t\260\033\270D\300\006\300a\300y\320P]\320]^\320^j\320jk\320kz\360\000\000{\001F\002\360\000\000F\002M\002\360\000\000M\002S\002\360\000\000S\002T\002\360\000\000T\002U\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220l\240!\330\004\013\2101\200\001\340&>\320>V\320VW\360*\000\005\016\210[\230\001\230\021\330\004\r\210V\2206\230\021\230!\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\026\260q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2602\260]\300-\310q\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270&\300\006\300a\300y\320P]\320]j\320js\320st\360\000\000u\001A\002\360\000\000A\002B\002\360\000\000B\002Q\002\360\000\000Q\002\\\002\360\000\000\\\002c\002\360\000\000c\002i\002\360\000\000i\002j\002\360\000\000j\002k\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\340\047(\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a""\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#6\260b\270\001\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\032\2402\240T\250\031\260+\270T\300\026\300q\310\t\320Q^\320^_\320_k\320kl\320l{\360\000\000|\001G\002\360\000\000G\002N\002\360\000\000N\002T\002\360\000\000T\002U\002\360\000\000U\002V\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220m\2401\330\004\013\2101\200\001\340\047(\360&\000\005\016\210[\230\001\230\021\330\004\r\210V\2206\230\021\230!\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\026\260q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#4\260B\260a\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\030\240\022\2404\240y\260\013\2706\300\026\300q\310\t\320Q^\320^_\320_k\320kl\320l{\360\000\000|\001G\002\360\000\000G\002N\002\360\000\000N\002T\002\360\000\000T\002U\002\360\000\000U\002V\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220k\240\021\330\004\013\2101\200\001\340\047(\360*\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270Q\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#6\260b\270\001\330\010\021\320\021\"\240!\2408\2501\330\010\021\320\021\"\240!\2408\2501\330\r\016\330\014\031\230\032\2402\240T\250\031\260+\270T\300\026\300q\310\t\320Q^\320^_\320_k\320kl\320l{\360\000\000|\001G\002\360\000\000G\002M\002\360\000\000M\002S\002\360\000\000S\002T\002\360\000\000T\002_\002\360\000\000_\002j\002\360\000\000j\002p\002\360\000\000p\002v\002\360\000\000v\002w\002\360\000\000w\002x\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220m\2401\330\004\013\2109\220A\200""\001\340\047?\270q\360(\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#6\260b\270\r\300Q\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\032\2402\240T\250\031\260+\270T\300\026\300q\310\t\320Q^\320^f\320fg\320gs\320st\360\000\000u\001D\002\360\000\000D\002O\002\360\000\000O\002V\002\360\000\000V\002\\\002\360\000\000\\\002]\002\360\000\000]\002^\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220m\2401\330\004\013\2101\200\001\340\047?\320?V\320Vm\320mn\3604\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270T\320AR\320RS\320SV\320VW\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#6\260b\270\r\300Z\310z\320YZ\330\010\033\320\033,\250A\250X\260Q\330\010\034\320\034-\250Q\250h\260a\330\010\033\320\033,\250A\250X\260Q\330\r\016\330\014\031\230\032\2402\240T\250\031\260+\270T\300\026\300q\310\t\320Q^\320^h\320hr\320r{\320{|\360\000\000}\001I\002\360\000\000I\002J\002\360\000\000J\002Y\002\360\000\000Y\002d\002\360\000\000d\002t\002\360\000\000t\002z\002\360\000\000z\002{\002\360\000\000{\002F\003\360\000\000F\003Q\003\360\000\000Q\003b\003\360\000\000b\003h\003\360\000\000h\003i\003\360\000\000i\003t\003\360\000\000t\003\177\003\360\000\000\177\003O\004\360\000\000O\004U\004\360\000\000U\004V\004\360\000\000V\004W\004\340\r\016\330\014\030\230\001\330\004\025\220Q\220m\2401\330\004\013\320\013\036\320\0362\260!\200\001\340()\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010""\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#7\260r\270\021\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\033\240B\240d\250)\260;\270d\300&\310\001\310\031\320R_\320_`\320`l\320lm\320m|\360\000\000}\001H\002\360\000\000H\002O\002\360\000\000O\002U\002\360\000\000U\002V\002\360\000\000V\002W\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220n\240A\330\004\013\2101\200\001\340()\360.\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270T\320AR\320RS\320SV\320VW\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#7\260r\270\021\330\010\022\320\022#\2401\240H\250A\330\010\030\320\030)\250\021\250(\260!\330\010\026\320\026\047\240q\250\010\260\001\330\r\016\330\014\031\230\033\240B\240d\250)\260;\270d\300&\310\001\310\031\320Ra\320ab\320bn\320no\320o~\360\000\000\177\001J\002\360\000\000J\002Q\002\360\000\000Q\002W\002\360\000\000W\002X\002\360\000\000X\002c\002\360\000\000c\002n\002\360\000\000n\002{\002\360\000\000{\002A\003\360\000\000A\003B\003\360\000\000B\003M\003\360\000\000M\003X\003\360\000\000X\003c\003\360\000\000c\003i\003\360\000\000i\003j\003\360\000\000j\003k\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220n\240A\330\004\013\210:\320\025%\240Q\200\001\340(?\320?W\320WX\360*\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#7\260r\270\034\300]\320RS\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\033\240B\240d\250)\260;\270d\300&\310\001\310\031""\320R^\320^k\320kx\320xy\360\000\000z\001F\002\360\000\000F\002G\002\360\000\000G\002V\002\360\000\000V\002a\002\360\000\000a\002h\002\360\000\000h\002n\002\360\000\000n\002o\002\360\000\000o\002p\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220n\240A\330\004\013\2101\200\001\340(@\320@S\320Sk\320k~\360\000\000\177\001Y\002\360\000\000Y\002Z\002\3608\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270T\320AR\320RS\320SV\320VW\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#7\260r\270\035\300m\320S`\320`m\320m|\320|}\330\010\022\320\022#\2401\240H\250A\330\010\030\320\030)\250\021\250(\260!\330\010\026\320\026\047\240q\250\010\260\001\330\r\016\330\014\031\230\033\240B\240d\250)\260;\270d\300&\310\001\310\031\320R_\320_l\320ly\360\000\000z\001G\002\360\000\000G\002V\002\360\000\000V\002e\002\360\000\000e\002f\002\360\000\000f\002r\002\360\000\000r\002s\002\360\000\000s\002B\003\360\000\000B\003M\003\360\000\000M\003T\003\360\000\000T\003Z\003\360\000\000Z\003[\003\360\000\000[\003f\003\360\000\000f\003q\003\360\000\000q\003~\003\360\000\000~\003D\004\360\000\000D\004E\004\360\000\000E\004P\004\360\000\000P\004[\004\360\000\000[\004f\004\360\000\000f\004l\004\360\000\000l\004m\004\360\000\000m\004n\004\340\r\016\330\014\030\230\001\330\004\025\220Q\220n\240A\330\004\013\210:\320\025%\240Q\200\001\340)*\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#8\270\002\270!\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\230\034\240R\240t\2509\260K\270t\3006\310\021\310)\320S`\320`a\320am\320mn""\320n}\360\000\000~\001F\002\360\000\000F\002P\002\360\000\000P\002V\002\360\000\000V\002W\002\360\000\000W\002X\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220o\240Q\330\004\026\220f\230J\240a\330\t\n\330\010\014\210G\320\023#\2401\330\014\033\2301\230F\240!\330\004\013\2101\200\001\340)*\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#8\270\002\270!\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\034\240R\240t\2509\260K\270t\3006\310\021\310)\320S`\320`a\320am\320mn\320n}\360\000\000~\001I\002\360\000\000I\002P\002\360\000\000P\002V\002\360\000\000V\002W\002\360\000\000W\002X\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220o\240Q\330\004\013\2101\200\001\340)A\320A[\320[u\320uv\3600\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270Q\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#8\270\002\270-\300\177\320Ve\320ef\330\010\023\320\023$\240A\240X\250Q\330\010\023\320\023$\240A\240X\250Q\330\r\016\330\014\031\230\034\240R\240t\2509\260K\270t\3006\310\021\310)\320S`\320`o\320o~\360\000\000\177\001N\002\360\000\000N\002O\002\360\000\000O\002[\002\360\000\000[\002\\\002\360\000\000\\\002k\002\360\000\000k\002v\002\360\000\000v\002~\002\360\000\000~\002D\003\360\000\000D\003E\003\360\000\000E\003P\003\360\000\000P\003[\003\360\000\000[\003c\003\360\000\000c\003i\003\360\000\000i\003j\003\360\000\000j\003k\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220o\240Q\330\004\013\210;\220a\200\001\340*+\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230""\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#9\270\022\2701\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\035\240b\250\004\250I\260[\300\004\300F\310!\3109\320Ta\320ab\320bn\320no\320o~\360\000\000\177\001J\002\360\000\000J\002Q\002\360\000\000Q\002W\002\360\000\000W\002X\002\360\000\000X\002Y\002\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026&\240a\330\004\013\2101\200\001\340+C\3001\360(\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#:\270\"\270M\310\021\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\036\240r\250\024\250Y\260k\300\024\300V\3101\310I\320Ub\320bo\320op\320p|\320|}\360\000\000~\001M\002\360\000\000M\002X\002\360\000\000X\002_\002\360\000\000_\002e\002\360\000\000e\002f\002\360\000\000f\002g\002\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026\047\240q\330\004\013\2101\200\001\340,-\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#;\2702\270Q\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\037\250\002\250$\250i\260{\300$\300f\310A\310Y\320Vc\320cd\320dp\320pq\360\000\000r\001A\002\360\000\000A\002L\002\360\000\000L\002S\002\360\000\000S\002Y\002\360\000\000Y\002Z\002\360\000\000Z\002[\002\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026(\250\001\330\004\013\2101\200\001\340,-\360*\000""\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\024\240^\2601\260C\260q\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#;\2702\270Q\330\010\024\220N\240!\2408\2501\330\010\024\220N\240!\2408\2501\330\r\016\330\014\031\230\037\250\002\250$\250i\260{\300$\300f\310A\310Y\320Vc\320cd\320dp\320pq\360\000\000r\001A\002\360\000\000A\002I\002\360\000\000I\002R\002\360\000\000R\002X\002\360\000\000X\002Y\002\360\000\000Y\002d\002\360\000\000d\002l\002\360\000\000l\002u\002\360\000\000u\002{\002\360\000\000{\002|\002\360\000\000|\002}\002\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026(\250\001\330\004\025\220V\2309\240A\330\t\n\330\010\014\210G\320\023#\2401\330\014\032\230!\2306\240\021\330\004\025\220V\2309\240A\330\t\n\330\010\014\210G\320\023#\2401\330\014\032\230!\2306\240\021\330\004\013\210<\220q\200\001\34001\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#?\270r\300\021\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\320\031,\250B\250d\260)\270;\300d\310&\320PQ\320QZ\320Zg\320gh\320ht\320tu\360\000\000v\001E\002\360\000\000E\002P\002\360\000\000P\002W\002\360\000\000W\002]\002\360\000\000]\002^\002\360\000\000^\002_\002\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026,\250A\330\004\013\2101\200\001\34045\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w""\230e\320#C\3002\300Q\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\320\0310\260\002\260$\260i\270{\310$\310f\320TU\320U^\320^k\320kl\320lx\320xy\360\000\000z\001I\002\360\000\000I\002T\002\360\000\000T\002[\002\360\000\000[\002a\002\360\000\000a\002b\002\360\000\000b\002c\002\340\r\016\330\014\030\230\001\330\004\025\220Q\320\0260\260\001\330\004\013\2101\200\001\340=U\320UV\360(\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310!\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\240?\260\"\260M\300\021\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\026\230r\240\024\240Y\250k\270\024\270V\3001\300I\310[\320X[\320[a\320ab\320bk\320kx\360\000\000y\001F\002\360\000\000F\002G\002\360\000\000G\002S\002\360\000\000S\002T\002\360\000\000T\002c\002\360\000\000c\002n\002\360\000\000n\002u\002\360\000\000u\002{\002\360\000\000{\002|\002\360\000\000|\002}\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220i\230q\330\004\013\2101\200\001\340=U\320Um\320mn\360*\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310!\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\240?\260\"\260M\300\035\310a\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\026\230r\240\024\240Y\250k\270\024\270V\3001\300I\310[\320X[\320[a\320ab\320bk\320kx\360\000\000y\001F\002\360\000\000F\002U\002\360\000\000U\002V\002\360\000\000V\002b\002\360\000\000b\002c\002\360\000\000c\002r\002\360\000\000r\002}\002\360\000\000}\002D\003\360\000\000D\003J\003\360\000\000J\003K\003\360\000\000K\003L\003\340\r\016\330\014""\030\230\001\330\004\025\220Q\220i\230q\330\004\013\2101\200\001\340>?\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310!\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2602\260Q\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310k\320Y\\\320\\b\320bc\320cl\320ly\320yz\360\000\000{\001G\002\360\000\000G\002H\002\360\000\000H\002W\002\360\000\000W\002b\002\360\000\000b\002i\002\360\000\000i\002o\002\360\000\000o\002p\002\360\000\000p\002q\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\340>V\320VW\360(\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310!\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2602\260]\300!\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310k\320Y\\\320\\b\320bc\320cl\320ly\360\000\000z\001F\002\360\000\000F\002G\002\360\000\000G\002S\002\360\000\000S\002T\002\360\000\000T\002c\002\360\000\000c\002n\002\360\000\000n\002u\002\360\000\000u\002{\002\360\000\000{\002|\002\360\000\000|\002}\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\340>Y\320YZ\360(\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310!\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016""\330\014\027\220w\230e\320#3\2602\260_\300A\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310k\320Y\\\320\\b\320bc\320cl\320l{\360\000\000|\001F\002\360\000\000F\002G\002\360\000\000G\002S\002\360\000\000S\002T\002\360\000\000T\002c\002\360\000\000c\002n\002\360\000\000n\002u\002\360\000\000u\002{\002\360\000\000{\002|\002\360\000\000|\002}\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\340@A\360&\000\005\014\210;\220a\220q\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300u\310A\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2602\260Q\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310k\320Y^\320^d\320de\320en\320n{\320{|\360\000\000}\001I\002\360\000\000I\002J\002\360\000\000J\002Y\002\360\000\000Y\002d\002\360\000\000d\002k\002\360\000\000k\002q\002\360\000\000q\002r\002\360\000\000r\002s\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\340@A\360*\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270Q\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310!\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#5\260R\260q\330\010\027\320\027(\250\001\250\030\260\021\330\010\025\320\025&\240a\240x\250q\330\r\016\330\014\031\230\031\240\"\240D\250\t\260\033\270D\300\006\300a\300y\320P[\320[^\320^d\320de\320en\320n{\320{|\360\000\000}\001I\002\360\000\000I\002J\002\360\000\000J\002Y\002\360\000\000Y\002d\002\360\000\000d\002p\002\360\000\000p\002v\002\360""\000\000v\002w\002\360\000\000w\002B\003\360\000\000B\003M\003\360\000\000M\003W\003\360\000\000W\003]\003\360\000\000]\003^\003\360\000\000^\003_\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220l\240!\330\004\013\210?\230!\200\001\340@X\320XY\360(\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310!\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#5\260R\260}\300A\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\031\240\"\240D\250\t\260\033\270D\300\006\300a\300y\320P[\320[^\320^d\320de\320en\320n{\360\000\000|\001I\002\360\000\000I\002J\002\360\000\000J\002V\002\360\000\000V\002W\002\360\000\000W\002f\002\360\000\000f\002q\002\360\000\000q\002x\002\360\000\000x\002~\002\360\000\000~\002\177\002\360\000\000\177\002@\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220l\240!\330\004\013\2101\200\001\340A[\320[z\360\000\000{\001_\002\360\000\000_\002\177\002\360\000\000\177\002b\003\360\000\000b\003G\004\360\000\000G\004h\004\360\000\000h\004i\004\3604\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310!\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#6\260b\270\r\320EW\320Wn\360\000\000o\001B\002\360\000\000B\002X\002\360\000\000X\002p\002\360\000\000p\002D\003\360\000\000D\003E\003\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\032\2402\240T\250\031\260+\270T\300\026\300q\310\t\320Q\\\320\\_\320_e\320ef\320fo\320o|\360\000\000}\001O\002\360\000\000O\002f\002\360\000\000f\002y\002\360\000\000y\002O\003\360\000\000O\003g\003\360\000\000g\003{\003\360\000\000{\003R""\004\360\000\000R\004S\004\360\000\000S\004_\004\360\000\000_\004`\004\360\000\000`\004o\004\360\000\000o\004z\004\360\000\000z\004A\005\360\000\000A\005G\005\360\000\000G\005H\005\360\000\000H\005I\005\340\r\016\330\014\030\230\001\330\004\025\220Q\220m\2401\330\004\013\2101\200\001\340BC\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310!\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#7\260r\270\021\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\033\240B\240d\250)\260;\270d\300&\310\001\310\031\320R]\320]`\320`f\320fg\320gp\320p}\320}~\360\000\000\177\001K\002\360\000\000K\002L\002\360\000\000L\002[\002\360\000\000[\002f\002\360\000\000f\002m\002\360\000\000m\002s\002\360\000\000s\002t\002\360\000\000t\002u\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220n\240A\330\004\013\2101\200\001\340BC\360&\000\005\r\210K\220q\230\001\330\004\r\210[\230\001\230\021\330\004\r\210]\230!\2307\240!\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\025\260h\270j\310\006\310a\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2602\260Q\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270%\270v\300Q\300i\310{\320Z`\320`f\320fg\320gp\320p}\320}~\360\000\000\177\001K\002\360\000\000K\002L\002\360\000\000L\002[\002\360\000\000[\002f\002\360\000\000f\002m\002\360\000\000m\002s\002\360\000\000s\002t\002\360\000\000t\002u\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\340BC\360(\000\005\014\210;\220a\220q\330\004\r\210[\230\001\230\021\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320""\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300v\310Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#4\260B\260a\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\030\240\022\2404\240y\260\013\2704\270v\300Q\300i\310{\320Z`\320`f\320fg\320gp\320p}\320}~\360\000\000\177\001K\002\360\000\000K\002L\002\360\000\000L\002[\002\360\000\000[\002f\002\360\000\000f\002m\002\360\000\000m\002s\002\360\000\000s\002t\002\360\000\000t\002u\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220k\240\021\330\004\013\2101\200\001\340BC\360(\000\005\r\210K\220q\230\001\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2307\240!\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\025\260h\270j\310\005\310Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#4\260B\260a\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\030\240\022\2404\240y\260\013\2705\300\006\300a\300y\320P[\320[`\320`f\320fg\320gp\320p}\320}~\360\000\000\177\001K\002\360\000\000K\002L\002\360\000\000L\002[\002\360\000\000[\002f\002\360\000\000f\002m\002\360\000\000m\002s\002\360\000\000s\002t\002\360\000\000t\002u\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220k\240\021\330\004\013\2101\200\001\340BX\320XY\360,\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\024\240^\2601\260C\260q\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310!\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#7\260r\270\033\300A\330\010\027\220~\240Q\240h\250a\330\010\026\220n\240A\240X\250Q\330\r\016\330\014\031\230\033\240B\240d\250)\260;\270d\300&\310\001\310\031\320R]\320]`\320`f\320fg\320gp\320p{\360""\000\000|\001H\002\360\000\000H\002I\002\360\000\000I\002U\002\360\000\000U\002V\002\360\000\000V\002e\002\360\000\000e\002m\002\360\000\000m\002y\002\360\000\000y\002\177\002\360\000\000\177\002@\003\360\000\000@\003K\003\360\000\000K\003S\003\360\000\000S\003^\003\360\000\000^\003d\003\360\000\000d\003e\003\360\000\000e\003f\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220n\240A\330\004\013\210?\230!\200\001\340CD\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310!\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#8\270\002\270!\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\034\240R\240t\2509\260K\270t\3006\310\021\310)\320S^\320^a\320ag\320gh\320hq\320q~\320~\177\360\000\000@\002L\002\360\000\000L\002M\002\360\000\000M\002\\\002\360\000\000\\\002g\002\360\000\000g\002n\002\360\000\000n\002t\002\360\000\000t\002u\002\360\000\000u\002v\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220o\240Q\330\004\013\2101\200\001\340CD\360&\000\005\014\210;\220a\220q\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300u\310A\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#6\260b\270\001\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\032\2402\240T\250\031\260+\270T\300\026\300q\310\t\320Q\\\320\\a\320ag\320gh\320hq\320q~\320~\177\360\000\000@\002L\002\360\000\000L\002M\002\360\000\000M\002\\\002\360\000\000\\\002g\002\360\000\000g\002n\002\360\000\000n\002t\002\360\000\000t\002u\002\360\000\000u\002v\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220m\2401\330\004\013\2101\200\001\340CD""\360.\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270T\320AR\320RS\320SV\320VW\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310!\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#8\270\002\270!\330\010\033\320\033,\250A\250X\260Q\330\010\034\320\034-\250Q\250h\260a\330\010\033\320\033,\250A\250X\260Q\330\r\016\330\014\031\230\034\240R\240t\2509\260K\270t\3006\310\021\310)\320S^\320^a\320ag\320gh\320hq\320q~\320~\177\360\000\000@\002L\002\360\000\000L\002M\002\360\000\000M\002\\\002\360\000\000\\\002g\002\360\000\000g\002w\002\360\000\000w\002}\002\360\000\000}\002~\002\360\000\000~\002I\003\360\000\000I\003T\003\360\000\000T\003e\003\360\000\000e\003k\003\360\000\000k\003l\003\360\000\000l\003w\003\360\000\000w\003B\004\360\000\000B\004R\004\360\000\000R\004X\004\360\000\000X\004Y\004\360\000\000Y\004Z\004\340\r\016\330\014\030\230\001\330\004\025\220Q\220o\240Q\330\004\013\320\013\036\320\0362\260!\200\001\340CZ\320Zq\320qr\360,\000\005\014\210;\220a\220q\330\004\016\210k\230\021\230!\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300w\310a\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#4\260B\260l\300,\310a\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\030\240\022\2404\240y\260\013\2704\270v\300Q\300i\310{\320Za\320ag\320gh\320hq\320q}\360\000\000~\001J\002\360\000\000J\002S\002\360\000\000S\002T\002\360\000\000T\002`\002\360\000\000`\002a\002\360\000\000a\002p\002\360\000\000p\002{\002\360\000\000{\002B\003\360\000\000B\003H\003\360\000\000H\003I\003\360\000\000I\003J\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220k\240\021\330\004\013\2101\200\001""\340DE\360(\000\005\r\210K\220q\230\001\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2307\240!\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\025\260h\270j\310\005\310Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#6\260b\270\001\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\032\2402\240T\250\031\260+\270U\300&\310\001\310\031\320R]\320]b\320bh\320hi\320ir\320r\177\360\000\000@\002A\002\360\000\000A\002M\002\360\000\000M\002N\002\360\000\000N\002]\002\360\000\000]\002h\002\360\000\000h\002o\002\360\000\000o\002u\002\360\000\000u\002v\002\360\000\000v\002w\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220m\2401\330\004\013\2101\200\001\340YZ\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\240?\260\"\260A\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\026\230r\240\024\240Y\250k\270\024\270V\3001\300I\310[\320X[\320[a\320ab\320bk\320kv\320v{\360\000\000|\001B\002\360\000\000B\002C\002\360\000\000C\002L\002\360\000\000L\002Y\002\360\000\000Y\002Z\002\360\000\000Z\002f\002\360\000\000f\002g\002\360\000\000g\002v\002\360\000\000v\002A\003\360\000\000A\003H\003\360\000\000H\003N\003\360\000\000N\003O\003\360\000\000O\003P\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220i\230q\330\004\013\2101\200\001\340Yq\360\000\000r\001I\002\360\000\000I\002J\002\3602\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9""\270\021\270#\270T\320AR\320RS\320SV\320VW\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\240?\260\"\260M\300\034\310Q\330\010\033\320\033,\250A\250X\260Q\330\010\034\320\034-\250Q\250h\260a\330\010\033\320\033,\250A\250X\260Q\330\r\016\330\014\031\230\026\230r\240\024\240Y\250k\270\024\270V\3001\300I\310[\320X[\320[a\320ab\320bk\320kv\320v{\360\000\000|\001B\002\360\000\000B\002C\002\360\000\000C\002L\002\360\000\000L\002Y\002\360\000\000Y\002e\002\360\000\000e\002m\002\360\000\000m\002n\002\360\000\000n\002z\002\360\000\000z\002{\002\360\000\000{\002J\003\360\000\000J\003U\003\360\000\000U\003e\003\360\000\000e\003k\003\360\000\000k\003l\003\360\000\000l\003w\003\360\000\000w\003B\004\360\000\000B\004S\004\360\000\000S\004Y\004\360\000\000Y\004Z\004\360\000\000Z\004e\004\360\000\000e\004p\004\360\000\000p\004@\005\360\000\000@\005F\005\360\000\000F\005G\005\360\000\000G\005H\005\340\r\016\330\014\030\230\001\330\004\025\220Q\220i\230q\330\004\013\320\013\036\320\0362\260!\200\001\340Z[\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2602\260Q\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310k\320Y\\\320\\b\320bc\320cl\320lw\320w|\360\000\000}\001C\002\360\000\000C\002D\002\360\000\000D\002M\002\360\000\000M\002Z\002\360\000\000Z\002[\002\360\000\000[\002g\002\360\000\000g\002h\002\360\000\000h\002w\002\360\000\000w\002B\003\360\000\000B\003I\003\360\000\000I\003O\003\360\000\000O\003P\003\360\000\000P\003Q""\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\340Z[\360*\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270Q\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2602\260Q\330\010\027\320\027(\250\001\250\030\260\021\330\010\027\320\027(\250\001\250\030\260\021\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310k\320Y\\\320\\b\320bc\320cl\320lw\320w|\360\000\000}\001C\002\360\000\000C\002D\002\360\000\000D\002M\002\360\000\000M\002Z\002\360\000\000Z\002[\002\360\000\000[\002g\002\360\000\000g\002h\002\360\000\000h\002w\002\360\000\000w\002B\003\360\000\000B\003N\003\360\000\000N\003T\003\360\000\000T\003U\003\360\000\000U\003`\003\360\000\000`\003k\003\360\000\000k\003w\003\360\000\000w\003}\003\360\000\000}\003~\003\360\000\000~\003\177\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\210?\230!\200\001\340Zr\360\000\000s\001K\002\360\000\000K\002c\002\360\000\000c\002d\002\3600\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270Q\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2602\260]\300-\310}\320\\]\330\010\021\320\021\"\240!\2408\2501\330\010\027\320\027(\250\001\250\030\260\021\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310k\320Y\\\320\\b\320bc\320cl\320lw\320w|\360\000\000}\001C\002\360\000\000C\002D\002\360""\000\000D\002M\002\360\000\000M\002Z\002\360\000\000Z\002g\002\360\000\000g\002t\002\360\000\000t\002C\003\360\000\000C\003D\003\360\000\000D\003P\003\360\000\000P\003Q\003\360\000\000Q\003`\003\360\000\000`\003k\003\360\000\000k\003q\003\360\000\000q\003w\003\360\000\000w\003x\003\360\000\000x\003C\004\360\000\000C\004N\004\360\000\000N\004Z\004\360\000\000Z\004`\004\360\000\000`\004a\004\360\000\000a\004b\004\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2109\220A\200\001\340Zt\360\000\000u\001O\002\360\000\000O\002e\002\360\000\000e\002\177\002\360\000\000\177\002@\003\3606\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270T\320AR\320RS\320SV\320VW\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2602\260_\300O\320Sb\320bq\320qr\330\010\017\320\017 \240\001\240\030\250\021\330\010\017\320\017 \240\001\240\030\250\021\330\010\017\320\017 \240\001\240\030\250\021\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310k\320Y\\\320\\b\320bc\320cl\320lw\320w|\360\000\000}\001C\002\360\000\000C\002D\002\360\000\000D\002M\002\360\000\000M\002\\\002\360\000\000\\\002k\002\360\000\000k\002z\002\360\000\000z\002I\003\360\000\000I\003X\003\360\000\000X\003Y\003\360\000\000Y\003e\003\360\000\000e\003f\003\360\000\000f\003u\003\360\000\000u\003@\004\360\000\000@\004D\004\360\000\000D\004J\004\360\000\000J\004K\004\360\000\000K\004V\004\360\000\000V\004a\004\360\000\000a\004e\004\360\000\000e\004k\004\360\000\000k\004l\004\360\000\000l\004w\004\360\000\000w\004B\005\360\000\000B\005F\005\360\000\000F\005L\005\360\000\000L\005M\005\360\000\000M\005N\005\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330""\004\013\2107\220\047\230\021\200\001\340[\\\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#4\260B\260a\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\030\240\022\2404\240y\260\013\2704\270v\300Q\300i\310{\320Z]\320]c\320cd\320dm\320mx\320x}\360\000\000~\001D\002\360\000\000D\002E\002\360\000\000E\002N\002\360\000\000N\002[\002\360\000\000[\002\\\002\360\000\000\\\002h\002\360\000\000h\002i\002\360\000\000i\002x\002\360\000\000x\002C\003\360\000\000C\003J\003\360\000\000J\003P\003\360\000\000P\003Q\003\360\000\000Q\003R\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220k\240\021\330\004\013\2101\200\001\340\\]\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#5\260R\260q\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\031\240\"\240D\250\t\260\033\270D\300\006\300a\300y\320P[\320[^\320^d\320de\320en\320ny\320y~\360\000\000\177\001E\002\360\000\000E\002F\002\360\000\000F\002O\002\360\000\000O\002\\\002\360\000\000\\\002]\002\360\000\000]\002i\002\360\000\000i\002j\002\360\000\000j\002y\002\360\000\000y\002D\003\360\000\000D\003K\003\360\000\000K\003Q\003\360\000\000Q\003R\003\360\000\000R\003S\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220l\240!\330\004\013\2101\200\001\340\\v\360\000\000w\001Q\002\360\000\000Q\002f\002\360\000\000f\002@""\003\360\000\000@\003A\003\3602\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270Q\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#5\260R\260\177\300o\320Ud\320ds\320st\330\010\023\320\023$\240A\240X\250Q\330\010\023\320\023$\240A\240X\250Q\330\r\016\330\014\031\230\031\240\"\240D\250\t\260\033\270D\300\006\300a\300y\320P[\320[^\320^d\320de\320en\320ny\320y~\360\000\000\177\001E\002\360\000\000E\002F\002\360\000\000F\002O\002\360\000\000O\002^\002\360\000\000^\002m\002\360\000\000m\002|\002\360\000\000|\002K\003\360\000\000K\003Z\003\360\000\000Z\003[\003\360\000\000[\003g\003\360\000\000g\003h\003\360\000\000h\003w\003\360\000\000w\003B\004\360\000\000B\004J\004\360\000\000J\004P\004\360\000\000P\004Q\004\360\000\000Q\004\\\004\360\000\000\\\004g\004\360\000\000g\004o\004\360\000\000o\004u\004\360\000\000u\004v\004\360\000\000v\004w\004\340\r\016\330\014\030\230\001\330\004\025\220Q\220l\240!\330\004\013\210;\220a\200\001\340]^\360*\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270Q\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#6\260b\270\001\330\010\024\320\024%\240Q\240h\250a\330\010\025\320\025&\240a\240x\250q\330\r\016\330\014\031\230\032\2402\240T\250\031\260+\270T\300\026\300q\310\t\320Q\\\320\\_\320_e\320ef\320fo\320oz\320z\177\360\000\000@\002F\002\360\000\000F\002G\002\360\000\000G\002P\002\360\000\000P\002]\002\360\000\000]""\002^\002\360\000\000^\002j\002\360\000\000j\002k\002\360\000\000k\002z\002\360\000\000z\002E\003\360\000\000E\003N\003\360\000\000N\003T\003\360\000\000T\003U\003\360\000\000U\003`\003\360\000\000`\003k\003\360\000\000k\003u\003\360\000\000u\003{\003\360\000\000{\003|\003\360\000\000|\003}\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220m\2401\330\004\013\210<\220q\200\001\340]v\360\000\000w\001P\002\360\000\000P\002Q\002\360*\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#6\260b\270\016\300n\320TU\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\032\2402\240T\250\031\260+\270T\300\026\300q\310\t\320Q\\\320\\_\320_e\320ef\320fo\320oz\320z\177\360\000\000@\002F\002\360\000\000F\002G\002\360\000\000G\002P\002\360\000\000P\002^\002\360\000\000^\002l\002\360\000\000l\002z\002\360\000\000z\002{\002\360\000\000{\002G\003\360\000\000G\003H\003\360\000\000H\003W\003\360\000\000W\003b\003\360\000\000b\003i\003\360\000\000i\003o\003\360\000\000o\003p\003\360\000\000p\003q\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220m\2401\330\004\013\2101\200\001\340]w\360\000\000x\001R\002\360\000\000R\002S\002\360.\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270Q\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#6\260b\270\017\300\177\320VW\330\010\023\320\023$\240A\240X\250Q\330\010\023\320\023$\240A\240X""\250Q\330\r\016\330\014\031\230\032\2402\240T\250\031\260+\270T\300\026\300q\310\t\320Q\\\320\\_\320_e\320ef\320fo\320oz\320z\177\360\000\000@\002F\002\360\000\000F\002G\002\360\000\000G\002P\002\360\000\000P\002_\002\360\000\000_\002n\002\360\000\000n\002}\002\360\000\000}\002~\002\360\000\000~\002J\003\360\000\000J\003K\003\360\000\000K\003Z\003\360\000\000Z\003e\003\360\000\000e\003m\003\360\000\000m\003s\003\360\000\000s\003t\003\360\000\000t\003\177\003\360\000\000\177\003J\004\360\000\000J\004R\004\360\000\000R\004X\004\360\000\000X\004Y\004\360\000\000Y\004Z\004\340\r\016\330\014\030\230\001\330\004\025\220Q\220m\2401\330\004\013\210;\220a\200\001\340^_\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#7\260r\270\021\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\033\240B\240d\250)\260;\270d\300&\310\001\310\031\320R]\320]`\320`f\320fg\320gp\320p{\360\000\000|\001A\002\360\000\000A\002G\002\360\000\000G\002H\002\360\000\000H\002Q\002\360\000\000Q\002^\002\360\000\000^\002_\002\360\000\000_\002k\002\360\000\000k\002l\002\360\000\000l\002{\002\360\000\000{\002F\003\360\000\000F\003M\003\360\000\000M\003S\003\360\000\000S\003T\003\360\000\000T\003U\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220n\240A\330\004\013\2101\200\001\340_`\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r""\016\330\014\027\220w\230e\320#8\270\002\270!\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\034\240R\240t\2509\260K\270t\3006\310\021\310)\320S^\320^a\320ag\320gh\320hq\320q|\360\000\000}\001B\002\360\000\000B\002H\002\360\000\000H\002I\002\360\000\000I\002R\002\360\000\000R\002_\002\360\000\000_\002`\002\360\000\000`\002l\002\360\000\000l\002m\002\360\000\000m\002|\002\360\000\000|\002G\003\360\000\000G\003N\003\360\000\000N\003T\003\360\000\000T\003U\003\360\000\000U\003V\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220o\240Q\330\004\013\2101\200\001\340_`\360.\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270T\320AR\320RS\320SV\320VW\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#8\270\002\270!\330\010\033\320\033,\250A\250X\260Q\330\010\034\320\034-\250Q\250h\260a\330\010\033\320\033,\250A\250X\260Q\330\r\016\330\014\031\230\034\240R\240t\2509\260K\270t\3006\310\021\310)\320S^\320^a\320ag\320gh\320hq\320q|\360\000\000}\001B\002\360\000\000B\002H\002\360\000\000H\002I\002\360\000\000I\002R\002\360\000\000R\002_\002\360\000\000_\002`\002\360\000\000`\002l\002\360\000\000l\002m\002\360\000\000m\002|\002\360\000\000|\002G\003\360\000\000G\003W\003\360\000\000W\003]\003\360\000\000]\003^\003\360\000\000^\003i\003\360\000\000i\003t\003\360\000\000t\003E\004\360\000\000E\004K\004\360\000\000K\004L\004\360\000\000L\004W\004\360\000\000W\004b\004\360\000\000b\004r\004\360\000\000r\004x\004\360\000\000x\004y\004\360\000\000y\004z\004\340\r\016\330\014\030\230\001\330\004\025\220Q\220o\240Q\330\004\013\320\013\036\320\0362\260!\200\001\340ay\320yz\360,\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001""\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\250\016\260a\260s\270!\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#:\270\"\270M\310\021\330\010\030\320\030)\250\021\250(\260!\330\010\023\220>\240\021\240(\250!\330\r\016\330\014\031\230\036\240r\250\024\250Y\260k\300\024\300V\3101\310I\320U`\320`c\320ci\320ij\320js\320s~\360\000\000\177\001D\002\360\000\000D\002J\002\360\000\000J\002K\002\360\000\000K\002T\002\360\000\000T\002a\002\360\000\000a\002n\002\360\000\000n\002o\002\360\000\000o\002{\002\360\000\000{\002|\002\360\000\000|\002K\003\360\000\000K\003V\003\360\000\000V\003c\003\360\000\000c\003i\003\360\000\000i\003j\003\360\000\000j\003u\003\360\000\000u\003}\003\360\000\000}\003E\004\360\000\000E\004K\004\360\000\000K\004L\004\360\000\000L\004M\004\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026\047\240q\330\004\013\320\013\033\2301\200\001\340wx\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210[\230\001\230\021\330\004\r\210]\230!\2306\240\025\240g\250Q\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ai\320is\320sy\320yz\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2602\260Q\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310k\320Y\\\320\\b\320bc\320cl\320lw\320w|\360\000\000}\001C\002\360\000\000C\002D\002\360\000\000D\002M\002\360\000\000M\002X\002\360\000\000X\002^\002\360\000\000^\002d\002\360\000\000d\002e\002\360\000\000e\002n\002\360\000\000n\002{\002\360\000\000{\002|\002\360\000\000|\002H\003\360\000\000H\003I\003\360\000\000I\003X\003""\360\000\000X\003c\003\360\000\000c\003j\003\360\000\000j\003p\003\360\000\000p\003q\003\360\000\000q\003r\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\340|}\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#:\270\"\270A\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\230\036\240r\250\024\250Y\260k\300\024\300V\3101\310I\320U`\320`d\320dj\320jk\320kt\320t\177\360\000\000@\002C\002\360\000\000C\002I\002\360\000\000I\002J\002\360\000\000J\002S\002\360\000\000S\002^\002\360\000\000^\002c\002\360\000\000c\002i\002\360\000\000i\002j\002\360\000\000j\002s\002\360\000\000s\002A\003\360\000\000A\003B\003\360\000\000B\003N\003\360\000\000N\003O\003\360\000\000O\003^\003\360\000\000^\003f\003\360\000\000f\003p\003\360\000\000p\003v\003\360\000\000v\003w\003\360\000\000w\003x\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026\047\240q\330\004\013\2101\200\001\360\004\000A\002B\002\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#>\270b\300\001\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\320\031+\2502\250T\260\031\270+\300T\310\026\310q\320PY\320Yd\320dh\320hn\320no\320ox\360\000\000y\001D\002\360\000\000D\002G\002\360\000\000G\002M\002\360""\000\000M\002N\002\360\000\000N\002W\002\360\000\000W\002b\002\360\000\000b\002g\002\360\000\000g\002m\002\360\000\000m\002n\002\360\000\000n\002w\002\360\000\000w\002E\003\360\000\000E\003F\003\360\000\000F\003R\003\360\000\000R\003S\003\360\000\000S\003b\003\360\000\000b\003j\003\360\000\000j\003t\003\360\000\000t\003z\003\360\000\000z\003{\003\360\000\000{\003|\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026+\2501\330\004\013\2101\200\001\360\004\000C\002D\002\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#@\300\002\300!\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\320\031-\250R\250t\2609\270K\300t\3106\320QR\320R[\320[f\320fj\320jp\320pq\320qz\360\000\000{\001F\002\360\000\000F\002I\002\360\000\000I\002O\002\360\000\000O\002P\002\360\000\000P\002Y\002\360\000\000Y\002d\002\360\000\000d\002i\002\360\000\000i\002o\002\360\000\000o\002p\002\360\000\000p\002y\002\360\000\000y\002G\003\360\000\000G\003H\003\360\000\000H\003T\003\360\000\000T\003U\003\360\000\000U\003d\003\360\000\000d\003l\003\360\000\000l\003v\003\360\000\000v\003|\003\360\000\000|\003}\003\360\000\000}\003~\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026-\250Q\330\004\013\2101\200\001\360\004\000D\002E\002\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330""\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#A\300\022\3001\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\320\031.\250b\260\004\260I\270[\310\004\310F\320RS\320S\\\320\\g\320gk\320kq\320qr\320r{\360\000\000|\001G\002\360\000\000G\002J\002\360\000\000J\002P\002\360\000\000P\002Q\002\360\000\000Q\002Z\002\360\000\000Z\002e\002\360\000\000e\002j\002\360\000\000j\002p\002\360\000\000p\002q\002\360\000\000q\002z\002\360\000\000z\002H\003\360\000\000H\003I\003\360\000\000I\003U\003\360\000\000U\003V\003\360\000\000V\003e\003\360\000\000e\003m\003\360\000\000m\003w\003\360\000\000w\003}\003\360\000\000}\003~\003\360\000\000~\003\177\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026.\250a\330\004\013\2101\200\001\360\004\000E\002F\002\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#B\300\"\300A\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\320\031/\250r\260\024\260Y\270k\310\024\310V\320ST\320T]\320]h\320hl\320lr\320rs\320s|\360\000\000}\001H\002\360\000\000H\002K\002\360\000\000K\002Q\002\360\000\000Q\002R\002\360\000\000R\002[\002\360\000\000[\002f\002\360\000\000f\002k\002\360\000\000k\002q\002\360\000\000q\002r\002\360\000\000r\002{\002\360\000\000{\002I\003\360\000\000I\003J\003\360\000\000J\003V\003\360\000\000V\003W\003\360\000\000W\003f\003\360\000\000f\003n\003\360\000\000n\003x\003\360\000\000x\003~\003\360\000\000~\003\177\003\360\000\000\177\003@\004\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026/\250q\330\004\013\2101\200\001\360\004\000z\001R\002\360\000\000R\002S\002\360(\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a""\330\004\014\210K\220q\230\001\330\004\r\210[\230\001\230\021\330\004\r\210]\230!\2306\240\025\240g\250Q\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ai\320is\320sy\320yz\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#5\260R\260}\300A\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\031\240\"\240D\250\t\260\033\270D\300\006\300a\300y\320P[\320[^\320^d\320de\320en\320ny\320y~\360\000\000\177\001E\002\360\000\000E\002F\002\360\000\000F\002O\002\360\000\000O\002Z\002\360\000\000Z\002`\002\360\000\000`\002f\002\360\000\000f\002g\002\360\000\000g\002p\002\360\000\000p\002}\002\360\000\000}\002J\003\360\000\000J\003K\003\360\000\000K\003W\003\360\000\000W\003X\003\360\000\000X\003g\003\360\000\000g\003r\003\360\000\000r\003y\003\360\000\000y\003\177\003\360\000\000\177\003@\004\360\000\000@\004A\004\340\r\016\330\014\030\230\001\330\004\025\220Q\220l\240!\330\004\013\2101\200\001\360\006\000\005\017\320\016\036\230a\230q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\t\210\021\330\t\026\220a\330\r\016\330\014\030\320\030-\250Q\250a\330\004\013\2101\200\001\360\010\000\005\017\320\016\036\230a\230q\330\004\007\200x\210s\220!\330\010\t\330\004\t\210\021\330\004\017\210q\330\t\027\220q\330\r\016\330\014\032\320\032/\250q\260\004\260A\330\004\025\220Q\320\026.\250a\200\001\360\010\000\n\033\230!\330\010\020\220\001\330\010\020\220\007\220q\230\006\230l\250!\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\017.\250d\260!\2607\270+\300W\310A\340\010\017\320\017.\250d\260!\2607\270+\300Q\200\001\360\010\000\n\033\230!\330\010\020\220\001\330\010\020\220\007\220q\230\006\230l\250!\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\017/\250t""\2601\260G\270;\300g\310Q\340\010\017\320\017/\250t\2601\260G\270;\300a\200\001\360\014\000\005\020\210q\330\004\020\220\001\220\031\230!\2309\240A\330\004\020\220\001\220\021\330\004\013\2101\330\004\010\210\007\210q\320\0201\260\022\2601\340\004\022\220)\2301\230A\330\004\010\210\007\210q\220\001\330\004\010\210\016\220a\330\010\020\220\013\2301\230A\330\010\013\2104\210z\230\021\230\047\240\021\330\014\024\220A\330\010\014\210G\2201\320\024$\240L\260\001\340\004\r\210Y\220a\220q\330\004\007\200q\330\010\014\210G\2201\220A\330\004\010\210\t\220\021\330\010\014\210G\2201\320\024$\240G\2506\260\021\260!\330\010\021\220\027\230\001\230\035\240g\250V\2601\260A\330\010\020\220\001\220\031\230&\240\001\240\021\330\010\013\2105\220\t\230\021\230!\330\014\020\220\002\220%\220s\230%\230q\240\001\240\024\240R\240t\2507\260\"\260G\2701\270F\300!\3001\340\004\016\210i\220q\230\001\330\004\022\320\022,\250D\260\t\270\021\320:L\310C\310q\330\004\010\210\007\210q\220\001\330\004\010\210\n\220!\330\010\013\2107\220#\220Z\230t\2401\330\014\025\220Q\330\010\014\210G\2201\220I\230R\230q\340\004\r\210W\220A\220T\230\025\230a\230q\330\004\r\210W\220A\220Q\330\004\010\210\007\210q\220\003\2202\220U\230!\2301\330\004\024\220D\230\005\230Q\230a\330\004\013\210:\220Q\200\001\360\014\000\005,\320+=\270Q\270a\340\t\026\220a\330\r\016\330\014\031\230\037\250\001\250\030\260\021\260!\330\004\025\220Q\320\026(\250\001\340\004\005\330\010\020\220\t\230\021\230$\230a\330\010\021\220\031\230!\2304\230q\330\010\030\230\t\240\021\240$\240a\330\010\032\230+\240Q\240d\250(\260!\330\010\026\220c\230\021\230$\230a\330\010\032\230#\230Q\230d\240!\330\010\027\220s\230!\2304\230q\200\001\360\014\000\005,\320+=\270Q\270a\340\t\026\220a\330\r\016\330\014\031\320\0312\260!\2608\2705\300\001\300\021\330\004\025\220Q\320\0262\260!\340\004\013\2109\220A\220T\230\021\330\004\013\2104\210q\220\003\2201\220G\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\210t\2208\2301\230H\240A\330\t\021\220\023\220A\330""\010\017\210q\340\004\005\330\010\020\220\001\330\010\030\230\013\2401\240D\250\010\260\001\200\001\360\014\000\005,\320+=\270Q\270a\340\t\026\220a\330\r\016\330\014\031\320\0313\2601\260H\270E\300\021\300!\330\004\025\220Q\320\0263\2601\340\004\013\2109\220A\220T\230\021\330\004\013\2104\210q\220\003\2201\220H\230F\240!\340\004\007\200w\210c\220\025\220d\230%\230x\240x\250y\270\001\330\010\017\210t\2201\220C\220q\230\001\340\004\005\330\010\020\220\001\330\010\021\220\033\230A\230T\240\030\250\021\200\001\360\014\000\005,\320+=\270Q\270a\340\t\026\220a\330\r\016\330\014\031\320\0315\260Q\260h\270e\3001\300A\330\004\025\220Q\320\0265\260Q\340\004\013\2109\220A\220T\230\021\330\004\013\2104\210q\220\003\2201\220J\230f\240A\330\004\024\220C\220q\230\004\320\034.\250d\260&\270\002\270\047\300\024\300Q\340\004\005\330\010\020\220\001\330\010\030\230\t\240\021\240$\240a\330\010\020\220\004\220A\330\010\020\220\t\230\021\230$\230a\330\010\031\230\021\330\010\021\220\021\200\001\360\014\000\n\027\220a\330\r\016\330\014\031\320\031+\2501\250G\2601\260A\330\010\031\230\021\320\032/\250q\330\010\t\330\014\030\230\001\330\014\020\220\005\220V\2301\230E\240\021\330\020\031\230\027\240\001\240\026\240q\250\005\250W\260A\260Q\340\021\022\330\020\035\320\035.\250a\250q\330\014\035\230Q\320\0362\260!\330\004\013\2101\200\001\360\014\000\n\027\220a\330\r\016\330\014\031\320\031,\250A\250Q\250a\330\010\031\230\021\320\0320\260\001\330\010\t\330\014\025\220Q\330\014\020\220\005\220V\2301\230E\240\021\330\020\026\220g\230Q\230f\240A\240U\250\047\260\021\260!\340\021\022\330\020\035\320\035/\250q\260\001\330\014\035\230Q\320\0363\2601\330\004\013\2101\200\001\360\020\000\005\010\200u\210B\210a\330\010\017\210q\330\004\013\2101\210A\330\014\020\220\005\220_\240F\250!\320+<\270F\300!\330\014\017\210t\2202\220Q\200\001\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210[\230\001\230\021\330\004\r\210]\230!\2306\240\025\240g\250Q\330\004\007""\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ai\320is\320sy\320yz\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\240?\260!\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\026\230r\240\024\240Y\250k\270\024\270V\3001\300I\310[\320X[\320[a\320ab\320bk\320kv\320v{\360\000\000|\001B\002\360\000\000B\002C\002\360\000\000C\002L\002\360\000\000L\002W\002\360\000\000W\002]\002\360\000\000]\002c\002\360\000\000c\002d\002\360\000\000d\002m\002\360\000\000m\002n\002\360\000\000n\002z\002\360\000\000z\002{\002\360\000\000{\002J\003\360\000\000J\003U\003\360\000\000U\003\\\003\360\000\000\\\003b\003\360\000\000b\003c\003\360\000\000c\003d\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220i\230q\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210[\230\001\230\021\330\004\r\210]\230!\2306\240\025\240g\250Q\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ai\320is\320sy\320yz\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#4\260A\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\030\240\022\2404\240y\260\013\2704\270v\300Q\300i\310{\320Z]\320]c\320cd\320dm\320mx\320x}\360\000\000~\001D\002\360\000\000D\002E\002\360\000\000E\002N\002\360\000\000N\002Y\002\360\000\000Y\002_\002\360\000\000_\002e\002\360\000\000e\002f\002\360\000\000f\002o\002\360\000\000o\002p\002\360\000\000p\002|\002\360\000\000|\002}\002\360\000\000}\002L\003\360\000\000L\003W\003\360\000\000W\003^\003\360\000\000^\003d\003\360\000\000d\003e\003\360\000\000e\003f\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220k\240\021\330\004\013\2101\200\001\360&\000\005\014\210;\220a""\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2601\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310k\320Y\\\320\\b\320bc\320cl\320lw\320w|\360\000\000}\001C\002\360\000\000C\002D\002\360\000\000D\002M\002\360\000\000M\002N\002\360\000\000N\002Z\002\360\000\000Z\002[\002\360\000\000[\002j\002\360\000\000j\002u\002\360\000\000u\002|\002\360\000\000|\002B\003\360\000\000B\003C\003\360\000\000C\003D\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#6\260a\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\032\2402\240T\250\031\260+\270T\300\026\300q\310\t\320Q\\\320\\_\320_e\320ef\320fo\320oz\320z\177\360\000\000@\002F\002\360\000\000F\002G\002\360\000\000G\002P\002\360\000\000P\002Q\002\360\000\000Q\002]\002\360\000\000]\002^\002\360\000\000^\002m\002\360\000\000m\002x\002\360\000\000x\002\177\002\360\000\000\177\002E\003\360\000\000E\003F\003\360\000\000F\003G\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220m\2401\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A""\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\a\320ab\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#8\270\001\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\034\240R\240t\2509\260K\270t\3006\310\021\310)\320S^\320^a\320ag\320gh\320hq\320q|\360\000\000}\001B\002\360\000\000B\002H\002\360\000\000H\002I\002\360\000\000I\002R\002\360\000\000R\002S\002\360\000\000S\002_\002\360\000\000_\002`\002\360\000\000`\002o\002\360\000\000o\002z\002\360\000\000z\002A\003\360\000\000A\003G\003\360\000\000G\003H\003\360\000\000H\003I\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220o\240Q\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210[\230\001\230\021\330\004\r\210]\230!\2306\240\025\240a\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310(\320R\\\320\\b\320bc\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#8\270\001\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\034\240R\240t\2509\260K\270t\3006\310\021\310)\320S^\320^a\320ag\320gh\320hq\320q|\360\000\000}\001C\002\360\000\000C\002I\002\360\000\000I\002J\002\360\000\000J\002S\002\360\000\000S\002T\002\360\000\000T\002`\002\360\000\000`\002a\002\360\000\000a\002p\002\360\000\000p\002{\002\360\000\000{\002B\003\360\000\000B\003H\003\360\000\000H\003I\003\360\000\000I\003J\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220o\240Q\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300s\310!\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#8""\270\001\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\034\240R\240t\2509\260K\270t\3006\310\021\310)\320S^\320^a\320ag\320gh\320hq\320qr\320r~\320~\177\360\000\000@\002O\002\360\000\000O\002Z\002\360\000\000Z\002a\002\360\000\000a\002g\002\360\000\000g\002h\002\360\000\000h\002i\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220o\240Q\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#7\260q\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\230\033\240B\240d\250)\260;\270d\300&\310\001\310\031\320R]\320]a\320ag\320gh\320hq\320q|\320|\177\360\000\000@\002F\002\360\000\000F\002G\002\360\000\000G\002P\002\360\000\000P\002[\002\360\000\000[\002`\002\360\000\000`\002f\002\360\000\000f\002g\002\360\000\000g\002p\002\360\000\000p\002q\002\360\000\000q\002}\002\360\000\000}\002~\002\360\000\000~\002M\003\360\000\000M\003U\003\360\000\000U\003_\003\360\000\000_\003e\003\360\000\000e\003f\003\360\000\000f\003g\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220n\240A\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#9\270\021\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\230\035\240b\250\004\250I\260[\300\004\300F\310!\3109""\320T_\320_c\320ci\320ij\320js\320s~\360\000\000\177\001B\002\360\000\000B\002H\002\360\000\000H\002I\002\360\000\000I\002R\002\360\000\000R\002]\002\360\000\000]\002b\002\360\000\000b\002h\002\360\000\000h\002i\002\360\000\000i\002r\002\360\000\000r\002s\002\360\000\000s\002\177\002\360\000\000\177\002@\003\360\000\000@\003O\003\360\000\000O\003W\003\360\000\000W\003a\003\360\000\000a\003g\003\360\000\000g\003h\003\360\000\000h\003i\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026&\240a\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#:\270!\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\230\036\240r\250\024\250Y\260k\300\024\300V\3101\310I\320U`\320`d\320dj\320jk\320kt\320t\177\360\000\000@\002C\002\360\000\000C\002I\002\360\000\000I\002J\002\360\000\000J\002S\002\360\000\000S\002^\002\360\000\000^\002c\002\360\000\000c\002i\002\360\000\000i\002j\002\360\000\000j\002s\002\360\000\000s\002t\002\360\000\000t\002@\003\360\000\000@\003A\003\360\000\000A\003P\003\360\000\000P\003X\003\360\000\000X\003b\003\360\000\000b\003h\003\360\000\000h\003i\003\360\000\000i\003j\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026\047\240q\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A""\330\004\005\330\r\016\330\014\027\220w\230e\320#;\2701\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\230\037\250\002\250$\250i\260{\300$\300f\310A\310Y\320Va\320ae\320ek\320kl\320lu\360\000\000v\001A\002\360\000\000A\002D\002\360\000\000D\002J\002\360\000\000J\002K\002\360\000\000K\002T\002\360\000\000T\002_\002\360\000\000_\002d\002\360\000\000d\002j\002\360\000\000j\002k\002\360\000\000k\002t\002\360\000\000t\002u\002\360\000\000u\002A\003\360\000\000A\003B\003\360\000\000B\003Q\003\360\000\000Q\003Y\003\360\000\000Y\003c\003\360\000\000c\003i\003\360\000\000i\003j\003\360\000\000j\003k\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026(\250\001\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#<\270A\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\320\031)\250\022\2504\250y\270\013\3004\300v\310Q\310i\320Wb\320bf\320fl\320lm\320mv\360\000\000w\001B\002\360\000\000B\002E\002\360\000\000E\002K\002\360\000\000K\002L\002\360\000\000L\002U\002\360\000\000U\002`\002\360\000\000`\002e\002\360\000\000e\002k\002\360\000\000k\002l\002\360\000\000l\002u\002\360\000\000u\002v\002\360\000\000v\002B\003\360\000\000B\003C\003\360\000\000C\003R\003\360\000\000R\003Z\003\360\000\000Z\003d\003\360\000\000d\003j\003\360\000\000j\003k\003\360\000\000k\003l\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026)\250\021\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q""\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#=\270Q\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\320\031*\250\"\250D\260\t\270\033\300D\310\006\310a\310y\320Xc\320cg\320gm\320mn\320nw\360\000\000x\001C\002\360\000\000C\002F\002\360\000\000F\002L\002\360\000\000L\002M\002\360\000\000M\002V\002\360\000\000V\002a\002\360\000\000a\002f\002\360\000\000f\002l\002\360\000\000l\002m\002\360\000\000m\002v\002\360\000\000v\002w\002\360\000\000w\002C\003\360\000\000C\003D\003\360\000\000D\003S\003\360\000\000S\003[\003\360\000\000[\003e\003\360\000\000e\003k\003\360\000\000k\003l\003\360\000\000l\003m\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026*\250!\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#>\270a\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\320\031+\2502\250T\260\031\270+\300T\310\026\310q\320PY\320Yd\320dh\320hn\320no\320ox\360\000\000y\001D\002\360\000\000D\002G\002\360\000\000G\002M\002\360\000\000M\002N\002\360\000\000N\002W\002\360\000\000W\002b\002\360\000\000b\002g\002\360\000\000g\002m\002\360\000\000m\002n\002\360\000\000n\002w\002\360\000\000w\002x\002\360\000\000x\002D\003\360\000\000D\003E\003\360\000\000E\003T\003\360\000\000T\003\\\003\360\000\000\\\003f\003\360\000\000f\003l\003\360\000\000l\003m\003\360\000\000m\003n\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026+\2501\330\004\013\2101\200\001\360&\000\005\014\210;""\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#?\270q\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\320\031,\250B\250d\260)\270;\300d\310&\320PQ\320QZ\320Ze\320ei\320io\320op\320py\360\000\000z\001E\002\360\000\000E\002H\002\360\000\000H\002N\002\360\000\000N\002O\002\360\000\000O\002X\002\360\000\000X\002c\002\360\000\000c\002h\002\360\000\000h\002n\002\360\000\000n\002o\002\360\000\000o\002x\002\360\000\000x\002y\002\360\000\000y\002E\003\360\000\000E\003F\003\360\000\000F\003U\003\360\000\000U\003]\003\360\000\000]\003g\003\360\000\000g\003m\003\360\000\000m\003n\003\360\000\000n\003o\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026,\250A\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#@\300\001\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\320\031-\250R\250t\2609\270K\300t\3106\320QR\320R[\320[f\320fj\320jp\320pq\320qz\360\000\000{\001F\002\360\000\000F\002I\002\360\000\000I\002O\002\360\000\000O\002P\002\360\000\000P\002Y\002\360\000\000Y\002d\002\360\000\000d\002i\002\360\000\000i\002o\002\360\000\000o\002p\002\360\000\000p\002y\002\360\000\000y\002z\002\360\000\000z\002F\003\360\000\000F\003G\003\360\000\000G\003V\003\360\000\000V\003^\003\360\000\000^\003h""\003\360\000\000h\003n\003\360\000\000n\003o\003\360\000\000o\003p\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026-\250Q\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#A\300\021\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\320\031.\250b\260\004\260I\270[\310\004\310F\320RS\320S\\\320\\g\320gk\320kq\320qr\320r{\360\000\000|\001G\002\360\000\000G\002J\002\360\000\000J\002P\002\360\000\000P\002Q\002\360\000\000Q\002Z\002\360\000\000Z\002e\002\360\000\000e\002j\002\360\000\000j\002p\002\360\000\000p\002q\002\360\000\000q\002z\002\360\000\000z\002{\002\360\000\000{\002G\003\360\000\000G\003H\003\360\000\000H\003W\003\360\000\000W\003_\003\360\000\000_\003i\003\360\000\000i\003o\003\360\000\000o\003p\003\360\000\000p\003q\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026.\250a\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#B\300!\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\320\031/\250r\260\024\260Y\270k\310\024\310V\320ST\320T]\320]h\320hl\320lr\320rs\320s|\360\000\000}\001H\002\360\000\000H\002K\002\360\000\000K\002Q\002\360\000\000Q\002R\002\360\000\000R\002[\002\360\000\000[\002f\002\360\000\000f\002k\002""\360\000\000k\002q\002\360\000\000q\002r\002\360\000\000r\002{\002\360\000\000{\002|\002\360\000\000|\002H\003\360\000\000H\003I\003\360\000\000I\003X\003\360\000\000X\003`\003\360\000\000`\003j\003\360\000\000j\003p\003\360\000\000p\003q\003\360\000\000q\003r\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026/\250q\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#C\3001\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\320\0310\260\002\260$\260i\270{\310$\310f\320TU\320U^\320^i\320im\320ms\320st\320t}\360\000\000~\001I\002\360\000\000I\002L\002\360\000\000L\002R\002\360\000\000R\002S\002\360\000\000S\002\\\002\360\000\000\\\002g\002\360\000\000g\002l\002\360\000\000l\002r\002\360\000\000r\002s\002\360\000\000s\002|\002\360\000\000|\002}\002\360\000\000}\002I\003\360\000\000I\003J\003\360\000\000J\003Y\003\360\000\000Y\003a\003\360\000\000a\003k\003\360\000\000k\003q\003\360\000\000q\003r\003\360\000\000r\003s\003\340\r\016\330\014\030\230\001\330\004\025\220Q\320\0260\260\001\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2601\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f""\300A\300Y\310k\320Y]\320]c\320cd\320dm\320mx\320x{\360\000\000|\001B\002\360\000\000B\002C\002\360\000\000C\002L\002\360\000\000L\002W\002\360\000\000W\002\\\002\360\000\000\\\002b\002\360\000\000b\002c\002\360\000\000c\002l\002\360\000\000l\002m\002\360\000\000m\002y\002\360\000\000y\002z\002\360\000\000z\002I\003\360\000\000I\003T\003\360\000\000T\003[\003\360\000\000[\003a\003\360\000\000a\003b\003\360\000\000b\003c\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#8\270\001\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\034\240R\240t\2509\260K\270t\3006\310\021\310)\320S^\320^b\320bh\320hi\320ir\320r}\360\000\000~\001A\002\360\000\000A\002G\002\360\000\000G\002H\002\360\000\000H\002Q\002\360\000\000Q\002\\\002\360\000\000\\\002a\002\360\000\000a\002g\002\360\000\000g\002h\002\360\000\000h\002q\002\360\000\000q\002r\002\360\000\000r\002~\002\360\000\000~\002\177\002\360\000\000\177\002N\003\360\000\000N\003Y\003\360\000\000Y\003`\003\360\000\000`\003f\003\360\000\000f\003g\003\360\000\000g\003h\003\340\r\016\330\014\030\230\001\330\004\025\220Q\220o\240Q\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\210~\230Q\230c\240\021\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#<\270A\330\010\025\220^\2401\240H\250A\330\r\016\330\014\031\320\031)\250\022\2504\250y\270\013""\3004\300v\310Q\310i\320WX\320Xd\320de\320et\320t|\360\000\000}\001G\002\360\000\000G\002M\002\360\000\000M\002N\002\360\000\000N\002O\002\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026)\250\021\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\240?\260!\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\026\230r\240\024\240Y\250k\270\024\270V\3001\300I\310Q\310l\320Z[\320[j\320ju\320u|\360\000\000}\001C\002\360\000\000C\002D\002\360\000\000D\002E\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220i\230q\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2601\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310a\310|\320[\\\320\\k\320kv\320v}\360\000\000~\001D\002\360\000\000D\002E\002\360\000\000E\002F\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#4\260A\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\030\240\022\2404\240y\260\013\2704\270v\300Q\300i\310q\320P\\\320\\]\320]l\320lw\320w~\360\000\000\177\001E\002\360\000\000E\002F\002\360\000\000F\002G\002\340\r\016\330\014""\030\230\001\330\004\025\220Q\220k\240\021\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#5\260Q\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\031\240\"\240D\250\t\260\033\270D\300\006\300a\300y\320PQ\320Q]\320]^\320^m\320mx\320x\177\360\000\000@\002F\002\360\000\000F\002G\002\360\000\000G\002H\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220l\240!\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#6\260a\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\032\2402\240T\250\031\260+\270T\300\026\300q\310\t\320QR\320R^\320^_\320_n\320ny\360\000\000z\001A\002\360\000\000A\002G\002\360\000\000G\002H\002\360\000\000H\002I\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220m\2401\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#:\270!\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\036\240r\250\024\250Y\260k\300\024\300V\3101\310I\320UV\320Vb\320bc\320cr\320r}\360\000\000~\001E\002\360\000\000E\002K\002\360\000\000K\002L\002\360\000\000L\002M\002\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026\047\240q\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\r\210T\220""\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#;\2701\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\037\250\002\250$\250i\260{\300$\300f\310A\310Y\320VW\320Wc\320cd\320ds\320s~\360\000\000\177\001F\002\360\000\000F\002L\002\360\000\000L\002M\002\360\000\000M\002N\002\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026(\250\001\330\004\013\2101\200\001\360&\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#<\270A\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\320\031)\250\022\2504\250y\270\013\3004\300v\310Q\310i\320WX\320Xd\320de\320et\320t\177\360\000\000@\002G\002\360\000\000G\002M\002\360\000\000M\002N\002\360\000\000N\002O\002\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026)\250\021\330\004\013\2101\200\001\360&\000\005\r\210K\220q\230\001\330\004\r\210[\230\001\230\021\330\004\r\210]\230!\2307\240!\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\025\260h\270j\310\006\310a\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2601\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270%\270v\300Q\300i\310{\320Z`\320`f\320fg\320gp\320pq\320q}\320}~\360\000\000\177\001N\002\360\000\000N\002Y\002\360\000\000Y\002`\002\360\000\000`\002f\002\360\000\000f\002g\002\360\000\000g\002h\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\360(\000\005\014\210;\220a\220q\330\004""\r\210[\230\001\230\021\330\004\r\210]\230!\2306\240\021\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300v\310Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2601\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270$\270f\300A\300Y\310k\320Y_\320_e\320ef\320fo\320op\320p|\320|}\360\000\000~\001M\002\360\000\000M\002X\002\360\000\000X\002_\002\360\000\000_\002e\002\360\000\000e\002f\002\360\000\000f\002g\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\360(\000\005\r\210K\220q\230\001\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2307\240!\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\025\260h\270j\310\005\310Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#3\2601\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\027\240\002\240$\240i\250{\270%\270v\300Q\300i\310{\320Z_\320_e\320ef\320fo\320op\320p|\320|}\360\000\000~\001M\002\360\000\000M\002X\002\360\000\000X\002_\002\360\000\000_\002e\002\360\000\000e\002f\002\360\000\000f\002g\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220j\240\001\330\004\013\2101\200\001\360(\000\005\r\210K\220q\230\001\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2307\240!\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240A\330\t\n\330\010\021\220\035\230a\230x\240z\260\025\260h\270j\310\005\310Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#4\260A\330\010\022\320\022#\2401\240H\250A\330\r\016\330\014\031\230\030\240\022\2404\240y\260\013\2705\300\006\300a\300y\320P[\320[`\320`f\320fg\320gp\320pq\320q}\320}~\360\000\000\177\001N\002\360\000\000N\002Y\002\360\000""\000Y\002`\002\360\000\000`\002f\002\360\000\000f\002g\002\360\000\000g\002h\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220k\240\021\330\004\013\2101\200\001\360*\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270Q\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#7\260q\330\010\022\320\022#\2401\240H\250A\330\010\026\320\026\047\240q\250\010\260\001\330\r\016\330\014\031\230\033\240B\240d\250)\260;\270d\300&\310\001\310\031\320RS\320S_\320_`\320`o\320oz\360\000\000{\001B\002\360\000\000B\002H\002\360\000\000H\002I\002\360\000\000I\002T\002\360\000\000T\002_\002\360\000\000_\002j\002\360\000\000j\002p\002\360\000\000p\002q\002\360\000\000q\002r\002\340\r\016\330\014\030\230\001\330\004\025\220Q\220n\240A\330\004\013\210:\220Q\200\001\360*\000\005\014\210;\220a\220q\330\004\r\210T\220\026\220q\230\001\330\004\007\200w\210c\220\021\330\010\017\320\017 \240\001\240\023\240D\320(9\270\021\270#\270Q\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260Q\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\320#9\270\021\330\010\025\320\025&\240a\240x\250q\330\010\030\320\030)\250\021\250(\260!\330\r\016\330\014\031\230\035\240b\250\004\250I\260[\300\004\300F\310!\3109\320TU\320Ua\320ab\320bq\320q|\360\000\000}\001G\002\360\000\000G\002M\002\360\000\000M\002N\002\360\000\000N\002Y\002\360\000\000Y\002d\002\360\000\000d\002q\002\360\000\000q\002w\002\360\000\000w\002x\002\360\000\000x\002y\002\340\r\016\330\014\030\230\001\330\004\025\220Q\320\026&\240a\330\004\013\210=\230\001\200\001\3602\000\005\014\210;\220a\220q\330\004\013\210;\220a\220q\330\004\n\210+\220Q\220a\330\004\014\210K\220q\230\001\330\004\r\210]\230!\2306\240\026\240u\250A\330\004\007\200w\210c\220\021\330\010\017\320\017 ""\240\001\240\023\240D\320(9\270\021\270#\270T\320AR\320RS\320SV\320VZ\320Zk\320kl\320lo\320op\330\t\n\330\010\021\220\035\230a\230x\240z\260\024\260X\270Z\300t\3108\320S]\320]`\320`h\320hr\320rw\320wx\330\004\r\210U\220\047\230\022\2307\240\"\240A\330\004\024\220A\330\004\005\330\r\016\330\014\027\220w\230e\240?\260!\330\010\024\320\024%\240Q\240h\250a\330\010\024\320\024%\240Q\240h\250a\330\010\023\320\023$\240A\240X\250Q\330\010\025\320\025&\240a\240x\250q\330\r\016\330\014\031\230\026\230r\240\024\240Y\250k\270\024\270V\3001\300I\310[\320X\\\320\\b\320bc\320cl\320lw\320wz\360\000\000{\001A\002\360\000\000A\002B\002\360\000\000B\002K\002\360\000\000K\002V\002\360\000\000V\002[\002\360\000\000[\002a\002\360\000\000a\002b\002\360\000\000b\002k\002\360\000\000k\002l\002\360\000\000l\002x\002\360\000\000x\002y\002\360\000\000y\002H\003\360\000\000H\003S\003\360\000\000S\003\\\003\360\000\000\\\003b\003\360\000\000b\003c\003\360\000\000c\003n\003\360\000\000n\003y\003\360\000\000y\003B\004\360\000\000B\004H\004\360\000\000H\004I\004\360\000\000I\004T\004\360\000\000T\004_\004\360\000\000_\004g\004\360\000\000g\004m\004\360\000\000m\004n\004\360\000\000n\004y\004\360\000\000y\004D\005\360\000\000D\005N\005\360\000\000N\005T\005\360\000\000T\005U\005\360\000\000U\005V\005\340\r\016\330\014\030\230\001\330\004\025\220Q\220i\230q\330\004\013\210<\220|\240;\250a\200A\330\010\014\210A\330\014\023\2206\230\021\330\014\023\2206\230\021\330\014\023\2206\230\021\330\014\023\2207\230!\330\014\023\2207\230!\330\014\023\2208\2301\330\014\023\2207\230!\330\014\023\2207\230!\330\014\023\2205\230\001\330\014\023\2206\230\021\330\014\023\220;\230a\330\014\023\220:\230Q\330\014\023\2208\2301\330\014\023\2206\230\021\200A\330\010\016\210i\220q\330\014\r\33046\260d\270!\2705\300\001\200A\330\010\017\210q\200A\330\010\017\210q\220\007\220q\230\001\200A\330\010\017\210t\2205\230\001\200A\330\010\017\210t\2208\2301\230A\200A\330\010\017\210u\220A\220S\230\001\200A\330\010\017\210u\220B\220d""\230!\200A\330\010\017\210w\220a\220t\2308\2401\200A\330\010\017\320\017%\240Q\240d\250&\260\001\260\021\200A\330\010\020\220\004\220A\330\010#\2401\330\010\014\210N\230%\230q\330\014\033\2305\240\014\250A\250[\270\001\270\021\330\014\017\210z\230\021\230.\250\001\330\020\024\220H\230A\330\024,\250G\2601\260A\340\020(\250\007\250q\260\001\330\010\017\210q\200A\330\010\020\220\004\220A\330\010#\2404\320\047B\300!\360\006\000\t\020\210q\330\010\014\320\014\034\230A\330\014\025\220U\230-\240q\250\001\330\014\017\210\177\230g\240U\250!\330\024\036\230a\230x\240q\330\020\031\230\026\230w\240g\250Q\250a\330\021 \240\007\240u\250A\330\024\036\230a\230x\240q\330\020\031\230\026\230y\250\002\250\047\260\021\260!\330\014\020\220\007\220q\230\001\330\010\014\210M\230\025\230a\330\014\024\220D\320\030.\250a\250q\330\014\020\220\007\220q\230\001\360\006\000\t\023\220$\220l\240\"\240A\330\010\013\210:\220Q\220k\240\021\330\014\023\2205\230\010\240\005\240Q\330\014\017\210t\220:\230Q\230f\240A\330\020\027\220t\2301\230A\330\014\021\220\030\230\021\230$\230a\230v\240Q\340\014\020\220\003\220:\230Y\240a\240u\250A\330\020\025\220X\230Q\230j\250\007\250q\260\001\330\010\r\320\r\036\230a\200A\330\010\020\220\004\220H\230K\240q\250\013\2601\260A\330\010\013\2106\220\027\320\0305\260Q\330\014\024\220A\330\r\023\2207\320\0324\260A\330\014\024\220A\340\010\013\210:\220Q\220g\230Q\330\013\022\220!\330\r\023\2207\230!\330\014\022\220)\2301\330\020\021\330\024 \240\005\240[\260\004\260A\260V\2701\330\010\017\210q\200A\330\010\030\230\001\200A\330\r\016\330\014\030\230\001\200A\330\r\016\330\014\031\230\021\200A\330*A\320AX\320XY\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t*\250\021\330\010%\240^\2608\2701\270A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047;\2701\270K\300|\320ST\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0320\260\001\260""\021\260(\270)\3006\310\026\310r\320QY\320Ye\320ep\320p|\360\000\000}\001I\002\360\000\000I\002J\002\360\000\000J\002U\002\360\000\000U\002V\002\360\000\000V\002d\002\360\000\000d\002m\002\360\000\000m\002t\002\360\000\000t\002z\002\360\000\000z\002|\002\360\000\000|\002}\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 :\270)\300<\310y\320XZ\320Za\320ac\320cd\330\010\017\210x\220|\2402\240X\250Q\200A\330+,\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t%\240A\330\010 \240\t\250\030\260\021\260!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\240\177\260a\260q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032+\2501\250A\250X\260Y\270f\300F\310\"\310H\320T`\320`l\320lm\320mx\320xy\360\000\000z\001H\002\360\000\000H\002Q\002\360\000\000Q\002X\002\360\000\000X\002^\002\360\000\000^\002`\002\360\000\000`\002a\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 5\260Y\270l\310)\320SU\320U\\\320\\^\320^_\330\010\017\210x\220|\2402\240X\250Q\200A\330+,\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320Ua\320am\320mn\320ny\320yz\360\000\000{\001I\002\360\000\000I\002R\002\360\000\000R\002Y\002\360\000\000Y\002_\002\360\000\000_\002a\002\360\000\000a\002b\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021""\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240X\250Q\200A\330+,\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t\047\240a\330\010\"\240+\250X\260Q\260a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0478\270\001\270\021\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032-\250Q\250a\250x\260y\300\006\300f\310B\310h\320Vb\320bn\320no\320oz\320z{\360\000\000|\001J\002\360\000\000J\002S\002\360\000\000S\002Z\002\360\000\000Z\002`\002\360\000\000`\002b\002\360\000\000b\002c\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 7\260y\300\014\310I\320UW\320W^\320^`\320`a\330\010\017\210x\220|\2402\240X\250Q\200A\330+,\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t(\240q\330\010#\240<\250x\260q\270\001\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0479\270\021\270!\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032.\250a\250q\260\010\270\t\300\026\300v\310R\310x\320Wc\320co\320op\320p{\320{|\360\000\000}\001K\002\360\000\000K\002T\002\360\000\000T\002[\002\360\000\000[\002a\002\360\000\000a\002c\002\360\000\000c\002d\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 8\270\t\300\034\310Y\320VX\320X_\320_a\320ab\330\010\017\210x\220|\2402\240X\250Q\200A\330+,\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t)\250\001\330\010$\240M\260\030\270\021\270!\340\010\030""\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047:\270!\2701\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032/\250q\260\001\260\030\270\031\300&\310\006\310b\320PX\320Xd\320dp\320pq\320q|\320|}\360\000\000~\001L\002\360\000\000L\002U\002\360\000\000U\002\\\002\360\000\000\\\002b\002\360\000\000b\002d\002\360\000\000d\002e\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 9\270\031\300,\310i\320WY\320Y`\320`b\320bc\330\010\017\210x\220|\2402\240X\250Q\200A\330+,\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t*\250\021\330\010%\240^\2608\2701\270A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047;\2701\270A\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0320\260\001\260\021\260(\270)\3006\310\026\310r\320QY\320Ye\320eq\320qr\320r}\320}~\360\000\000\177\001M\002\360\000\000M\002V\002\360\000\000V\002]\002\360\000\000]\002c\002\360\000\000c\002e\002\360\000\000e\002f\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 :\270)\300<\310y\320XZ\320Za\320ac\320cd\330\010\017\210x\220|\2402\240X\250Q\200A\330+,\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t+\250!\330\010&\240o\260X\270Q\270a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047<\270A\270Q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0321\260\021\260!\2608\2709\300F\310&\320PR\320RZ\320Zf\320fr\320rs\320s~\320~\177\360\000\000@\002N\002\360\000\000N\002W\002\360\000\000W\002^\002\360\000\000^\002d\002\360\000\000d\002f\002\360\000\000f\002g\002""\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ;\2709\300L\320PY\320Y[\320[b\320bd\320de\330\010\017\210x\220|\2402\240X\250Q\200A\330+,\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t+\250!\330\010&\240o\260X\270Q\270a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047<\270A\270Q\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\0321\260\021\260!\2608\2709\300F\310&\320PR\320RZ\320Zf\320fr\320rs\320s~\320~\177\360\000\000@\002N\002\360\000\000N\002T\002\360\000\000T\002^\002\360\000\000^\002d\002\360\000\000d\002f\002\360\000\000f\002g\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ;\2709\300L\320PY\320Y[\320[b\320bd\320de\340\010$\240F\250*\260A\330\010\014\210E\220\025\220a\220z\240\021\330\014\033\2301\230F\240!\330\010\017\210x\220|\2402\240X\250Q\200A\330+,\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t,\2501\330\010\047\320\0477\260x\270q\300\001\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047=\270Q\270a\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0322\260!\2601\260H\270I\300V\3106\320QS\320S[\320[g\320gs\320st\320t\177\360\000\000@\002A\002\360\000\000A\002O\002\360\000\000O\002X\002\360\000\000X\002_\002\360\000\000_\002e\002\360\000\000e\002g\002\360\000\000g\002h\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 <\270I\300\\\320QZ\320Z\\\320\\c\320ce\320ef\330\010\017\210x\220|\2402\240X\250Q\200A\330+,""\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t.\250Q\330\010)\320);\2708\3001\300A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047?\270q\300\001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0324\260A\260Q\260h\270i\300v\310V\320SU\320U]\320]i\320iu\320uv\360\000\000w\001B\002\360\000\000B\002C\002\360\000\000C\002Q\002\360\000\000Q\002Z\002\360\000\000Z\002a\002\360\000\000a\002g\002\360\000\000g\002i\002\360\000\000i\002j\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 >\270i\300|\320S\\\320\\^\320^e\320eg\320gh\330\010\017\210x\220|\2402\240X\250Q\200A\330+,\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t2\260\021\330\010-\320-C\3008\3101\310A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047C\3001\300A\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0328\270\001\270\021\270(\300)\3106\320QW\320WY\320Ya\320am\320my\320yz\360\000\000{\001F\002\360\000\000F\002G\002\360\000\000G\002U\002\360\000\000U\002^\002\360\000\000^\002e\002\360\000\000e\002k\002\360\000\000k\002m\002\360\000\000m\002n\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 B\300)\310<\320W`\320`b\320bi\320ik\320kl\330\010\017\210x\220|\2402\240X\250Q\200A\330+,\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t6\260Q\330\0101\3201K\3108\320ST\320TU\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047G\300q\310\001\330\014\026\320\026\047\240q\250\010""\260\001\330\021\022\330\020\032\320\032<\270A\270Q\270h\300i\310v\320U[\320[]\320]e\320eq\320q}\320}~\360\000\000\177\001J\002\360\000\000J\002K\002\360\000\000K\002Y\002\360\000\000Y\002b\002\360\000\000b\002i\002\360\000\000i\002o\002\360\000\000o\002q\002\360\000\000q\002r\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 F\300i\310|\320[d\320df\320fm\320mo\320op\330\010\017\210x\220|\2402\240X\250Q\200A\330+,\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t)\250\001\330\010$\240M\260\030\270\021\270!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047:\270!\2701\330\014\025\320\025&\240a\240x\250q\330\014\025\320\025&\240a\240x\250q\330\021\022\330\020\032\320\032/\250q\260\001\260\030\270\031\300&\310\006\310b\320PX\320Xd\320dp\320pq\320q|\320|}\360\000\000~\001L\002\360\000\000L\002U\002\360\000\000U\002[\002\360\000\000[\002a\002\360\000\000a\002c\002\360\000\000c\002m\002\360\000\000m\002v\002\360\000\000v\002|\002\360\000\000|\002B\003\360\000\000B\003D\003\360\000\000D\003E\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 9\270\031\300,\310i\320WY\320Y`\320`b\320bc\330\010\017\210y\230\014\240B\240h\250i\260|\3002\300X\310Q\200A\330+,\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t.\250Q\330\010)\320);\2708\3001\300A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047?\270q\300\001\330\014\030\230\016\240a\240x\250q\330\014\030\230\016\240a\240x\250q\330\021\022\330\020\032\320\0324\260A\260Q\260h\270i\300v\310V\320SU\320U]\320]i\320iu\320uv\360\000\000w\001B\002\360\000\000B""\002C\002\360\000\000C\002Q\002\360\000\000Q\002W\002\360\000\000W\002`\002\360\000\000`\002f\002\360\000\000f\002h\002\360\000\000h\002r\002\360\000\000r\002x\002\360\000\000x\002A\003\360\000\000A\003G\003\360\000\000G\003I\003\360\000\000I\003J\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 >\270i\300|\320S\\\320\\^\320^e\320eg\320gh\340\010#\2406\250\031\260!\330\010\014\210E\220\025\220a\220z\240\021\330\014\032\230!\2306\240\021\330\010#\2406\250\031\260!\330\010\014\210E\220\025\220a\220z\240\021\330\014\032\230!\2306\240\021\330\010\017\210y\230\014\240B\240h\250l\270,\300b\310\010\320PQ\200A\330+>\270a\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t%\240A\330\010 \240\t\250\030\260\021\260!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\240\177\260a\260|\3001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032+\2501\250A\250X\260Y\270f\300F\310\"\310H\320T`\320`l\320lt\320tu\360\000\000v\001A\002\360\000\000A\002B\002\360\000\000B\002P\002\360\000\000P\002Y\002\360\000\000Y\002`\002\360\000\000`\002f\002\360\000\000f\002h\002\360\000\000h\002i\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 5\260Y\270l\310)\320SU\320U\\\320\\^\320^_\330\010\017\210x\220|\2402\240X\250Q\200A\330+@\300\001\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\014\300A\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X""\320Ua\320am\320mt\320tu\360\000\000v\001A\002\360\000\000A\002B\002\360\000\000B\002P\002\360\000\000P\002Y\002\360\000\000Y\002`\002\360\000\000`\002f\002\360\000\000f\002h\002\360\000\000h\002i\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240X\250Q\200A\330+@\300\001\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t)\250\001\330\010$\240M\260\030\270\021\270!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047:\270!\270<\300q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032/\250q\260\001\260\030\270\031\300&\310\006\310b\320PX\320Xd\320dp\320pw\320wx\360\000\000y\001D\002\360\000\000D\002E\002\360\000\000E\002S\002\360\000\000S\002\\\002\360\000\000\\\002c\002\360\000\000c\002i\002\360\000\000i\002k\002\360\000\000k\002l\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 9\270\031\300,\310i\320WY\320Y`\320`b\320bc\330\010\017\210x\220|\2402\240X\250Q\200A\330+B\300!\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t%\240A\330\010 \240\t\250\030\260\021\260!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\240\177\260a\260|\3001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032+\2501\250A\250X\260Y\270f\300F\310\"\310H\320T`\320`l\320lu\320uv\360\000\000w\001B\002\360\000\000B\002C\002\360\000\000C\002Q\002\360\000\000Q\002Z\002\360\000\000Z\002a\002\360\000\000a\002g\002\360\000\000g\002i\002\360\000\000i\002j\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024""\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 5\260Y\270l\310)\320SU\320U\\\320\\^\320^_\330\010\017\210x\220|\2402\240X\250Q\200A\330+B\320BT\320Tk\320k\177\360\000\000@\002Y\002\360\000\000Y\002Z\002\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\016\000\t*\250\021\330\010%\240^\2608\2701\270A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047;\2701\270L\310\014\320T`\320`l\320lz\320z{\330\014\026\320\026\047\240q\250\010\260\001\330\014\034\320\034-\250Q\250h\260a\330\014\032\320\032+\2501\250H\260A\330\021\022\330\020\032\320\0320\260\001\260\021\260(\270)\3006\310\026\310r\320QY\320Ye\320eq\320q}\360\000\000~\001J\002\360\000\000J\002V\002\360\000\000V\002d\002\360\000\000d\002r\002\360\000\000r\002s\002\360\000\000s\002~\002\360\000\000~\002\177\002\360\000\000\177\002M\003\360\000\000M\003V\003\360\000\000V\003]\003\360\000\000]\003c\003\360\000\000c\003e\003\360\000\000e\003o\003\360\000\000o\003x\003\360\000\000x\003E\004\360\000\000E\004K\004\360\000\000K\004M\004\360\000\000M\004W\004\360\000\000W\004`\004\360\000\000`\004k\004\360\000\000k\004q\004\360\000\000q\004s\004\360\000\000s\004t\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 :\270)\300<\310y\320XZ\320Za\320ac\320cd\330\010\017\210y\230\014\240B\240h\250j\270\014\300B\300h\320N^\320^j\320jl\320lt\320tu\200A\330+B\320BU\320UV\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\014\300L\320PQ\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v""\300V\3102\310X\320Ua\320am\320my\360\000\000z\001B\002\360\000\000B\002C\002\360\000\000C\002N\002\360\000\000N\002O\002\360\000\000O\002]\002\360\000\000]\002f\002\360\000\000f\002m\002\360\000\000m\002s\002\360\000\000s\002u\002\360\000\000u\002v\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240X\250Q\200A\330+B\320BX\320Xj\320jk\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\016\000\t)\250\001\330\010$\240M\260\030\270\021\270!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047:\270!\270<\300y\320PY\320YZ\330\014\033\320\033,\250A\250X\260Q\330\014\034\320\034-\250Q\250h\260a\330\014\033\320\033,\250A\250X\260Q\330\021\022\330\020\032\320\032/\250q\260\001\260\030\270\031\300&\310\006\310b\320PX\320Xd\320dp\320py\360\000\000z\001C\002\360\000\000C\002K\002\360\000\000K\002L\002\360\000\000L\002W\002\360\000\000W\002X\002\360\000\000X\002f\002\360\000\000f\002o\002\360\000\000o\002{\002\360\000\000{\002A\003\360\000\000A\003C\003\360\000\000C\003M\003\360\000\000M\003V\003\360\000\000V\003c\003\360\000\000c\003i\003\360\000\000i\003k\003\360\000\000k\003u\003\360\000\000u\003~\003\360\000\000~\003J\004\360\000\000J\004P\004\360\000\000P\004R\004\360\000\000R\004S\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 9\270\031\300,\310i\320WY\320Y`\320`b\320bc\330\010\017\210y\230\014\240B\240h\250o\270\\\310\022\3108\320Sc\320co\320oq\320qy\320yz\200A\330+B\320B[\320[\\\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\016\000\t\047\240a\330\010\"\240+\250X""\260Q\260a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0478\270\001\270\034\300\\\320QR\330\014\026\320\026\047\240q\250\010\260\001\330\014\034\320\034-\250Q\250h\260a\330\014\032\320\032+\2501\250H\260A\330\021\022\330\020\032\320\032-\250Q\250a\250x\260y\300\006\300f\310B\310h\320Vb\320bn\320nz\360\000\000{\001I\002\360\000\000I\002J\002\360\000\000J\002U\002\360\000\000U\002V\002\360\000\000V\002d\002\360\000\000d\002m\002\360\000\000m\002t\002\360\000\000t\002z\002\360\000\000z\002|\002\360\000\000|\002F\003\360\000\000F\003O\003\360\000\000O\003\\\003\360\000\000\\\003b\003\360\000\000b\003d\003\360\000\000d\003n\003\360\000\000n\003w\003\360\000\000w\003B\004\360\000\000B\004H\004\360\000\000H\004J\004\360\000\000J\004K\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 7\260y\300\014\310I\320UW\320W^\320^`\320`a\330\010\017\210y\230\014\240B\240h\250j\270\014\300B\300h\320N^\320^j\320jl\320lt\320tu\200A\330+D\300A\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\014\300A\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320Ua\320am\320m{\320{|\360\000\000}\001H\002\360\000\000H\002I\002\360\000\000I\002W\002\360\000\000W\002`\002\360\000\000`\002g\002\360\000\000g\002m\002\360\000\000m\002o\002\360\000\000o\002p\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240X\250Q\200A\330+D\320D]\320]v\320vw\330\010!\240\035\250a\250q\330\010\035\230Q\330""\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t+\250!\330\010&\240o\260X\270Q\270a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047<\270A\270\\\310\036\320We\320ef\330\014\027\320\027(\250\001\250\030\260\021\330\014\027\320\027(\250\001\250\030\260\021\330\021\022\330\020\032\320\0321\260\021\260!\2608\2709\300F\310&\320PR\320RZ\320Zf\320fr\360\000\000s\001A\002\360\000\000A\002O\002\360\000\000O\002]\002\360\000\000]\002^\002\360\000\000^\002i\002\360\000\000i\002j\002\360\000\000j\002x\002\360\000\000x\002A\003\360\000\000A\003I\003\360\000\000I\003O\003\360\000\000O\003Q\003\360\000\000Q\003[\003\360\000\000[\003d\003\360\000\000d\003l\003\360\000\000l\003r\003\360\000\000r\003t\003\360\000\000t\003u\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ;\2709\300L\320PY\320Y[\320[b\320bd\320de\330\010\017\210y\230\014\240B\240h\250k\270\034\300R\300x\310q\200A\330+E\300Q\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t-\250A\330\010(\320(9\270\030\300\021\300!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047>\270a\270|\3101\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0323\2601\260A\260X\270Y\300f\310F\320RT\320T\\\320\\h\320ht\360\000\000u\001A\002\360\000\000A\002B\002\360\000\000B\002M\002\360\000\000M\002N\002\360\000\000N\002\\\002\360\000\000\\\002e\002\360\000\000e\002l\002\360\000\000l\002r\002\360\000\000r\002t\002\360\000\000t\002u\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 =\270Y\300l\320R[\320[]\320]d\320df\320fg\330\010\017\210x\220|\2402\240X\250Q\200A\330,E\300Q\330\010!\240\035""\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\r\300Q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320Ua\320an\320n|\320|}\360\000\000~\001I\002\360\000\000I\002J\002\360\000\000J\002X\002\360\000\000X\002a\002\360\000\000a\002h\002\360\000\000h\002n\002\360\000\000n\002p\002\360\000\000p\002q\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240X\250Q\200A\330-.\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\016\000\t*\250\021\330\010%\240^\2608\2701\270A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047;\2701\270A\330\014\026\320\026\047\240q\250\010\260\001\330\014\034\320\034-\250Q\250h\260a\330\014\032\320\032+\2501\250H\260A\330\021\022\330\020\032\320\0320\260\001\260\021\260(\270)\3006\310\026\310r\320QY\320Ye\320es\320st\320t\177\360\000\000@\002A\002\360\000\000A\002O\002\360\000\000O\002X\002\360\000\000X\002_\002\360\000\000_\002e\002\360\000\000e\002g\002\360\000\000g\002q\002\360\000\000q\002z\002\360\000\000z\002G\003\360\000\000G\003M\003\360\000\000M\003O\003\360\000\000O\003Y\003\360\000\000Y\003b\003\360\000\000b\003m\003\360\000\000m\003s\003\360\000\000s\003u\003\360\000\000u\003v\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 :\270)\300<\310y\320XZ\320Za\320ac\320cd\330\010\017\210y\230\014\240B\240h\250j\270\014\300B\300h\320N^\320^j\320jl\320lt\320tu""\200A\330-.\330\010#\240=\260\001\260\021\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t\047\240a\330\010\"\240+\250X\260Q\260a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0478\270\001\270\021\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032-\250Q\250a\250x\260y\300\010\310\006\310b\320PX\320Xd\320dp\320pq\320q|\320|}\360\000\000~\001L\002\360\000\000L\002U\002\360\000\000U\002\\\002\360\000\000\\\002b\002\360\000\000b\002d\002\360\000\000d\002e\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 7\260y\300\014\310I\320UW\320W^\320^`\320`a\330\010\017\210x\220|\2402\240Z\250q\200A\330-D\320DW\320WX\330\010#\240=\260\001\260\021\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\014\300L\320PQ\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270x\300v\310R\310x\320Wc\320co\320o{\360\000\000|\001D\002\360\000\000D\002E\002\360\000\000E\002P\002\360\000\000P\002Q\002\360\000\000Q\002_\002\360\000\000_\002h\002\360\000\000h\002o\002\360\000\000o\002u\002\360\000\000u\002w\002\360\000\000w\002x\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240Z\250q\200A\330-E\300Q\330\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t\047\240a\330\010\"\240+\250X\260Q\260a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307""\240%\320\0478\270\001\270\033\300A\330\014\026\320\026\047\240q\250\010\260\001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032-\250Q\250a\250x\260y\300\006\300f\310B\310h\320Vb\320bm\320mx\320xy\360\000\000z\001E\002\360\000\000E\002F\002\360\000\000F\002T\002\360\000\000T\002]\002\360\000\000]\002d\002\360\000\000d\002j\002\360\000\000j\002l\002\360\000\000l\002v\002\360\000\000v\002\177\002\360\000\000\177\002F\003\360\000\000F\003L\003\360\000\000L\003N\003\360\000\000N\003O\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 7\260y\300\014\310I\320UW\320W^\320^`\320`a\330\010\017\210y\230\014\240B\240h\250j\270\014\300B\300h\310a\200A\330.D\300A\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t*\250\021\330\010%\240^\2608\2701\270A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047;\2701\270J\300a\330\014\033\230>\250\021\250(\260!\330\014\032\230.\250\001\250\030\260\021\330\021\022\330\020\032\320\0320\260\001\260\021\260(\270)\3006\310\026\310r\320QY\320Yb\320bg\320gm\320mo\320ow\360\000\000x\001D\002\360\000\000D\002N\002\360\000\000N\002Y\002\360\000\000Y\002Z\002\360\000\000Z\002e\002\360\000\000e\002f\002\360\000\000f\002t\002\360\000\000t\002z\002\360\000\000z\002F\003\360\000\000F\003L\003\360\000\000L\003N\003\360\000\000N\003X\003\360\000\000X\003^\003\360\000\000^\003i\003\360\000\000i\003o\003\360\000\000o\003q\003\360\000\000q\003r\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 :\270)\300<\310y\320XZ\320Za\320ac\320cd\330\010\017\210y\230\014\240B\240f\250G\260?\300,\310b\320PV\320V]\320]^\200A\33001\330\010!\240\035\250a\250q""\330\010 \240\r\250Q\250a\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320U^\320^c\320ci\320ik\320ks\320s\177\360\000\000@\002L\002\360\000\000L\002M\002\360\000\000M\002X\002\360\000\000X\002Y\002\360\000\000Y\002g\002\360\000\000g\002p\002\360\000\000p\002w\002\360\000\000w\002}\002\360\000\000}\002\177\002\360\000\000\177\002@\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240V\2507\260!\200A\33001\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t*\250\021\330\010%\240^\2608\2701\270A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047;\2701\270A\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0320\260\001\260\021\260(\270)\3006\310\026\310r\320QY\320Yb\320bg\320gm\320mo\320ow\360\000\000x\001D\002\360\000\000D\002P\002\360\000\000P\002Q\002\360\000\000Q\002\\\002\360\000\000\\\002]\002\360\000\000]\002k\002\360\000\000k\002t\002\360\000\000t\002{\002\360\000\000{\002A\003\360\000\000A\003C\003\360\000\000C\003D\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 :\270)\300<\310y\320XZ\320Za\320ac\320cd\330\010\017\210x\220|\2402\240V\2507\260!\200A\33001\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,""\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t+\250!\330\010&\240o\260X\270Q\270a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047<\270A\270Q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0321\260\021\260!\2608\2709\300F\310&\320PR\320RZ\320Zc\320ch\320hn\320np\320px\360\000\000y\001E\002\360\000\000E\002Q\002\360\000\000Q\002R\002\360\000\000R\002]\002\360\000\000]\002^\002\360\000\000^\002l\002\360\000\000l\002u\002\360\000\000u\002|\002\360\000\000|\002B\003\360\000\000B\003D\003\360\000\000D\003E\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ;\2709\300L\320PY\320Y[\320[b\320bd\320de\330\010\017\210x\220|\2402\240V\2507\260!\200A\33001\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t(\240q\330\010#\240<\250x\260q\270\001\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0479\270\021\270!\330\014\033\320\033,\250A\250X\260Q\330\014\031\320\031*\250!\2508\2601\330\021\022\330\020\032\320\032.\250a\250q\260\010\270\t\300\026\300v\310R\310x\320W`\320`e\320ek\320km\320mu\360\000\000v\001B\002\360\000\000B\002N\002\360\000\000N\002O\002\360\000\000O\002Z\002\360\000\000Z\002[\002\360\000\000[\002i\002\360\000\000i\002r\002\360\000\000r\002~\002\360\000\000~\002D\003\360\000\000D\003F\003\360\000\000F\003P\003\360\000\000P\003Y\003\360\000\000Y\003c\003\360\000\000c\003i\003\360\000\000i\003k\003\360\000\000k\003l\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 8\270\t\300\034\310Y\320VX\320X_\320_a\320ab\330\010\017\210y\230\014\240B\240f\250G\260?\300,\310b\320PV\320V]\320]^\200A\33001\330\010!\240\035\250a\250q""\330\010 \240\r\250Q\250a\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\016\000\t+\250!\330\010&\240o\260X\270Q\270a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047<\270A\270Q\330\014\033\320\033,\250A\250X\260Q\330\014\034\320\034-\250Q\250h\260a\330\014\033\320\033,\250A\250X\260Q\330\021\022\330\020\032\320\0321\260\021\260!\2608\2709\300F\310&\320PR\320RZ\320Zc\320ch\320hn\320np\320px\360\000\000y\001E\002\360\000\000E\002Q\002\360\000\000Q\002R\002\360\000\000R\002]\002\360\000\000]\002^\002\360\000\000^\002l\002\360\000\000l\002u\002\360\000\000u\002A\003\360\000\000A\003G\003\360\000\000G\003I\003\360\000\000I\003S\003\360\000\000S\003\\\003\360\000\000\\\003i\003\360\000\000i\003o\003\360\000\000o\003q\003\360\000\000q\003{\003\360\000\000{\003D\004\360\000\000D\004P\004\360\000\000P\004V\004\360\000\000V\004X\004\360\000\000X\004Y\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ;\2709\300L\320PY\320Y[\320[b\320bd\320de\330\010\017\210y\230\014\240B\240f\250G\260?\300,\310b\320PV\320V]\320]m\320my\320y{\360\000\000|\001B\002\360\000\000B\002I\002\360\000\000I\002J\002\200A\3300F\300a\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\014\300A\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320U^\320^c\320ci\320ik\320ks\320s\177\360\000\000@\002L\002\360\000\000L\002W\002\360\000\000W\002X\002\360\000\000X\002c\002\360\000\000c\002d\002\360\000\000d\002r\002\360\000\000r\002{\002\360\000\000{\002B\003\360\000\000B\003H\003\360\000\000H""\003J\003\360\000\000J\003K\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240V\2507\260!\200A\3300G\300q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t%\240A\330\010 \240\t\250\030\260\021\260!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\240\177\260a\260|\3001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032+\2501\250A\250X\260Y\270f\300F\310\"\310H\320T]\320]b\320bh\320hj\320jr\320r~\360\000\000\177\001K\002\360\000\000K\002W\002\360\000\000W\002X\002\360\000\000X\002c\002\360\000\000c\002d\002\360\000\000d\002r\002\360\000\000r\002{\002\360\000\000{\002B\003\360\000\000B\003H\003\360\000\000H\003J\003\360\000\000J\003K\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 5\260Y\270l\310)\320SU\320U\\\320\\^\320^_\330\010\017\210x\220|\2402\240V\2507\260!\200A\3300G\300q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t(\240q\330\010#\240<\250x\260q\270\001\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0479\270\021\270,\300a\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032.\250a\250q\260\010\270\t\300\026\300v\310R\310x\320W`\320`e\320ek\320km\320mu\360\000\000v\001B\002\360\000\000B\002N\002\360\000\000N\002Z\002\360\000\000Z\002[\002\360\000\000[\002f\002\360\000\000f\002g\002\360\000\000g\002u\002\360\000\000u\002~\002\360\000\000~\002E\003\360\000\000E\003K\003\360\000\000K\003M\003\360\000\000M\003N\003""\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 8\270\t\300\034\310Y\320VX\320X_\320_a\320ab\330\010\017\210x\220|\2402\240V\2507\260!\200A\3300G\320G`\320`a\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t%\240A\330\010 \240\t\250\030\260\021\260!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\240\177\260a\260|\300<\310q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032+\2501\250A\250X\260Y\270f\300F\310\"\310H\320T]\320]b\320bh\320hj\320jr\320r~\360\000\000\177\001K\002\360\000\000K\002W\002\360\000\000W\002e\002\360\000\000e\002f\002\360\000\000f\002q\002\360\000\000q\002r\002\360\000\000r\002@\003\360\000\000@\003I\003\360\000\000I\003P\003\360\000\000P\003V\003\360\000\000V\003X\003\360\000\000X\003Y\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 5\260Y\270l\310)\320SU\320U\\\320\\^\320^_\330\010\017\210x\220|\2402\240V\2507\260!\200A\33023\330\010!\240\035\250a\250q\330\010\"\240-\250q\260\001\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320U^\320^e\320ek\320km\320mu\360\000\000v\001B\002\360\000\000B\002N\002\360\000\000N\002O\002\360\000\000O\002Z\002\360\000\000Z\002[\002\360\000\000[\002i\002\360\000\000i\002r\002\360\000\000r\002y\002\360\000\000y\002\177\002\360\000\000\177\002A\003\360\000\000A\003B\003\330\020\023\2208\2303""\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240V\2509\260A\200A\33023\330\010!\240\035\250a\250q\330\010\"\240-\250q\260\001\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t)\250\001\330\010$\240M\260\030\270\021\270!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047:\270!\2701\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032/\250q\260\001\260\030\270\031\300&\310\006\310b\320PX\320Xa\320ah\320hn\320np\320px\360\000\000y\001E\002\360\000\000E\002Q\002\360\000\000Q\002R\002\360\000\000R\002]\002\360\000\000]\002^\002\360\000\000^\002l\002\360\000\000l\002u\002\360\000\000u\002|\002\360\000\000|\002B\003\360\000\000B\003D\003\360\000\000D\003E\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 9\270\031\300,\310i\320WY\320Y`\320`b\320bc\330\010\017\210x\220|\2402\240V\2509\260A\200A\33034\330\010!\240\035\250a\250q\330\010#\240=\260\001\260\021\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t\047\240a\330\010\"\240+\250X\260Q\260a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0478\270\001\270\021\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032-\250Q\250a\250x\260y\300\006\300f\310B\310h\320V_\320_g\320gm\320mo\320ow\360\000\000x\001D\002\360\000\000D\002P\002\360\000\000P\002Q\002\360\000\000Q\002\\\002\360\000\000\\\002]\002\360\000\000]\002k\002\360\000\000k\002t\002\360\000\000t\002{\002\360\000\000{\002A\003\360\000\000A\003C\003\360\000\000C\003D\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q""\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 7\260y\300\014\310I\320UW\320W^\320^`\320`a\330\010\017\210x\220|\2402\240V\250:\260Q\200A\33034\330\010\"\240-\250q\260\001\330\010\"\240-\250q\260\001\330\010\035\230Y\240a\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t\047\240a\330\010\"\240+\250X\260Q\260a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0478\270\001\270\021\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032-\250Q\250a\250x\260y\300\007\300v\310R\310x\320W`\320`g\320gm\320mo\320ow\360\000\000x\001D\002\360\000\000D\002P\002\360\000\000P\002Q\002\360\000\000Q\002\\\002\360\000\000\\\002]\002\360\000\000]\002k\002\360\000\000k\002t\002\360\000\000t\002{\002\360\000\000{\002A\003\360\000\000A\003C\003\360\000\000C\003D\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 7\260y\300\014\310I\320UW\320W^\320^`\320`a\330\010\017\210x\220|\2402\240W\250I\260Q\200A\33034\330\010\"\240-\250q\260\001\330\010\"\240-\250q\260\001\330\010\035\230Y\240a\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t)\250\001\330\010$\240M\260\030\270\021\270!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047:\270!\2701\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032/\250q\260\001\260\030\270\031\300\047\310\026\310r\320QY\320Yb\320bi\320io\320oq\320qy\360\000\000z\001F\002\360\000\000F\002R\002\360\000\000R\002S\002\360\000\000S\002^\002\360\000\000^\002_\002\360\000\000_\002m\002\360\000\000m\002v\002\360\000\000v\002}\002\360\000\000}\002C\003\360\000\000C\003E\003\360\000\000E\003F\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330""\010\013\2108\2203\220a\330\014\037\230q\320 9\270\031\300,\310i\320WY\320Y`\320`b\320bc\330\010\017\210x\220|\2402\240W\250I\260Q\200A\3303I\320I\\\320\\]\330\010!\240\035\250a\250q\330\010$\240M\260\021\260!\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t\047\240a\330\010\"\240+\250X\260Q\260a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0478\270\001\270\033\300K\310q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032-\250Q\250a\250x\260y\300\006\300f\310B\310h\320V_\320_h\320hn\320np\320px\360\000\000y\001E\002\360\000\000E\002P\002\360\000\000P\002[\002\360\000\000[\002c\002\360\000\000c\002d\002\360\000\000d\002o\002\360\000\000o\002p\002\360\000\000p\002~\002\360\000\000~\002G\003\360\000\000G\003N\003\360\000\000N\003T\003\360\000\000T\003V\003\360\000\000V\003W\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 7\260y\300\014\310I\320UW\320W^\320^`\320`a\330\010\017\210x\220|\2402\240V\250;\260a\200A\3303Q\320Qt\360\000\000u\001T\002\360\000\000T\002v\002\360\000\000v\002Z\003\360\000\000Z\003z\003\360\000\000z\003]\004\360\000\000]\004^\004\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t)\250\001\330\010$\240M\260\030\270\021\270!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047:\270!\270<\320GX\320Xn\360\000\000o\001A\002\360\000\000A\002V\002\360\000\000V\002m\002\360\000\000m\002@\003\360\000\000@\003A\003\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032/\250q\260\001\260\030\270\031\300&\310\006\310b\320PX\320Xa\320af\320fl\320ln\320nv\360\000\000w\001C\002\360\000\000C\002O\002\360\000\000O\002`\002\360\000\000`\002v\002\360\000\000v""\002H\003\360\000\000H\003]\003\360\000\000]\003t\003\360\000\000t\003G\004\360\000\000G\004]\004\360\000\000]\004^\004\360\000\000^\004i\004\360\000\000i\004j\004\360\000\000j\004x\004\360\000\000x\004A\005\360\000\000A\005H\005\360\000\000H\005N\005\360\000\000N\005P\005\360\000\000P\005Q\005\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 9\270\031\300,\310i\320WY\320Y`\320`b\320bc\330\010\017\210x\220|\2402\240V\2507\260!\200A\33045\330\010\"\240-\250q\260\001\330\010#\240=\260\001\260\021\330\010\035\230Y\240a\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270w\300f\310B\310h\320V_\320_g\320gm\320mo\320ow\360\000\000x\001D\002\360\000\000D\002P\002\360\000\000P\002Q\002\360\000\000Q\002\\\002\360\000\000\\\002]\002\360\000\000]\002k\002\360\000\000k\002t\002\360\000\000t\002{\002\360\000\000{\002A\003\360\000\000A\003C\003\360\000\000C\003D\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240W\250J\260a\200A\3305J\310!\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\016\300a\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320U^\320^c\320ci\320ik\320ks\320s\177\360\000""\000@\002N\002\360\000\000N\002W\002\360\000\000W\002X\002\360\000\000X\002c\002\360\000\000c\002d\002\360\000\000d\002r\002\360\000\000r\002{\002\360\000\000{\002B\003\360\000\000B\003H\003\360\000\000H\003J\003\360\000\000J\003K\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240V\2507\260!\200A\33078\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t%\240A\330\010 \240\t\250\030\260\021\260!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\240\177\260a\260q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032+\2501\250A\250X\260Y\270f\300F\310\"\310H\320T]\320]b\320bh\320hj\320jr\320r{\360\000\000|\001C\002\360\000\000C\002I\002\360\000\000I\002K\002\360\000\000K\002S\002\360\000\000S\002_\002\360\000\000_\002k\002\360\000\000k\002l\002\360\000\000l\002w\002\360\000\000w\002x\002\360\000\000x\002F\003\360\000\000F\003O\003\360\000\000O\003V\003\360\000\000V\003\\\003\360\000\000\\\003^\003\360\000\000^\003_\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 5\260Y\270l\310)\320SU\320U\\\320\\^\320^_\330\010\017\210x\220|\2402\240V\2505\260\t\270\021\200A\33078\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320""\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320U^\320^c\320ci\320ik\320ks\320s|\360\000\000}\001D\002\360\000\000D\002J\002\360\000\000J\002L\002\360\000\000L\002T\002\360\000\000T\002`\002\360\000\000`\002l\002\360\000\000l\002m\002\360\000\000m\002x\002\360\000\000x\002y\002\360\000\000y\002G\003\360\000\000G\003P\003\360\000\000P\003W\003\360\000\000W\003]\003\360\000\000]\003_\003\360\000\000_\003`\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240V\2505\260\t\270\021\200A\33078\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t\047\240a\330\010\"\240+\250X\260Q\260a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0478\270\001\270\021\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032-\250Q\250a\250x\260y\300\006\300f\310B\310h\320V_\320_d\320dj\320jl\320lt\320t}\360\000\000~\001E\002\360\000\000E\002K\002\360\000\000K\002M\002\360\000\000M\002U\002\360\000\000U\002a\002\360\000\000a\002m\002\360\000\000m\002n\002\360\000\000n\002y\002\360\000\000y\002z\002\360\000\000z\002H\003\360\000\000H\003Q\003\360\000\000Q\003X\003\360\000\000X\003^\003\360\000\000^\003`\003\360\000\000`\003a\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 7\260y\300\014\310I\320UW\320W^\320^`\320`a\330\010\017\210x\220|\2402\240V\2505\260\t\270\021\200A\33078\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t(\240q""\330\010#\240<\250x\260q\270\001\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0479\270\021\270!\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032.\250a\250q\260\010\270\t\300\026\300v\310R\310x\320W`\320`e\320ek\320km\320mu\320u~\360\000\000\177\001F\002\360\000\000F\002L\002\360\000\000L\002N\002\360\000\000N\002V\002\360\000\000V\002b\002\360\000\000b\002n\002\360\000\000n\002o\002\360\000\000o\002z\002\360\000\000z\002{\002\360\000\000{\002I\003\360\000\000I\003R\003\360\000\000R\003Y\003\360\000\000Y\003_\003\360\000\000_\003a\003\360\000\000a\003b\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 8\270\t\300\034\310Y\320VX\320X_\320_a\320ab\330\010\017\210x\220|\2402\240V\2505\260\t\270\021\200A\33078\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t*\250\021\330\010%\240^\2608\2701\270A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047;\2701\270A\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0320\260\001\260\021\260(\270)\3006\310\026\310r\320QY\320Yb\320bg\320gm\320mo\320ow\360\000\000x\001A\002\360\000\000A\002H\002\360\000\000H\002N\002\360\000\000N\002P\002\360\000\000P\002X\002\360\000\000X\002d\002\360\000\000d\002p\002\360\000\000p\002q\002\360\000\000q\002|\002\360\000\000|\002}\002\360\000\000}\002K\003\360\000\000K\003T\003\360\000\000T\003[\003\360\000\000[\003a\003\360\000\000a\003c\003\360\000\000c\003d\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 :\270)\300<\310y\320XZ\320Za\320ac\320cd\330\010\017\210x\220|\2402\240V\2505\260\t\270\021\200A\3307""8\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t+\250!\330\010&\240o\260X\270Q\270a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047<\270A\270Q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0321\260\021\260!\2608\2709\300F\310&\320PR\320RZ\320Zc\320ch\320hn\320np\320px\360\000\000y\001B\002\360\000\000B\002I\002\360\000\000I\002O\002\360\000\000O\002Q\002\360\000\000Q\002Y\002\360\000\000Y\002e\002\360\000\000e\002q\002\360\000\000q\002r\002\360\000\000r\002}\002\360\000\000}\002~\002\360\000\000~\002L\003\360\000\000L\003U\003\360\000\000U\003\\\003\360\000\000\\\003b\003\360\000\000b\003d\003\360\000\000d\003e\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ;\2709\300L\320PY\320Y[\320[b\320bd\320de\330\010\017\210x\220|\2402\240V\2505\260\t\270\021\200A\33078\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\001\330\014\033\320\033,\250A\250X\260Q\330\014\033\320\033,\250A\250X\260Q\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320U^\320^c\320ci\320ik\320ks\320s|\360\000\000}\001D\002\360\000\000D\002J\002\360\000\000J\002L\002\360\000\000L\002T\002\360\000\000T\002`\002\360\000\000`\002l\002\360\000\000l\002m\002\360\000\000m\002x\002\360\000\000x\002y\002\360\000\000y\002G\003\360\000\000G\003P\003\360\000\000P\003\\\003\360\000\000\\\003b\003\360\000\000b\003d\003\360\000\000d\003n\003\360\000\000n\003w\003\360\000\000w\003C\004""\360\000\000C\004I\004\360\000\000I\004K\004\360\000\000K\004L\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210y\230\014\240B\240f\250E\260\031\270/\310\034\320UW\320W]\320]b\320bk\320kl\200A\33078\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t)\250\001\330\010$\240M\260\030\270\021\270!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047:\270!\2701\330\014\030\320\030)\250\021\250(\260!\330\014\031\320\031*\250!\2508\2601\330\021\022\330\020\032\320\032/\250q\260\001\260\030\270\031\300&\310\006\310b\320PX\320Xa\320af\320fl\320ln\320nv\320v\177\360\000\000@\002G\002\360\000\000G\002M\002\360\000\000M\002O\002\360\000\000O\002W\002\360\000\000W\002c\002\360\000\000c\002o\002\360\000\000o\002p\002\360\000\000p\002{\002\360\000\000{\002|\002\360\000\000|\002J\003\360\000\000J\003S\003\360\000\000S\003\\\003\360\000\000\\\003b\003\360\000\000b\003d\003\360\000\000d\003n\003\360\000\000n\003w\003\360\000\000w\003A\004\360\000\000A\004G\004\360\000\000G\004I\004\360\000\000I\004J\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 9\270\031\300,\310i\320WY\320Y`\320`b\320bc\330\010\017\210y\230\014\240B\240f\250E\260\031\270,\300l\320RT\320TZ\320Z_\320_h\320hi\200A\33078\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\016\000\t+\250!\330\010&\240o\260X\270Q\270a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047<\270A\270Q""\330\014\033\320\033,\250A\250X\260Q\330\014\034\320\034-\250Q\250h\260a\330\014\033\320\033,\250A\250X\260Q\330\021\022\330\020\032\320\0321\260\021\260!\2608\2709\300F\310&\320PR\320RZ\320Zc\320ch\320hn\320np\320px\360\000\000y\001B\002\360\000\000B\002I\002\360\000\000I\002O\002\360\000\000O\002Q\002\360\000\000Q\002Y\002\360\000\000Y\002e\002\360\000\000e\002q\002\360\000\000q\002r\002\360\000\000r\002}\002\360\000\000}\002~\002\360\000\000~\002L\003\360\000\000L\003U\003\360\000\000U\003a\003\360\000\000a\003g\003\360\000\000g\003i\003\360\000\000i\003s\003\360\000\000s\003|\003\360\000\000|\003I\004\360\000\000I\004O\004\360\000\000O\004Q\004\360\000\000Q\004[\004\360\000\000[\004d\004\360\000\000d\004p\004\360\000\000p\004v\004\360\000\000v\004x\004\360\000\000x\004y\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ;\2709\300L\320PY\320Y[\320[b\320bd\320de\330\010\017\210y\230\014\240B\240f\250E\260\031\270/\310\034\320UW\320W]\320]b\320bk\320k{\360\000\000|\001H\002\360\000\000H\002J\002\360\000\000J\002P\002\360\000\000P\002U\002\360\000\000U\002^\002\360\000\000^\002_\002\200A\3307M\320Mb\320bc\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\016\000\t%\240A\330\010 \240\t\250\030\260\021\260!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\240\177\260a\260|\300;\310a\330\014\033\320\033,\250A\250X\260Q\330\014\034\320\034-\250Q\250h\260a\330\014\033\320\033,\250A\250X\260Q\330\021\022\330\020\032\320\032+\2501\250A\250X\260Y\270f\300F\310\"\310H\320T]\320]b\320bh\320hj\320jr\320r{\360\000\000|\001C\002\360\000\000C\002I\002\360\000\000I\002K\002\360\000\000K\002S\002\360\000\000S\002_\002\360\000\000_\002k\002\360\000\000k\002v\002\360\000\000v\002}\002\360\000\000}""\002~\002\360\000\000~\002I\003\360\000\000I\003J\003\360\000\000J\003X\003\360\000\000X\003a\003\360\000\000a\003m\003\360\000\000m\003s\003\360\000\000s\003u\003\360\000\000u\003\177\003\360\000\000\177\003H\004\360\000\000H\004U\004\360\000\000U\004[\004\360\000\000[\004]\004\360\000\000]\004g\004\360\000\000g\004p\004\360\000\000p\004|\004\360\000\000|\004B\005\360\000\000B\005D\005\360\000\000D\005E\005\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 5\260Y\270l\310)\320SU\320U\\\320\\^\320^_\330\010\017\210y\230\014\240B\240f\250E\260\031\270/\310\034\320UW\320W]\320]b\320bk\320k{\360\000\000|\001H\002\360\000\000H\002J\002\360\000\000J\002P\002\360\000\000P\002U\002\360\000\000U\002^\002\360\000\000^\002_\002\200A\3307N\320Ne\320e~\320~\177\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\014\300L\320P\\\320\\]\330\014\025\320\025&\240a\240x\250q\330\014\033\320\033,\250A\250X\260Q\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320U^\320^c\320ci\320ik\320ks\320s|\360\000\000}\001D\002\360\000\000D\002J\002\360\000\000J\002L\002\360\000\000L\002T\002\360\000\000T\002`\002\360\000\000`\002l\002\360\000\000l\002x\002\360\000\000x\002D\003\360\000\000D\003R\003\360\000\000R\003S\003\360\000\000S\003^\003\360\000\000^\003_\003\360\000\000_\003m\003\360\000\000m\003v\003\360\000\000v\003|\003\360\000\000|\003B\004\360\000\000B\004D\004\360\000\000D\004N\004\360\000\000N\004W\004\360\000\000W\004c\004\360\000\000c\004i\004\360\000\000i\004k\004\360\000\000k\004l\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330""\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210y\230\014\240B\240f\250E\260\031\270)\300<\310r\320QW\320W\\\320\\e\320ef\200A\3307Q\320QR\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t-\250A\330\010(\320(9\270\030\300\021\300!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047>\270a\270|\3101\330\014\034\320\034-\250Q\250h\260a\330\014\027\220~\240Q\240h\250a\330\021\022\330\020\032\320\0323\2601\260A\260X\270Y\300f\310F\320RT\320T\\\320\\e\320ej\320jp\320pr\320rz\360\000\000{\001D\002\360\000\000D\002K\002\360\000\000K\002Q\002\360\000\000Q\002S\002\360\000\000S\002[\002\360\000\000[\002g\002\360\000\000g\002s\002\360\000\000s\002\177\002\360\000\000\177\002@\003\360\000\000@\003K\003\360\000\000K\003L\003\360\000\000L\003Z\003\360\000\000Z\003c\003\360\000\000c\003p\003\360\000\000p\003v\003\360\000\000v\003x\003\360\000\000x\003B\004\360\000\000B\004H\004\360\000\000H\004P\004\360\000\000P\004V\004\360\000\000V\004X\004\360\000\000X\004Y\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 =\270Y\300l\320R[\320[]\320]d\320df\320fg\330\010\017\210y\230\014\240B\240f\250E\260\031\320:J\310,\320VX\320X^\320^c\320cl\320lm\200A\3308P\320Ph\320hi\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t)\250\001\330\010$\240M\260\030\270\021\270!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047:\270!\270=\310\r\320UV\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032/\250q""\260\001\260\030\270\031\300&\310\006\310b\320PX\320Xa\320af\320fl\320ln\320nv\320v\177\360\000\000@\002G\002\360\000\000G\002M\002\360\000\000M\002O\002\360\000\000O\002W\002\360\000\000W\002c\002\360\000\000c\002p\002\360\000\000p\002}\002\360\000\000}\002J\003\360\000\000J\003K\003\360\000\000K\003V\003\360\000\000V\003W\003\360\000\000W\003e\003\360\000\000e\003n\003\360\000\000n\003u\003\360\000\000u\003{\003\360\000\000{\003}\003\360\000\000}\003~\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 9\270\031\300,\310i\320WY\320Y`\320`b\320bc\330\010\017\210x\220|\2402\240V\2505\260\t\270\021\200A\3309R\320Rk\320kl\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t)\250\001\330\010$\240M\260\030\270\021\270!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047:\270!\270>\310\036\320WX\330\014\027\320\027(\250\001\250\030\260\021\330\014\027\320\027(\250\001\250\030\260\021\330\021\022\330\020\032\320\032/\250q\260\001\260\030\270\031\300&\310\006\310b\320PX\320Xa\320af\320fl\320ln\320nv\320v\177\360\000\000@\002G\002\360\000\000G\002M\002\360\000\000M\002O\002\360\000\000O\002W\002\360\000\000W\002c\002\360\000\000c\002q\002\360\000\000q\002\177\002\360\000\000\177\002M\003\360\000\000M\003N\003\360\000\000N\003Y\003\360\000\000Y\003Z\003\360\000\000Z\003h\003\360\000\000h\003q\003\360\000\000q\003y\003\360\000\000y\003\177\003\360\000\000\177\003A\004\360\000\000A\004K\004\360\000\000K\004T\004\360\000\000T\004\\\004\360\000\000\\\004b\004\360\000\000b\004d\004\360\000\000d\004e\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 9\270\031\300,""\310i\320WY\320Y`\320`b\320bc\330\010\017\210y\230\014\240B\240f\250E\260\031\270+\300\\\320QS\320SY\320Y^\320^g\320gh\200A\3309R\320Rk\320k\177\360\000\000@\002Y\002\360\000\000Y\002Z\002\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t(\240q\330\010#\240<\250x\260q\270\001\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0479\270\021\270.\310\016\320Vd\320dr\320rs\330\014\027\320\027(\250\001\250\030\260\021\330\014\027\320\027(\250\001\250\030\260\021\330\021\022\330\020\032\320\032.\250a\250q\260\010\270\t\300\026\300v\310R\310x\320W`\320`e\320ek\320km\320mu\320u~\360\000\000\177\001F\002\360\000\000F\002L\002\360\000\000L\002N\002\360\000\000N\002V\002\360\000\000V\002b\002\360\000\000b\002p\002\360\000\000p\002~\002\360\000\000~\002L\003\360\000\000L\003Z\003\360\000\000Z\003h\003\360\000\000h\003i\003\360\000\000i\003t\003\360\000\000t\003u\003\360\000\000u\003C\004\360\000\000C\004L\004\360\000\000L\004T\004\360\000\000T\004Z\004\360\000\000Z\004\\\004\360\000\000\\\004f\004\360\000\000f\004o\004\360\000\000o\004w\004\360\000\000w\004}\004\360\000\000}\004\177\004\360\000\000\177\004@\005\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 8\270\t\300\034\310Y\320VX\320X_\320_a\320ab\330\010\017\210y\230\014\240B\240f\250E\260\031\270+\300\\\320QS\320SY\320Y^\320^g\320gh\200A\3309R\320Rk\360\000\000l\001A\002\360\000\000A\002Z\002\360\000\000Z\002[\002\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\016\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320""\0477\260q\270\016\300n\320Tb\320bp\320pq\330\014\023\320\023$\240A\240X\250Q\330\014\023\320\023$\240A\240X\250Q\330\014\023\320\023$\240A\240X\250Q\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320U^\320^c\320ci\320ik\320ks\320s|\360\000\000}\001D\002\360\000\000D\002J\002\360\000\000J\002L\002\360\000\000L\002T\002\360\000\000T\002`\002\360\000\000`\002n\002\360\000\000n\002|\002\360\000\000|\002J\003\360\000\000J\003X\003\360\000\000X\003f\003\360\000\000f\003g\003\360\000\000g\003r\003\360\000\000r\003s\003\360\000\000s\003A\004\360\000\000A\004J\004\360\000\000J\004N\004\360\000\000N\004T\004\360\000\000T\004V\004\360\000\000V\004`\004\360\000\000`\004i\004\360\000\000i\004m\004\360\000\000m\004s\004\360\000\000s\004u\004\360\000\000u\004\177\004\360\000\000\177\004H\005\360\000\000H\005L\005\360\000\000L\005R\005\360\000\000R\005T\005\360\000\000T\005U\005\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210y\230\014\240B\240f\250E\260\031\270\047\300\034\310R\310v\320UZ\320Zc\320cj\320jv\320vx\320x~\360\000\000\177\001D\002\360\000\000D\002M\002\360\000\000M\002N\002\200A\330?@\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010#\240=\260\001\260\021\330\010\035\230X\240W\250I\260Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\270\001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320U^\320^c\320ci\320ik\320ks\320s|\360\000\000}\001D\002\360\000\000D\002J\002\360\000\000J\002L\002\360\000\000L\002T\002\360\000\000T\002]\002\360\000\000]\002e\002\360\000\000e\002k\002\360\000\000k\002m""\002\360\000\000m\002u\002\360\000\000u\002A\003\360\000\000A\003M\003\360\000\000M\003N\003\360\000\000N\003Y\003\360\000\000Y\003Z\003\360\000\000Z\003h\003\360\000\000h\003q\003\360\000\000q\003x\003\360\000\000x\003~\003\360\000\000~\003@\004\360\000\000@\004A\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240V\2505\260\007\260z\300\021\200A\330?V\320VW\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010#\240=\260\001\260\021\330\010\035\230X\240W\250I\260Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t(\240q\330\010#\240<\250x\260q\270\001\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0479\270\021\270,\300a\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032.\250a\250q\260\010\270\t\300\026\300v\310R\310x\320W`\320`e\320ek\320km\320mu\320u~\360\000\000\177\001F\002\360\000\000F\002L\002\360\000\000L\002N\002\360\000\000N\002V\002\360\000\000V\002_\002\360\000\000_\002g\002\360\000\000g\002m\002\360\000\000m\002o\002\360\000\000o\002w\002\360\000\000w\002C\003\360\000\000C\003O\003\360\000\000O\003[\003\360\000\000[\003\\\003\360\000\000\\\003g\003\360\000\000g\003h\003\360\000\000h\003v\003\360\000\000v\003\177\003\360\000\000\177\003F\004\360\000\000F\004L\004\360\000\000L\004N\004\360\000\000N\004O\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 8\270\t\300\034\310Y\320VX\320X_\320_a\320ab\330\010\017\210x\220|\2402\240V\2505\260\007\260z\300\021\200A\330AB\330\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,""\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t-\250A\330\010(\320(9\270\030\300\021\300!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047>\270a\270q\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\0323\2601\260A\260X\270Y\300f\310F\320RT\320T\\\320\\e\320ek\320kq\320qs\320s{\360\000\000|\001E\002\360\000\000E\002J\002\360\000\000J\002P\002\360\000\000P\002R\002\360\000\000R\002Z\002\360\000\000Z\002c\002\360\000\000c\002j\002\360\000\000j\002p\002\360\000\000p\002r\002\360\000\000r\002z\002\360\000\000z\002F\003\360\000\000F\003S\003\360\000\000S\003T\003\360\000\000T\003_\003\360\000\000_\003`\003\360\000\000`\003n\003\360\000\000n\003t\003\360\000\000t\003~\003\360\000\000~\003D\004\360\000\000D\004F\004\360\000\000F\004G\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 =\270Y\300l\320R[\320[]\320]d\320df\320fg\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\330AB\330\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t1\260\001\330\010,\320,A\300\030\310\021\310!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047B\300!\3001\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\0327\260q\270\001\270\030\300\031\310&\320PV\320VX\320X`\320`i\320io\320ou\320uw\320w\177\360\000\000@\002I\002\360\000\000I\002N\002\360\000\000N\002T\002\360\000\000T\002V\002\360\000\000V\002^\002\360\000\000^\002g\002\360\000\000g\002n\002\360\000\000n\002t\002\360\000\000t\002v\002\360\000\000v\002~\002\360\000\000~\002J\003\360\000\000J\003W\003\360\000\000W\003X\003\360\000\000X\003c\003\360\000\000c\003d\003\360\000\000d\003r\003\360\000\000r\003x""\003\360\000\000x\003B\004\360\000\000B\004H\004\360\000\000H\004J\004\360\000\000J\004K\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 A\300\031\310,\320V_\320_a\320ah\320hj\320jk\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\330AB\330\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t3\260!\330\010.\320.E\300X\310Q\310a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047D\300A\300Q\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\0329\270\021\270!\2708\3009\310F\320RX\320XZ\320Zb\320bk\320kq\320qw\320wy\360\000\000z\001B\002\360\000\000B\002K\002\360\000\000K\002P\002\360\000\000P\002V\002\360\000\000V\002X\002\360\000\000X\002`\002\360\000\000`\002i\002\360\000\000i\002p\002\360\000\000p\002v\002\360\000\000v\002x\002\360\000\000x\002@\003\360\000\000@\003L\003\360\000\000L\003Y\003\360\000\000Y\003Z\003\360\000\000Z\003e\003\360\000\000e\003f\003\360\000\000f\003t\003\360\000\000t\003z\003\360\000\000z\003D\004\360\000\000D\004J\004\360\000\000J\004L\004\360\000\000L\004M\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 C\3009\310L\320Xa\320ac\320cj\320jl\320lm\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\330AB\330\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t4\2601\330\010/\320/G\300x\310q\320PQ\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047E\300Q\300a""\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\032:\270!\2701\270H\300I\310V\320SY\320Y[\320[c\320cl\320lr\320rx\320xz\360\000\000{\001C\002\360\000\000C\002L\002\360\000\000L\002Q\002\360\000\000Q\002W\002\360\000\000W\002Y\002\360\000\000Y\002a\002\360\000\000a\002j\002\360\000\000j\002q\002\360\000\000q\002w\002\360\000\000w\002y\002\360\000\000y\002A\003\360\000\000A\003M\003\360\000\000M\003Z\003\360\000\000Z\003[\003\360\000\000[\003f\003\360\000\000f\003g\003\360\000\000g\003u\003\360\000\000u\003{\003\360\000\000{\003E\004\360\000\000E\004K\004\360\000\000K\004M\004\360\000\000M\004N\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 D\300I\310\\\320Yb\320bd\320dk\320km\320mn\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\330AB\330\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t5\260A\330\0100\3200I\310\030\320QR\320RS\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047F\300a\300q\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\032;\2701\270A\270X\300Y\310f\320TZ\320Z\\\320\\d\320dm\320ms\320sy\320y{\360\000\000|\001D\002\360\000\000D\002M\002\360\000\000M\002R\002\360\000\000R\002X\002\360\000\000X\002Z\002\360\000\000Z\002b\002\360\000\000b\002k\002\360\000\000k\002r\002\360\000\000r\002x\002\360\000\000x\002z\002\360\000\000z\002B\003\360\000\000B\003N\003\360\000\000N\003[\003\360\000\000[\003\\\003\360\000\000\\\003g\003\360\000\000g\003h\003\360\000\000h\003v\003\360\000\000v\003|\003\360\000\000|\003F\004\360\000\000F\004L\004\360\000\000L\004N\004\360\000\000N\004O\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021""\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 E\300Y\310l\320Zc\320ce\320el\320ln\320no\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010\014\210J\220m\2406\250\021\330\010\014\210M\230\024\230Q\330\010\014\210J\220i\230q\240\004\240A\360\006\000\t\r\210O\2309\240F\250!\360\006\000\t\r\320\014\036\230b\240\010\250\001\330\010\014\210O\2301\200A\340\010\020\220\004\220A\330\010\013\2104\210w\220a\220w\230a\330\014\021\220\030\230\021\330\014\021\320\021!\240\021\360\006\000\r\022\220\037\240\013\2501\330\014\021\220\036\230{\250!\330\014\021\220\033\230K\240q\330\014\021\320\021\"\240!\360\006\000\r\022\220\030\230\037\250\001\250\024\250Q\360\006\000\r\021\220\005\220V\2301\230E\240\025\240d\250!\2501\330\020\027\320\0270\260\001\260\024\260Y\270a\330\020\035\230T\240\021\240!\330\020\023\2204\220q\320\030(\250\003\2501\330\024\030\230\001\320\031+\320+G\300q\310\001\330\020\025\220\\\240\021\240.\260\001\330\014\021\220\025\220a\320\027(\250\004\250A\360\006\000\r\021\220\005\220V\2301\230E\240\025\240d\250!\2501\330\020\027\320\0273\2601\260D\270\t\300\021\330\020\035\230T\240\021\240!\330\020\025\220[\240\001\240\036\250q\330\014\021\220\025\220a\320\027\047\240t\2501\360\006\000\r\022\220\025\220a\320\027)\250\033\260A\330\014\020\220\005\220V\2301\230E\240\025\240d\250!\2501\330\020\027\320\0271\260\021\260$\260i\270q\330\020\036\230d\240!\2401\330\020\025\220U\230!\230?\250!\250?\270$\270a\270q\330\020\025\220X\230Q\230o\250Q\330\014\021\220\025\220a\320\027)\250\024\250Q\330\010\017\210q\200A\340\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t%\240A\330\010 \240\t\250\030\260\021\260!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\240\177\260a\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032+\2501\250A\250X\260Y\270f\300F\310\"\310H\320T`\320`a\320al\320lm\320m{\360\000\000|\001E""\002\360\000\000E\002L\002\360\000\000L\002R\002\360\000\000R\002T\002\360\000\000T\002U\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 5\260Y\270l\310)\320SU\320U\\\320\\^\320^_\330\010\017\210x\220|\2402\240X\250Q\200A\340\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320Ua\320ab\320bm\320mn\320n|\360\000\000}\001F\002\360\000\000F\002M\002\360\000\000M\002S\002\360\000\000S\002U\002\360\000\000U\002V\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240X\250Q\200A\340\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t\047\240a\330\010\"\240+\250X\260Q\260a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0478\270\001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032-\250Q\250a\250x\260y\300\006\300f\310B\310h\320Vb\320bc\320cn\320no\320o}\360\000\000~\001G\002\360\000\000G\002N\002\360\000\000N\002T\002\360\000\000T\002V\002\360\000\000V\002W\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 7\260y\300\014\310I\320UW\320W^\320^`\320`a\330\010\017\210x\220|\2402\240X\250Q\200A\340\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x""\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t(\240q\330\010#\240<\250x\260q\270\001\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0479\270\021\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032.\250a\250q\260\010\270\t\300\026\300v\310R\310x\320Wc\320cd\320do\320op\320p~\360\000\000\177\001H\002\360\000\000H\002O\002\360\000\000O\002U\002\360\000\000U\002W\002\360\000\000W\002X\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 8\270\t\300\034\310Y\320VX\320X_\320_a\320ab\330\010\017\210x\220|\2402\240X\250Q\200A\340\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t)\250\001\330\010$\240M\260\030\270\021\270!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047:\270!\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032/\250q\260\001\260\030\270\031\300&\310\006\310b\320PX\320Xd\320de\320ep\320pq\320q\177\360\000\000@\002I\002\360\000\000I\002P\002\360\000\000P\002V\002\360\000\000V\002X\002\360\000\000X\002Y\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 9\270\031\300,\310i\320WY\320Y`\320`b\320bc\330\010\017\210x\220|\2402\240X\250Q\200A\340\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t-\250A\330\010(\320(9\270\030\300\021\300!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047>\270a\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0323\2601\260A\260X\270Y\300f\310F\320RT\320T\\\320\\h\320hi\320it\320tu\360\000\000v\001D\002\360\000\000D\002M\002\360\000\000M\002T\002\360\000\000T\002Z\002\360\000""\000Z\002\\\002\360\000\000\\\002]\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 =\270Y\300l\320R[\320[]\320]d\320df\320fg\330\010\017\210x\220|\2402\240X\250Q\200A\340\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t.\250Q\330\010)\320);\2708\3001\300A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047?\270q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0324\260A\260Q\260h\270i\300v\310V\320SU\320U]\320]i\320ij\320ju\320uv\360\000\000w\001E\002\360\000\000E\002N\002\360\000\000N\002U\002\360\000\000U\002[\002\360\000\000[\002]\002\360\000\000]\002^\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 >\270i\300|\320S\\\320\\^\320^e\320eg\320gh\330\010\017\210x\220|\2402\240X\250Q\200A\340\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t/\250a\330\010*\320*=\270X\300Q\300a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047@\300\001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0325\260Q\260a\260x\270y\310\006\310f\320TV\320V^\320^j\320jk\320kv\320vw\360\000\000x\001F\002\360\000\000F\002O\002\360\000\000O\002V\002\360\000\000V\002\\\002\360\000\000\\\002^\002\360\000\000^\002_\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ?\270y\310\014\320T]\320]_\320_f\320fh\320hi\330\010\017\210x\220|\2402\240X\250Q\200A\340\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036""\230o\250Q\250h\260a\360\n\000\t/\250a\330\010*\320*=\270X\300Q\300a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047@\300\001\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\0325\260Q\260a\260x\270y\310\006\310f\320TV\320V^\320^j\320jk\320kv\320vw\360\000\000x\001F\002\360\000\000F\002L\002\360\000\000L\002V\002\360\000\000V\002\\\002\360\000\000\\\002^\002\360\000\000^\002_\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ?\270y\310\014\320T]\320]_\320_f\320fh\320hi\330\010\017\210x\220|\2402\240X\250Q\200A\340\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t*\250\021\330\010%\240^\2608\2701\270A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047;\2701\330\014\026\320\026\047\240q\250\010\260\001\330\014\032\320\032+\2501\250H\260A\330\021\022\330\020\032\320\0320\260\001\260\021\260(\270)\3006\310\026\310r\320QY\320Ye\320ef\320fq\320qr\360\000\000s\001A\002\360\000\000A\002J\002\360\000\000J\002Q\002\360\000\000Q\002W\002\360\000\000W\002Y\002\360\000\000Y\002c\002\360\000\000c\002l\002\360\000\000l\002w\002\360\000\000w\002}\002\360\000\000}\002\177\002\360\000\000\177\002@\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 :\270)\300<\310y\320XZ\320Za\320ac\320cd\330\010\017\210y\230\014\240B\240h\250j\270\014\300B\300h\310a\200A\340\010!\240\035\250a\250q\330\010\035\230Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\014\000\t,\2501\330\010\047\320\0477\260x\270q\300\001\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047=\270Q\330\014\031\320\031*\250!\2508\2601\330\014\034\320\034-\250Q\250h""\260a\330\021\022\330\020\032\320\0322\260!\2601\260H\270I\300V\3106\320QS\320S[\320[g\320gh\320hs\320st\360\000\000u\001C\002\360\000\000C\002L\002\360\000\000L\002V\002\360\000\000V\002\\\002\360\000\000\\\002^\002\360\000\000^\002h\002\360\000\000h\002q\002\360\000\000q\002~\002\360\000\000~\002D\003\360\000\000D\003F\003\360\000\000F\003G\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 <\270I\300\\\320QZ\320Z\\\320\\c\320ce\320ef\330\010\017\210y\230\014\240B\240h\250m\270<\300r\310\030\320QR\200A\340\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t+\250!\330\010&\240o\260X\270Q\270a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047<\270A\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0321\260\021\260!\2608\2709\300F\310&\320PR\320RZ\320Zc\320ch\320hn\320np\320px\360\000\000y\001E\002\360\000\000E\002F\002\360\000\000F\002Q\002\360\000\000Q\002R\002\360\000\000R\002`\002\360\000\000`\002i\002\360\000\000i\002p\002\360\000\000p\002v\002\360\000\000v\002x\002\360\000\000x\002y\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ;\2709\300L\320PY\320Y[\320[b\320bd\320de\330\010\017\210x\220|\2402\240V\2507\260!\200A\340\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320U^""\320^c\320ci\320ik\320ks\320s|\360\000\000}\001D\002\360\000\000D\002J\002\360\000\000J\002L\002\360\000\000L\002T\002\360\000\000T\002`\002\360\000\000`\002a\002\360\000\000a\002l\002\360\000\000l\002m\002\360\000\000m\002{\002\360\000\000{\002D\003\360\000\000D\003K\003\360\000\000K\003Q\003\360\000\000Q\003S\003\360\000\000S\003T\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240V\2505\260\t\270\021\200A\340\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t)\250\001\330\010$\240M\260\030\270\021\270!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047:\270!\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032/\250q\260\001\260\030\270\031\300&\310\006\310b\320PX\320Xa\320af\320fl\320ln\320nv\320v\177\360\000\000@\002G\002\360\000\000G\002M\002\360\000\000M\002O\002\360\000\000O\002W\002\360\000\000W\002c\002\360\000\000c\002d\002\360\000\000d\002o\002\360\000\000o\002p\002\360\000\000p\002~\002\360\000\000~\002G\003\360\000\000G\003N\003\360\000\000N\003T\003\360\000\000T\003V\003\360\000\000V\003W\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 9\270\031\300,\310i\320WY\320Y`\320`b\320bc\330\010\017\210x\220|\2402\240V\2505\260\t\270\021\200A\340\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t+\250!\330\010&\240o\260X\270Q\270a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047<""\270A\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0321\260\021\260!\2608\2709\300F\310&\320PR\320RZ\320Zc\320ch\320hn\320np\320px\360\000\000y\001B\002\360\000\000B\002I\002\360\000\000I\002O\002\360\000\000O\002Q\002\360\000\000Q\002Y\002\360\000\000Y\002e\002\360\000\000e\002f\002\360\000\000f\002q\002\360\000\000q\002r\002\360\000\000r\002@\003\360\000\000@\003I\003\360\000\000I\003P\003\360\000\000P\003V\003\360\000\000V\003X\003\360\000\000X\003Y\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ;\2709\300L\320PY\320Y[\320[b\320bd\320de\330\010\017\210x\220|\2402\240V\2505\260\t\270\021\200A\340\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010#\240=\260\001\260\021\330\010\035\230X\240W\250I\260Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t%\240A\330\010 \240\t\250\030\260\021\260!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\240\177\260a\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032+\2501\250A\250X\260Y\270f\300F\310\"\310H\320T]\320]b\320bh\320hj\320jr\320r{\360\000\000|\001C\002\360\000\000C\002I\002\360\000\000I\002K\002\360\000\000K\002S\002\360\000\000S\002\\\002\360\000\000\\\002d\002\360\000\000d\002j\002\360\000\000j\002l\002\360\000\000l\002t\002\360\000\000t\002@\003\360\000\000@\003A\003\360\000\000A\003L\003\360\000\000L\003M\003\360\000\000M\003[\003\360\000\000[\003d\003\360\000\000d\003k\003\360\000\000k\003q\003\360\000\000q\003s\003\360\000\000s\003t\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 5\260Y\270l\310)\320SU\320U\\\320\\^\320^_\330\010\017\210x\220|\2402\240V\2505\260\007\260z\300\021\200A\340\010!\240\035\250a\250q""\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010#\240=\260\001\260\021\330\010\035\230X\240W\250I\260Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t\047\240a\330\010\"\240+\250X\260Q\260a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0478\270\001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032-\250Q\250a\250x\260y\300\006\300f\310B\310h\320V_\320_d\320dj\320jl\320lt\320t}\360\000\000~\001E\002\360\000\000E\002K\002\360\000\000K\002M\002\360\000\000M\002U\002\360\000\000U\002^\002\360\000\000^\002f\002\360\000\000f\002l\002\360\000\000l\002n\002\360\000\000n\002v\002\360\000\000v\002B\003\360\000\000B\003C\003\360\000\000C\003N\003\360\000\000N\003O\003\360\000\000O\003]\003\360\000\000]\003f\003\360\000\000f\003m\003\360\000\000m\003s\003\360\000\000s\003u\003\360\000\000u\003v\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 7\260y\300\014\310I\320UW\320W^\320^`\320`a\330\010\017\210x\220|\2402\240V\2505\260\007\260z\300\021\200A\340\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010#\240=\260\001\260\021\330\010\035\230X\240W\250A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t+\250!\330\010&\240o\260X\270Q\270a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047<\270A\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0321\260\021\260!\2608\2709\300F\310&\320PR\320RZ\320Zc\320ch\320hn\320np\320px\360\000\000y\001B\002\360\000\000B\002J\002\360\000\000J\002P\002\360\000\000P\002R\002\360\000\000R\002Z\002\360\000\000Z\002f\002\360\000\000f\002g\002\360\000\000g\002r\002\360\000\000r\002s\002\360\000\000s\002A\003\360\000\000A\003J\003\360\000\000J\003Q\003\360\000\000Q\003W\003\360\000\000W\003Y\003\360\000\000Y\003Z\003\330""\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ;\2709\300L\320PY\320Y[\320[b\320bd\320de\330\010\017\210x\220|\2402\240V\2505\260\n\270!\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320U^\320^d\320dj\320jl\320lt\320t}\360\000\000~\001C\002\360\000\000C\002I\002\360\000\000I\002K\002\360\000\000K\002S\002\360\000\000S\002\\\002\360\000\000\\\002c\002\360\000\000c\002i\002\360\000\000i\002k\002\360\000\000k\002s\002\360\000\000s\002\177\002\360\000\000\177\002@\003\360\000\000@\003K\003\360\000\000K\003L\003\360\000\000L\003Z\003\360\000\000Z\003c\003\360\000\000c\003j\003\360\000\000j\003p\003\360\000\000p\003r\003\360\000\000r\003s\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t*\250\021\330\010%\240^\2608\2701\270A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047;\2701\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\0320\260\001\260\021\260(\270)\3006\310\026\310r\320QY\320Yb\320bh\320hn\320np\320px\360\000\000y\001B""\002\360\000\000B\002G\002\360\000\000G\002M\002\360\000\000M\002O\002\360\000\000O\002W\002\360\000\000W\002`\002\360\000\000`\002g\002\360\000\000g\002m\002\360\000\000m\002o\002\360\000\000o\002w\002\360\000\000w\002C\003\360\000\000C\003D\003\360\000\000D\003O\003\360\000\000O\003P\003\360\000\000P\003^\003\360\000\000^\003d\003\360\000\000d\003n\003\360\000\000n\003t\003\360\000\000t\003v\003\360\000\000v\003w\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 :\270)\300<\310y\320XZ\320Za\320ac\320cd\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t+\250!\330\010&\240o\260X\270Q\270a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047<\270A\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\0321\260\021\260!\2608\2709\300F\310&\320PR\320RZ\320Zc\320ci\320io\320oq\320qy\360\000\000z\001C\002\360\000\000C\002H\002\360\000\000H\002N\002\360\000\000N\002P\002\360\000\000P\002X\002\360\000\000X\002a\002\360\000\000a\002h\002\360\000\000h\002n\002\360\000\000n\002p\002\360\000\000p\002x\002\360\000\000x\002D\003\360\000\000D\003E\003\360\000\000E\003P\003\360\000\000P\003Q\003\360\000\000Q\003_\003\360\000\000_\003h\003\360\000\000h\003o\003\360\000\000o\003u\003\360\000\000u\003w\003\360\000\000w\003x\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ;\2709\300L\320PY\320Y[\320[b\320bd\320de\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010""\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t,\2501\330\010\047\320\0477\260x\270q\300\001\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047=\270Q\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\0322\260!\2601\260H\270I\300V\3106\320QS\320S[\320[d\320dj\320jp\320pr\320rz\360\000\000{\001D\002\360\000\000D\002I\002\360\000\000I\002O\002\360\000\000O\002Q\002\360\000\000Q\002Y\002\360\000\000Y\002b\002\360\000\000b\002i\002\360\000\000i\002o\002\360\000\000o\002q\002\360\000\000q\002y\002\360\000\000y\002E\003\360\000\000E\003F\003\360\000\000F\003Q\003\360\000\000Q\003R\003\360\000\000R\003`\003\360\000\000`\003f\003\360\000\000f\003p\003\360\000\000p\003v\003\360\000\000v\003x\003\360\000\000x\003y\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 <\270I\300\\\320QZ\320Z\\\320\\c\320ce\320ef\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t-\250A\330\010(\320(9\270\030\300\021\300!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047>\270a\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\0323\2601\260A\260X\270Y\300f\310F\320RT\320T\\\320\\e\320ek\320kq\320qs\320s{\360\000\000|\001E\002\360\000\000E\002J\002\360\000\000J\002P\002\360\000\000P\002R\002\360\000\000R\002Z\002\360\000\000Z\002c\002\360\000\000c\002j\002\360\000\000j\002p\002\360\000\000p\002r\002\360\000\000r\002z\002\360\000\000z\002F\003\360\000\000F\003G\003\360\000\000G\003R\003\360\000\000R\003S\003\360\000\000S\003a\003\360\000\000a\003g\003""\360\000\000g\003q\003\360\000\000q\003w\003\360\000\000w\003y\003\360\000\000y\003z\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 =\270Y\300l\320R[\320[]\320]d\320df\320fg\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t.\250Q\330\010)\320);\2708\3001\300A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047?\270q\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\0324\260A\260Q\260h\270i\300v\310V\320SU\320U]\320]f\320fl\320lr\320rt\320t|\360\000\000}\001F\002\360\000\000F\002K\002\360\000\000K\002Q\002\360\000\000Q\002S\002\360\000\000S\002[\002\360\000\000[\002d\002\360\000\000d\002k\002\360\000\000k\002q\002\360\000\000q\002s\002\360\000\000s\002{\002\360\000\000{\002G\003\360\000\000G\003H\003\360\000\000H\003S\003\360\000\000S\003T\003\360\000\000T\003b\003\360\000\000b\003h\003\360\000\000h\003r\003\360\000\000r\003x\003\360\000\000x\003z\003\360\000\000z\003{\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 >\270i\300|\320S\\\320\\^\320^e\320eg\320gh\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t/\250a\330\010*\320*=\270X\300Q\300a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047@\300\001\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032""\320\0325\260Q\260a\260x\270y\310\006\310f\320TV\320V^\320^g\320gm\320ms\320su\320u}\360\000\000~\001G\002\360\000\000G\002L\002\360\000\000L\002R\002\360\000\000R\002T\002\360\000\000T\002\\\002\360\000\000\\\002e\002\360\000\000e\002l\002\360\000\000l\002r\002\360\000\000r\002t\002\360\000\000t\002|\002\360\000\000|\002H\003\360\000\000H\003I\003\360\000\000I\003T\003\360\000\000T\003U\003\360\000\000U\003c\003\360\000\000c\003i\003\360\000\000i\003s\003\360\000\000s\003y\003\360\000\000y\003{\003\360\000\000{\003|\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 ?\270y\310\014\320T]\320]_\320_f\320fh\320hi\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t0\250q\330\010+\320+?\270x\300q\310\001\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047A\300\021\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\0326\260a\260q\270\010\300\t\310\026\310v\320UW\320W_\320_h\320hn\320nt\320tv\320v~\360\000\000\177\001H\002\360\000\000H\002M\002\360\000\000M\002S\002\360\000\000S\002U\002\360\000\000U\002]\002\360\000\000]\002f\002\360\000\000f\002m\002\360\000\000m\002s\002\360\000\000s\002u\002\360\000\000u\002}\002\360\000\000}\002I\003\360\000\000I\003J\003\360\000\000J\003U\003\360\000\000U\003V\003\360\000\000V\003d\003\360\000\000d\003j\003\360\000\000j\003t\003\360\000\000t\003z\003\360\000\000z\003|\003\360\000\000|\003}\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 @\300\t\310\034\320U^\320^`\320`g\320gi\320ij\330\010\017\210x\220|\2402""\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t1\260\001\330\010,\320,A\300\030\310\021\310!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047B\300!\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\0327\260q\270\001\270\030\300\031\310&\320PV\320VX\320X`\320`i\320io\320ou\320uw\320w\177\360\000\000@\002I\002\360\000\000I\002N\002\360\000\000N\002T\002\360\000\000T\002V\002\360\000\000V\002^\002\360\000\000^\002g\002\360\000\000g\002n\002\360\000\000n\002t\002\360\000\000t\002v\002\360\000\000v\002~\002\360\000\000~\002J\003\360\000\000J\003K\003\360\000\000K\003V\003\360\000\000V\003W\003\360\000\000W\003e\003\360\000\000e\003k\003\360\000\000k\003u\003\360\000\000u\003{\003\360\000\000{\003}\003\360\000\000}\003~\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 A\300\031\310,\320V_\320_a\320ah\320hj\320jk\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t2\260\021\330\010-\320-C\3008\3101\310A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047C\3001\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\0328\270\001\270\021\270(\300)\3106\320QW\320WY\320Ya\320aj\320jp\320pv\320vx\360\000\000y\001A\002\360\000\000A\002J\002\360\000\000J\002O\002\360\000\000O\002U\002\360\000\000U\002W\002\360\000\000W\002_\002\360\000\000_\002h\002\360\000\000h\002o\002\360\000\000o\002u\002\360\000\000u\002w\002\360""\000\000w\002\177\002\360\000\000\177\002K\003\360\000\000K\003L\003\360\000\000L\003W\003\360\000\000W\003X\003\360\000\000X\003f\003\360\000\000f\003l\003\360\000\000l\003v\003\360\000\000v\003|\003\360\000\000|\003~\003\360\000\000~\003\177\003\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 B\300)\310<\320W`\320`b\320bi\320ik\320kl\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t3\260!\330\010.\320.E\300X\310Q\310a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047D\300A\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\0329\270\021\270!\2708\3009\310F\320RX\320XZ\320Zb\320bk\320kq\320qw\320wy\360\000\000z\001B\002\360\000\000B\002K\002\360\000\000K\002P\002\360\000\000P\002V\002\360\000\000V\002X\002\360\000\000X\002`\002\360\000\000`\002i\002\360\000\000i\002p\002\360\000\000p\002v\002\360\000\000v\002x\002\360\000\000x\002@\003\360\000\000@\003L\003\360\000\000L\003M\003\360\000\000M\003X\003\360\000\000X\003Y\003\360\000\000Y\003g\003\360\000\000g\003m\003\360\000\000m\003w\003\360\000\000w\003}\003\360\000\000}\003\177\003\360\000\000\177\003@\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 C\3009\310L\320Xa\320ac\320cj\320jl\320lm\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t4""\2601\330\010/\320/G\300x\310q\320PQ\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047E\300Q\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\032:\270!\2701\270H\300I\310V\320SY\320Y[\320[c\320cl\320lr\320rx\320xz\360\000\000{\001C\002\360\000\000C\002L\002\360\000\000L\002Q\002\360\000\000Q\002W\002\360\000\000W\002Y\002\360\000\000Y\002a\002\360\000\000a\002j\002\360\000\000j\002q\002\360\000\000q\002w\002\360\000\000w\002y\002\360\000\000y\002A\003\360\000\000A\003M\003\360\000\000M\003N\003\360\000\000N\003Y\003\360\000\000Y\003Z\003\360\000\000Z\003h\003\360\000\000h\003n\003\360\000\000n\003x\003\360\000\000x\003~\003\360\000\000~\003@\004\360\000\000@\004A\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 D\300I\310\\\320Yb\320bd\320dk\320km\320mn\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t5\260A\330\0100\3200I\310\030\320QR\320RS\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047F\300a\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\032;\2701\270A\270X\300Y\310f\320TZ\320Z\\\320\\d\320dm\320ms\320sy\320y{\360\000\000|\001D\002\360\000\000D\002M\002\360\000\000M\002R\002\360\000\000R\002X\002\360\000\000X\002Z\002\360\000\000Z\002b\002\360\000\000b\002k\002\360\000\000k\002r\002\360\000\000r\002x\002\360\000\000x\002z\002\360\000\000z\002B\003\360\000\000B\003N\003\360\000\000N\003O\003\360\000\000O\003Z\003\360\000\000Z\003[\003\360\000\000[\003i\003\360\000\000i\003o\003\360\000\000o\003y\003\360\000\000y\003\177\003\360\000\000\177\003A\004\360\000\000A\004B\004\330\020\023\2208\2303\230a\330\024\032""\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 E\300Y\310l\320Zc\320ce\320el\320ln\320no\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t6\260Q\330\0101\3201K\3108\320ST\320TU\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\047G\300q\330\014\031\230\036\240q\250\010\260\001\330\021\022\330\020\032\320\032<\270A\270Q\270h\300i\310v\320U[\320[]\320]e\320en\320nt\320tz\320z|\360\000\000}\001E\002\360\000\000E\002N\002\360\000\000N\002S\002\360\000\000S\002Y\002\360\000\000Y\002[\002\360\000\000[\002c\002\360\000\000c\002l\002\360\000\000l\002s\002\360\000\000s\002y\002\360\000\000y\002{\002\360\000\000{\002C\003\360\000\000C\003O\003\360\000\000O\003P\003\360\000\000P\003[\003\360\000\000[\003\\\003\360\000\000\\\003j\003\360\000\000j\003p\003\360\000\000p\003z\003\360\000\000z\003@\004\360\000\000@\004B\004\360\000\000B\004C\004\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 F\300i\310|\320[d\320df\320fm\320mo\320op\330\010\017\210x\220|\2402\240V\2506\260\025\260i\270q\200A\340\010!\240\035\250a\250q\330\010!\240\035\250a\250q\330\010 \240\r\250Q\250a\330\010\"\240-\250q\260\001\330\010\035\230X\240X\250W\260A\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\020\000\t%\240A\330\010 \240\t\250\030\260\021\260!\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\240\177\260a\330\014\030\320\030)\250\021\250(\260!\330\014\030\320\030)\250\021\250(\260!\330\014\027\320\027(\250\001\250\030\260\021\330\014\031\320\031*\250!\2508\2601\330\021\022""\330\020\032\320\032+\2501\250A\250X\260Y\270f\300F\310\"\310H\320T]\320]c\320ci\320ik\320ks\320s|\360\000\000}\001B\002\360\000\000B\002H\002\360\000\000H\002J\002\360\000\000J\002R\002\360\000\000R\002[\002\360\000\000[\002b\002\360\000\000b\002h\002\360\000\000h\002j\002\360\000\000j\002r\002\360\000\000r\002~\002\360\000\000~\002\177\002\360\000\000\177\002J\003\360\000\000J\003K\003\360\000\000K\003Y\003\360\000\000Y\003b\003\360\000\000b\003k\003\360\000\000k\003q\003\360\000\000q\003s\003\360\000\000s\003}\003\360\000\000}\003F\004\360\000\000F\004O\004\360\000\000O\004U\004\360\000\000U\004W\004\360\000\000W\004a\004\360\000\000a\004j\004\360\000\000j\004r\004\360\000\000r\004x\004\360\000\000x\004z\004\360\000\000z\004D\005\360\000\000D\005M\005\360\000\000M\005W\005\360\000\000W\005]\005\360\000\000]\005_\005\360\000\000_\005`\005\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 5\260Y\270l\310)\320SU\320U\\\320\\^\320^_\330\010\017\210y\230\014\240B\240f\250F\260%\260y\300\014\310L\320XZ\320Z`\320`f\320fk\320kt\360\000\000u\001A\002\360\000\000A\002M\002\360\000\000M\002O\002\360\000\000O\002U\002\360\000\000U\002[\002\360\000\000[\002`\002\360\000\000`\002i\002\360\000\000i\002t\002\360\000\000t\002@\003\360\000\000@\003B\003\360\000\000B\003H\003\360\000\000H\003N\003\360\000\000N\003S\003\360\000\000S\003\\\003\360\000\000\\\003]\003\200A\340\010!\240\035\250a\250q\330\010#\240=\260\001\260\021\330\010\035\230X\240Q\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270v\300V\3102\310X\320U^\320^f\320fl\320ln\320nv\360\000\000w\001C\002\360\000\000C\002D\002\360\000\000D""\002O\002\360\000\000O\002P\002\360\000\000P\002^\002\360\000\000^\002g\002\360\000\000g\002n\002\360\000\000n\002t\002\360\000\000t\002v\002\360\000\000v\002w\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240V\250:\260Q\200A\340\010\"\240-\250q\260\001\330\010\"\240-\250q\260\001\330\010\035\230Y\240a\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270w\300f\310B\310h\320V_\320_f\320fl\320ln\320nv\360\000\000w\001C\002\360\000\000C\002D\002\360\000\000D\002O\002\360\000\000O\002P\002\360\000\000P\002^\002\360\000\000^\002g\002\360\000\000g\002n\002\360\000\000n\002t\002\360\000\000t\002v\002\360\000\000v\002w\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240W\250I\260Q\200A\340\010\"\240-\250q\260\001\330\010\"\240-\250q\260\001\330\010\035\230Y\240a\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t\047\240a\330\010\"\240+\250X\260Q\260a\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0478\270\001\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032-\250Q\250a\250x\260y\300\007\300v\310R\310x\320W`\320`g\320gm\320mo\320ow\360\000\000x\001D\002\360\000\000D\002E\002\360\000\000E\002P\002\360\000\000P\002Q\002\360\000\000Q\002_\002\360\000\000_\002h\002\360\000\000h\002o\002\360\000\000o\002u\002\360\000\000u\002w\002\360\000""\000w\002x\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 7\260y\300\014\310I\320UW\320W^\320^`\320`a\330\010\017\210x\220|\2402\240W\250I\260Q\200A\340\010\"\240-\250q\260\001\330\010#\240=\260\001\260\021\330\010\035\230Y\240a\330\010\"\240,\250a\250q\330\010\032\230,\240a\240x\250q\330\010\036\230o\250Q\250h\260a\360\n\000\t&\240Q\330\010!\240\032\2508\2601\260A\340\010\030\230\001\330\010\t\330\021\022\330\020\033\2307\240%\320\0477\260q\330\014\026\320\026\047\240q\250\010\260\001\330\021\022\330\020\032\320\032,\250A\250Q\250h\260i\270w\300f\310B\310h\320V_\320_g\320gm\320mo\320ow\360\000\000x\001D\002\360\000\000D\002E\002\360\000\000E\002P\002\360\000\000P\002Q\002\360\000\000Q\002_\002\360\000\000_\002h\002\360\000\000h\002o\002\360\000\000o\002u\002\360\000\000u\002w\002\360\000\000w\002x\002\330\020\023\2208\2303\230a\330\024\032\230+\240W\250A\330\024\032\230+\240Q\330\024)\250\021\340\021\022\330\020\034\230A\330\010\013\2108\2203\220a\330\014\037\230q\320 6\260i\270|\3109\320TV\320V]\320]_\320_`\330\010\017\210x\220|\2402\240W\250J\260a\200A\340\r\016\330\014\027\220\177\240a\330\010\013\2104\210q\330\014\022\220,\230a\230q\200A\360\010\000\t\021\220\004\220A\330\010\013\320\013\035\230W\240A\330\014\020\220\n\230!\2305\240\017\250q\330\014\023\2205\230\r\240V\2501\340\014\023\2205\230\r\240U\250!\200A\360\010\000\t\021\220\004\220A\330\010\014\210L\320\030(\250\013\2606\270\021\330\014\021\220\034\230Q\230k\250\021\320*<\270A\330\014\021\220\025\220a\220~\240Q\240n\260A\330\010\r\320\r\036\230a\200A\360\010\000\t\021\220\004\220A\330\010\016\210k\230\021\330\010\014\210M\230\025\230a\330\014\017\210q\220\r\230T\320!7\260q\270\001\330\010\017\210q\200A\360\010\000\t\021\220\004\220A\330\010\020\220\005\220[\240\001\240\033\250A\250Q\330\010\013\2106\220\023\220A\330\014\024\220E\230\033\240A\240[\260\001\260\021\330\010\017""\210q\200A\360\010\000\t\021\220\004\220A\330\010\026\220a\340\010\014\210G\2201\330\014\017\210t\2203\220e\2301\330\020\030\230\006\230a\230q\330\020\023\2204\320\027/\250q\260\005\260Q\330\024\031\230\033\240A\240T\250\021\250+\260V\2701\270A\330\024\"\240!\330\021\025\220S\230\005\230Q\330\020\025\220\\\240\021\240$\240a\320\0479\270\026\270q\300\001\330\020\025\220U\230!\230>\250\021\250\047\260\026\260q\270\001\340\010\013\2101\330\014\031\230\021\330\014\017\210t\320\023$\240A\240T\250\021\250!\330\020\035\230Q\330\014\017\210s\220!\2206\230\022\2301\330\020\024\220C\220~\240Y\250a\250u\260A\330\024\031\230\021\330\024\027\220r\230\022\2303\230a\230q\330\030 \240\004\240A\240Q\330\030\033\2304\320\0377\260q\270\014\300A\330\034!\240\033\250A\250[\270\001\270\033\300A\330\034*\250!\340\010\013\2105\220\003\2201\330\014\017\210q\330\020\025\220U\230!\320\033+\2504\250q\330\014\021\320\021\"\240!\200A\360\n\000\t\017\210d\220(\230(\240%\240q\330\010\013\2104\210z\230\021\230%\230q\330\014\022\220$\220a\220q\330\010\017\210q\200A\360\n\000\t\020\210t\2208\2305\240\001\240\021\200A\360\n\000\t\020\210t\2208\2305\240\001\240\037\260\005\260Q\200A\360\n\000\t\020\210t\2208\2305\240\005\240Q\200A\360\n\000\t\021\220\004\220A\330\010\016\210k\230\021\330\010\014\210N\230%\230q\330\014\017\210q\220\016\230e\240<\250q\260\013\2701\270A\330\010\017\210q\200A\360\014\000\t\021\220\004\220A\340\010\021\320\021&\240a\240t\2501\330\010\014\210C\210}\230I\240Q\240e\2501\330\014\024\220D\320\030.\250a\250q\330\014\024\220E\230\033\240A\240Z\250q\260\001\330\014\017\210v\220V\320\0332\260#\260V\2706\300\021\330\020)\250\021\250(\260#\260Q\330\021\027\220v\320\0357\260s\270&\300\006\300a\330\020,\250A\250X\260S\270\001\340\010\t\330\014\027\320\027\047\240q\250\001\340\014 \240\001\240\021\330\010\017\210q\200A\360\016\000\t\021\220\004\220A\330\010\013\2104\210u\220A\330\014\020\320\020 \240\001\330\010\016\210e\2208\2307\240!\330\010\013\2104\210z\230\021\230%\230q\330\014\022""\220$\220a\220q\330\010\013\320\013\035\230W\240E\250\021\330\020\032\230!\2305\240\017\250q\330\014\024\220E\230\035\240a\330\014\017\210s\220!\2205\230\003\2301\330\020\027\220~\240Q\240c\250\021\250$\250f\260A\340\020\027\320\027(\250\001\250\025\250m\2701\270A\330)/\250q\330)1\260\024\260Q\330\r\037\230w\240e\2501\330\020\032\230!\2305\240\017\250q\330\014\017\210s\220!\2205\230\003\2301\330\020\027\220~\240Q\240c\250\021\250!\340\020\027\320\027(\250\001\250\025\250m\2701\270A\330)0\260\004\260A\340\014\023\2203\220a\220v\230S\240\001\240\025\240c\250\027\260\001\200A\360\016\000\t\021\220\004\220A\340\010\033\2302\230\\\250\025\250k\270\021\270+\300Q\300a\330\034 \240\016\250e\260;\270e\3001\330\010#\2402\240S\250\005\250\\\270\021\270\"\270A\270Q\330$(\250\005\250U\260!\360\006\000\t\020\210t\2201\220A\330\010\027\220q\330\010#\2404\320\047B\300!\330\010\013\2105\220\004\220D\230\n\240!\2404\240q\250\004\250A\330\014\020\220\003\2207\230)\2401\240A\330\020\023\2204\220z\240\021\240%\240q\330\024\025\340\020\021\330\024 \240\001\320!9\270\021\270&\300\001\330\027\030\330\024\032\320\032G\300q\330\030\033\2301\230A\330\030\034\230E\240\021\240!\330\024\032\230)\2401\240A\340\010\013\320\013\035\230W\240A\330\020\024\220J\230a\230u\240O\2601\330\014\047\240u\250M\270\021\330\r\037\230w\240a\330\020\024\220J\230a\230u\240O\2601\330\014\047\240u\250M\270\031\300!\340\014\047\240t\2504\250q\260\005\260Q\340\010\013\2103\210a\210~\230S\240\003\2401\240A\330\014\020\320\020!\240\021\240!\330\014\023\2204\220q\230\003\2301\230A\330\r\020\220\001\220\036\230t\320#<\270A\330\020\024\220C\220q\230\006\230c\240\024\240Z\250q\260\004\260A\260T\270\021\330\014\022\320\022A\300\021\330\020\023\2201\220A\330\020\024\220E\230\021\230!\330\014\022\220)\2301\230A\340\010\014\320\014\036\230b\240\010\250\001\330\010\014\320\014\034\230A\360\006\000\t\r\210L\230\t\240\021\330\014\021\220\033\230A\230[\250\001\250\033\260A\330\010\r\210U\220!\320\023#\2404\240q\360\006\000\t\r\210L""\230\t\240\021\330\014\021\220\034\230Q\230k\250\021\320*<\270A\330\014\021\220\025\220a\220~\240Q\240n\260A\340\010\017\210t\2201\200A\3602\000\t\021\220\004\220A\330\010\013\210:\220Q\220n\240A\330\014\033\2301\330\014\020\220\007\220t\320\0336\260a\330\020\023\320\023%\240W\250A\330\024\030\230\n\240!\240>\260\021\330\024\036\230d\240\047\250\034\260Q\340\024\036\230d\240\047\250\021\330\020\023\2201\330\024 \240\007\240q\250\001\330\014\017\210s\220!\220>\240\023\240A\330\020\025\320\025%\240Q\330\020\025\320\025&\240a\330\020\027\220q\340\020\026\220i\230q\240\001\330/6\260c\270\021\270.\310\002\310!\3309:\33004\260E\270\021\270!\330\010\017\210q\200N\220!\360\016\000\t\014\2101\330\014\020\320\020!\240\021\240!\330\010\014\320\014\034\230A\330\010\017\210t\2201\320\000\021\220\021\330\004\005\360\006\000\n\013\330\010\023\220?\240!\330\004\007\200t\2101\330\010\013\2101\360\006\000\r\016\330\010\016\210l\230!\2301\330\004\005\330\010\013\2101\330\021\022\330\020\036\230l\250!\330\014\035\230Q\230o\250Q\330\014\036\230a\340\r\016\330\014\031\230\021\320\004\035\230Q\360\010\000\t\021\220\004\220A\330\010\025\220[\240\003\2401\330\010\022\220\047\230\021\230!\330\010\014\210G\2209\230J\240f\250A\330\014\017\210t\320\023+\2501\250G\2601\330\020\025\220[\240\001\240\026\240q\250\013\2601\330\010\r\320\r\036\230a\330\010\r\210U\220!\320\023#\2404\240q"; - #endif - PyObject *data = NULL; - #define __Pyx_DecompressString_UNUSED - #define __Pyx_DecompressString_LZSS_UNUSED - #endif - PyObject **stringtab = __pyx_mstate->__pyx_string_tab; - Py_ssize_t pos = 0; - for (int i = 0; i < 2597; i++) { - Py_ssize_t bytes_length = str_length_index[i].length; - PyObject *string = PyUnicode_DecodeUTF8(bytes + pos, bytes_length, NULL); - if (likely(string) && i >= 131) PyUnicode_InternInPlace(&string); - if (unlikely(!string)) { - Py_XDECREF(data); - __PYX_ERR(0, 1, __pyx_L1_error) - } - stringtab[i] = string; - pos += bytes_length; - } - for (int i = 2597; i < 2876; i++) { - Py_ssize_t bytes_length = bytes_length_index[i-2597].length; - PyObject *string = PyBytes_FromStringAndSize(bytes + pos, bytes_length); - stringtab[i] = string; - pos += bytes_length; - if (unlikely(!string)) { - Py_XDECREF(data); - __PYX_ERR(0, 1, __pyx_L1_error) - } - } - Py_XDECREF(data); - for (Py_ssize_t i = 0; i < 2876; i++) { - if (unlikely(PyObject_Hash(stringtab[i]) == -1)) { - __PYX_ERR(0, 1, __pyx_L1_error) - } - } - #if CYTHON_IMMORTAL_CONSTANTS - { - PyObject **table = stringtab + 2597; - for (Py_ssize_t i=0; i<279; ++i) { - #if PY_VERSION_HEX >= 0x030F0000 - PyUnstable_SetImmortal(table[i]); - #elif CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - if ((PY_SSIZE_T_MAX <= _Py_IMMORTAL_REFCNT_LOCAL)) break; - #if PY_VERSION_HEX < 0x030E0000 - if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1) - #else - if (PyUnstable_Object_IsUniquelyReferenced(table[i])) - #endif - { - Py_SET_REFCNT(table[i], ((Py_ssize_t)_Py_IMMORTAL_REFCNT_LOCAL + 1)); - } - #else - if ((PY_SSIZE_T_MAX < _Py_IMMORTAL_INITIAL_REFCNT)) break; - Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT); - #endif - } - } - #endif - } - { - PyObject **numbertab = __pyx_mstate->__pyx_number_tab; - double const c_constants[] = {0.2,0.3,0.5,3.0,0.02,-4e37,50.0}; - for (int i = 0; i < 7; i++) { - numbertab[i] = PyFloat_FromDouble(c_constants[i]); - if (unlikely(!numbertab[i])) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - { - PyObject **numbertab = __pyx_mstate->__pyx_number_tab + 7; - int8_t const cint_constants_1[] = {0,-1,1,2,3,4,8,12,13,14,16,32,64}; - int16_t const cint_constants_2[] = {128,256,512,1024,2048,4096,8192}; - int32_t const cint_constants_4[] = {16777216L,33554432L,67108864L,134217728L,238750788L,268435456L,536870912L,1073741824L}; - int64_t const cint_constants_8[] = {-2147483648LL}; - for (int i = 0; i < 29; i++) { - numbertab[i] = PyLong_FromLongLong((i < 13 ? cint_constants_1[i - 0] : (i < 20 ? cint_constants_2[i - 13] : (i < 28 ? cint_constants_4[i - 20] : cint_constants_8[i - 28])))); - if (unlikely(!numbertab[i])) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - #if CYTHON_IMMORTAL_CONSTANTS - { - PyObject **table = __pyx_mstate->__pyx_number_tab; - for (Py_ssize_t i=0; i<36; ++i) { - #if PY_VERSION_HEX >= 0x030F0000 - PyUnstable_SetImmortal(table[i]); - #elif CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - if ((PY_SSIZE_T_MAX <= _Py_IMMORTAL_REFCNT_LOCAL)) break; - #if PY_VERSION_HEX < 0x030E0000 - if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1) - #else - if (PyUnstable_Object_IsUniquelyReferenced(table[i])) - #endif - { - Py_SET_REFCNT(table[i], ((Py_ssize_t)_Py_IMMORTAL_REFCNT_LOCAL + 1)); - } - #else - if ((PY_SSIZE_T_MAX < _Py_IMMORTAL_INITIAL_REFCNT)) break; - Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT); - #endif - } - } - #endif - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: init_codeobjects ### */ -#ifdef __cplusplus -namespace { -#endif -typedef struct { - unsigned int argcount : 4; - unsigned int num_posonly_args : 1; - unsigned int num_kwonly_args : 1; - unsigned int nlocals : 5; - unsigned int flags : 10; - unsigned int first_line : 15; -} __Pyx_PyCode_New_function_description; -#ifdef __cplusplus -} /* anonymous namespace */ -#endif -/* NewCodeObj.proto */ -static PyObject* __Pyx_PyCode_New( - const __Pyx_PyCode_New_function_description descr, - PyObject * const *varnames, - PyObject *filename, - PyObject *funcname, - PyObject *line_table, - PyObject *tuple_dedup_map -); - - -static int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate) { - PyObject* tuple_dedup_map = PyDict_New(); - if (unlikely(!tuple_dedup_map)) return -1; - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 62}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self}; - __pyx_mstate_global->__pyx_codeobj_tab[0] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_enter, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[0])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS), 65}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_args}; - __pyx_mstate_global->__pyx_codeobj_tab[1] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_exit, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_2, __pyx_mstate->__pyx_n_u_use_setstate}; - __pyx_mstate_global->__pyx_codeobj_tab[2] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_q_l_vWE_Q_q_q_q_d_7_WA_d_7_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[2])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state}; - __pyx_mstate_global->__pyx_codeobj_tab[3] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_1F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[3])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 70}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_acquired}; - __pyx_mstate_global->__pyx_codeobj_tab[4] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_enter, __pyx_mstate->__pyx_kp_b_iso88591_A_a_4q_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[4])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS), 77}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_args}; - __pyx_mstate_global->__pyx_codeobj_tab[5] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_exit, __pyx_mstate->__pyx_kp_b_iso88591_A_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[5])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_2, __pyx_mstate->__pyx_n_u_use_setstate}; - __pyx_mstate_global->__pyx_codeobj_tab[6] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_q_l_vWE_Q_q_q_q_t1G_gQ_t1G_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[6])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state}; - __pyx_mstate_global->__pyx_codeobj_tab[7] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_AV1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[7])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 88}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_function_name, __pyx_mstate->__pyx_n_u_ret_code}; - __pyx_mstate_global->__pyx_codeobj_tab[8] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_ta_check_success, __pyx_mstate->__pyx_kp_b_iso88591_y_1_q_Q_a_Q_a_Q_a_Q_a_Q_a_Q_a_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[8])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 135}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ret_code}; - __pyx_mstate_global->__pyx_codeobj_tab[9] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_ta_initialize, __pyx_mstate->__pyx_kp_b_iso88591_q_4q_nA_Q_q_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[9])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 145}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_at_exit, __pyx_mstate->__pyx_n_u_ret_code, __pyx_mstate->__pyx_n_u_acquired}; - __pyx_mstate_global->__pyx_codeobj_tab[10] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_ta_shutdown, __pyx_mstate->__pyx_kp_b_iso88591_t1_1_l_1_1_l_QoQ_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[10])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 171}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self}; - __pyx_mstate_global->__pyx_codeobj_tab[11] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_init, __pyx_mstate->__pyx_kp_b_iso88591_A_A_6_6_6_7_7_81_7_7_5_6_a_Q_81, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[11])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 189}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_type}; - __pyx_mstate_global->__pyx_codeobj_tab[12] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_getitem, __pyx_mstate->__pyx_kp_b_iso88591_A_t81A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[12])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 238}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_name}; - __pyx_mstate_global->__pyx_codeobj_tab[13] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_ta_func_unst_id, __pyx_mstate->__pyx_kp_b_iso88591_uCq_Q_1A_1_q_AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[13])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 247}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_period, __pyx_mstate->__pyx_n_u_ret_code, __pyx_mstate->__pyx_n_u_id, __pyx_mstate->__pyx_n_u_c_period, __pyx_mstate->__pyx_n_u_unst_id}; - __pyx_mstate_global->__pyx_codeobj_tab[14] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_ta_set_unstable_period, __pyx_mstate->__pyx_kp_b_iso88591_aq_xs_q_q_q_A_Q_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[14])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 261}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_period, __pyx_mstate->__pyx_n_u_id, __pyx_mstate->__pyx_n_u_unst_id}; - __pyx_mstate_global->__pyx_codeobj_tab[15] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_ta_get_unstable_period, __pyx_mstate->__pyx_kp_b_iso88591_aq_xs_q_a_Qa_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[15])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 273}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_ret_code, __pyx_mstate->__pyx_n_u_c_value}; - __pyx_mstate_global->__pyx_codeobj_tab[16] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_ta_set_compatibility, __pyx_mstate->__pyx_kp_b_iso88591_q_q_aq_Q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[16])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 281}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_value}; - __pyx_mstate_global->__pyx_codeobj_tab[17] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_ta_get_compatibility, __pyx_mstate->__pyx_kp_b_iso88591_a_1_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[17])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 300}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_settingtype, __pyx_mstate->__pyx_n_u_rangetype, __pyx_mstate->__pyx_n_u_avgperiod, __pyx_mstate->__pyx_n_u_factor, __pyx_mstate->__pyx_n_u_ret_code}; - __pyx_mstate_global->__pyx_codeobj_tab[18] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_ta_set_candle_settings, __pyx_mstate->__pyx_kp_b_iso88591_q_q_ST_Q_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[18])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 307}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_settingtype, __pyx_mstate->__pyx_n_u_ret_code}; - __pyx_mstate_global->__pyx_codeobj_tab[19] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__common_pxi, __pyx_mstate->__pyx_n_u_ta_restore_candle_default_setti, __pyx_mstate->__pyx_kp_b_iso88591_q_1_Q_9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[19])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 144}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_signalperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[20] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_AC, __pyx_mstate->__pyx_kp_b_iso88591_UUmmn_aq_Qa_6_wc_A_axz_XZs_U_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[20])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 188}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outrealupperband, __pyx_mstate->__pyx_n_u_outrealmiddleband, __pyx_mstate->__pyx_n_u_outreallowerband}; - __pyx_mstate_global->__pyx_codeobj_tab[21] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ACCBANDS, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_D_9_TARRSSVVW, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[21])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 237}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[22] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ACOS, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[22])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 276}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[23] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_AD, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_Kq_6_gQ_wc_A_axz_XZs_R_aa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[23])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 318}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real0, __pyx_mstate->__pyx_n_u_real1, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[24] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ADD, __pyx_mstate->__pyx_kp_b_iso88591_Kq_Kq_7_wc_A_axz_hj_Q_U_7_A_A_w, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[24])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 359}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[25] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ADOSC, __pyx_mstate->__pyx_kp_b_iso88591_z_R_R_S_aq_Qa_Kq_6_gQ_wc_A_axz, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[25])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 404}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[26] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ADR, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_6_wc_A_axz_XZs_U_7_A_A_we, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[26])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 446}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[27] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ADX, __pyx_mstate->__pyx_kp_b_iso88591_Z_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[27])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 489}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[28] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ADXR, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_aab, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[28])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 532}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[29] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_AO, __pyx_mstate->__pyx_kp_b_iso88591_UUV_aq_Qa_6_wc_A_axz_XZs_U_7_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[29])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 575}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_matype, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[30] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_APO, __pyx_mstate->__pyx_kp_b_iso88591_TTU_aq_T_q_wc_A_axz_Q_U_7_A_A_w, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[30])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 618}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outaroondown, __pyx_mstate->__pyx_n_u_outaroonup}; - __pyx_mstate_global->__pyx_codeobj_tab[31] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_AROON, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Qa_6_wc_D_9_Q_axz_XZs_U_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[31])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 663}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[32] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_AROONOSC, __pyx_mstate->__pyx_kp_b_iso88591_CD_aq_Qa_6_wc_A_axz_XZs_U_7_A_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[32])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 705}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[33] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ASIN, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[33])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 744}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[34] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ATAN, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[34])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 783}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[35] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ATR, __pyx_mstate->__pyx_kp_b_iso88591_Z_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[35])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 826}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[36] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_AVGDEV, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_6b, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[36])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 867}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[37] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_AVGPRICE, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_A_axz_XZt8S, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[37])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 909}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_nbdevup, __pyx_mstate->__pyx_n_u_nbdevdn, __pyx_mstate->__pyx_n_u_matype, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outrealupperband, __pyx_mstate->__pyx_n_u_outrealmiddleband, __pyx_mstate->__pyx_n_u_outreallowerband}; - __pyx_mstate_global->__pyx_codeobj_tab[38] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_BBANDS, __pyx_mstate->__pyx_kp_b_iso88591_VVmmn4_aq_T_q_wc_D_9_TARRSSVVW, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[38])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 959}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real0, __pyx_mstate->__pyx_n_u_real1, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[39] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_BETA, __pyx_mstate->__pyx_kp_b_iso88591_BC_Kq_Kq_7_wc_A_axz_hj_Q_U_7_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[39])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1002}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[40] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_BOP, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_A_axz_XZt8S_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[40])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1044}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[41] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CCI, __pyx_mstate->__pyx_kp_b_iso88591_Z_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[41])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1087}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[42] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDL2CROWS, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[42])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1129}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[43] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDL3BLACKCROWS, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[43])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1171}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[44] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDL3INSIDE, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[44])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1213}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[45] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDL3LINESTRIKE, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[45])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1255}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[46] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDL3OUTSIDE, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[46])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1297}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[47] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDL3STARSINSOUTH, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[47])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1339}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[48] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDL3WHITESOLDIERS, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[48])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1381}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[49] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLABANDONEDBABY, __pyx_mstate->__pyx_kp_b_iso88591_C_D_aq_aq_Qa_Kq_6_uA_wc_Qc_axz, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[49])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1425}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[50] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLADVANCEBLOCK, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[50])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1467}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[51] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLBELTHOLD, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[51])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1509}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[52] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLBREAKAWAY, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[52])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1551}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[53] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLCLOSINGMARUBOZU, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[53])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1593}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[54] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLCONCEALBABYSWALL, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_10, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[54])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1635}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[55] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLCOUNTERATTACK, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[55])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1677}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[56] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLDARKCLOUDCOVER, __pyx_mstate->__pyx_kp_b_iso88591_D_E_aq_aq_Qa_Kq_6_uA_wc_Qc_axz, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[56])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1721}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[57] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLDOJI, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_11, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[57])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1763}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[58] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLDOJISTAR, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[58])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1805}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[59] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLDRAGONFLYDOJI, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[59])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1847}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[60] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLENGULFING, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[60])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1889}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[61] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLEVENINGDOJISTAR, __pyx_mstate->__pyx_kp_b_iso88591_E_F_aq_aq_Qa_Kq_6_uA_wc_Qc_axz, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[61])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1933}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[62] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLEVENINGSTAR, __pyx_mstate->__pyx_kp_b_iso88591_A_B_aq_aq_Qa_Kq_6_uA_wc_Qc_axz, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[62])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1977}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[63] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLGAPSIDESIDEWHITE, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_10, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[63])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2019}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[64] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLGRAVESTONEDOJI, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[64])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2061}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[65] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLHAMMER, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[65])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2103}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[66] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLHANGINGMAN, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_12, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[66])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2145}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[67] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLHARAMI, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[67])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2187}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[68] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLHARAMICROSS, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[68])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2229}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[69] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLHIGHWAVE, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[69])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2271}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[70] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLHIKKAKE, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[70])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2313}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[71] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLHIKKAKEMOD, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_12, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[71])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2355}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[72] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLHOMINGPIGEON, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[72])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2397}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[73] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLIDENTICAL3CROWS, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[73])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2439}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[74] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLINNECK, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[74])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2481}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[75] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLINVERTEDHAMMER, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[75])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2523}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[76] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLKICKING, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[76])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2565}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[77] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLKICKINGBYLENGTH, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[77])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2607}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[78] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLLADDERBOTTOM, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[78])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2649}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[79] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLLONGLEGGEDDOJI, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[79])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2691}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[80] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLLONGLINE, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[80])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2733}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[81] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLMARUBOZU, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[81])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2775}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[82] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLMATCHINGLOW, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[82])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2817}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[83] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLMATHOLD, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_13, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[83])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2861}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[84] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLMORNINGDOJISTAR, __pyx_mstate->__pyx_kp_b_iso88591_E_F_aq_aq_Qa_Kq_6_uA_wc_Qc_axz, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[84])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2905}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[85] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLMORNINGSTAR, __pyx_mstate->__pyx_kp_b_iso88591_A_B_aq_aq_Qa_Kq_6_uA_wc_Qc_axz, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[85])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2949}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[86] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLONNECK, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[86])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2991}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[87] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLPIERCING, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[87])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3033}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[88] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLRICKSHAWMAN, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[88])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3075}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[89] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLRISEFALL3METHODS, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_10, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[89])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3117}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[90] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLSEPARATINGLINES, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[90])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3159}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[91] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLSHOOTINGSTAR, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[91])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3201}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[92] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLSHORTLINE, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[92])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3243}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[93] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLSPINNINGTOP, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[93])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3285}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[94] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLSTALLEDPATTERN, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[94])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3327}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[95] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLSTICKSANDWICH, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[95])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3369}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[96] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLTAKURI, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[96])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3411}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[97] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLTASUKIGAP, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[97])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3453}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[98] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLTHRUSTING, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[98])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3495}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[99] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLTRISTAR, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[99])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3537}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[100] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLUNIQUE3RIVER, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[100])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3579}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[101] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLUPSIDEGAP2CROWS, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[101])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3621}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[102] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CDLXSIDEGAP3METHODS, __pyx_mstate->__pyx_kp_b_iso88591_aq_aq_Qa_Kq_6_uA_wc_Qc_axz_XZt8_10, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[102])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3663}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[103] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CEIL, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[103])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3702}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[104] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CMF, __pyx_mstate->__pyx_kp_b_iso88591_wx_aq_Qa_Kq_6_gQ_wc_A_axz_XZs_R, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[104])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3746}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[105] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CMO, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[105])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3787}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[106] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CMOU, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[106])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3828}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_wmaperiod, __pyx_mstate->__pyx_n_u_roc1period, __pyx_mstate->__pyx_n_u_roc2period, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[107] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_COPPOCK, __pyx_mstate->__pyx_kp_b_iso88591_WWX_aq_T_q_wc_A_axz_Q_U_7_A_A_w, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[107])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3871}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real0, __pyx_mstate->__pyx_n_u_real1, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[108] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CORREL, __pyx_mstate->__pyx_kp_b_iso88591_DE_Kq_Kq_7_wc_A_axz_hj_Q_U_7_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[108])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3914}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[109] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_COS, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_31, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[109])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3953}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[110] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_COSH, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[110])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3992}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[111] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CUMSUM, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_6a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[111])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4031}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_rocperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[112] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_CVI, __pyx_mstate->__pyx_kp_b_iso88591_VVW_aq_Qa_6_wc_A_axz_XZs_U_7_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[112])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4074}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[113] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_DEMA, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[113])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4115}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real0, __pyx_mstate->__pyx_n_u_real1, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[114] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_DIV, __pyx_mstate->__pyx_kp_b_iso88591_Kq_Kq_7_wc_A_axz_hj_Q_U_7_A_A_w, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[114])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4156}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outrealupperband, __pyx_mstate->__pyx_n_u_outrealmiddleband, __pyx_mstate->__pyx_n_u_outreallowerband}; - __pyx_mstate_global->__pyx_codeobj_tab[115] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_DONCHIAN, __pyx_mstate->__pyx_kp_b_iso88591_CD_aq_Qa_6_wc_D_9_TARRSSVVW_axz, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[115])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4204}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[116] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_DPO, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[116])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4245}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[117] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_DX, __pyx_mstate->__pyx_kp_b_iso88591_YZ_aq_Qa_Kq_6_a_wc_A_axz_XZs_R, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[117])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4288}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[118] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_EFI, __pyx_mstate->__pyx_kp_b_iso88591_BC_Kq_7_wc_A_axz_hj_a_U_7_A_A_w, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[118])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4330}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[119] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_EMA, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[119])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4371}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[120] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ER, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[120])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4412}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outbullpower, __pyx_mstate->__pyx_n_u_outbearpower}; - __pyx_mstate_global->__pyx_codeobj_tab[121] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ERI, __pyx_mstate->__pyx_kp_b_iso88591_Z_aq_Qa_Kq_6_a_wc_D_9_Q_axz_XZs, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[121])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4458}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[122] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_EXP, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_31, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[122])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4497}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[123] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_FLOOR, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_5Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[123])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4536}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[124] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_FOSC, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[124])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4577}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_leftbars, __pyx_mstate->__pyx_n_u_rightbars, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outswinghigh, __pyx_mstate->__pyx_n_u_outswinglow}; - __pyx_mstate_global->__pyx_codeobj_tab[125] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_FRACTAL, __pyx_mstate->__pyx_kp_b_iso88591_BXXY_aq_Qa_6_wc_Qc_1Cq_axz_XZs, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[125])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4623}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outhaopen, __pyx_mstate->__pyx_n_u_outhahigh, __pyx_mstate->__pyx_n_u_outhalow, __pyx_mstate->__pyx_n_u_outhaclose}; - __pyx_mstate_global->__pyx_codeobj_tab[126] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_HA, __pyx_mstate->__pyx_kp_b_iso88591_2_aq_aq_Qa_Kq_6_uA_wc_D_9_TARRS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[126])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4674}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[127] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_HMA, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[127])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4715}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[128] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_HT_DCPERIOD, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[128])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4754}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[129] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_HT_DCPHASE, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_1H, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[129])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4793}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinphase, __pyx_mstate->__pyx_n_u_outquadrature}; - __pyx_mstate_global->__pyx_codeobj_tab[130] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_HT_PHASOR, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_D_9_Q_axz_Q_U_7_A_A_w, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[130])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4835}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outsine, __pyx_mstate->__pyx_n_u_outleadsine}; - __pyx_mstate_global->__pyx_codeobj_tab[131] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_HT_SINE, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_D_9_Q_axz_Q_U_7_A_A_w_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[131])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4877}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[132] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_HT_TRENDLINE, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[132])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4916}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger}; - __pyx_mstate_global->__pyx_codeobj_tab[133] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_HT_TRENDMODE, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_Qc_axz_Q_U_7_A_A_we_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[133])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4955}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[134] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_IMI, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Kq_6_wc_A_axz_XZuA_U_7_A_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[134])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4997}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[135] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_KAMA, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[135])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5038}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_atrperiod, __pyx_mstate->__pyx_n_u_nbdev, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outrealupperband, __pyx_mstate->__pyx_n_u_outrealmiddleband, __pyx_mstate->__pyx_n_u_outreallowerband}; - __pyx_mstate_global->__pyx_codeobj_tab[136] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_KC, __pyx_mstate->__pyx_kp_b_iso88591_Yq_r_I_I_J_2_aq_Qa_Kq_6_a_wc_D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[136])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {8, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5089}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_fastk_period, __pyx_mstate->__pyx_n_u_slowk_period, __pyx_mstate->__pyx_n_u_slowk_matype, __pyx_mstate->__pyx_n_u_slowd_period, __pyx_mstate->__pyx_n_u_slowd_matype, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outk, __pyx_mstate->__pyx_n_u_outd, __pyx_mstate->__pyx_n_u_outj}; - __pyx_mstate_global->__pyx_codeobj_tab[137] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_KDJ, __pyx_mstate->__pyx_kp_b_iso88591_Zt_u_O_O_e_e_6_aq_Qa_Kq_6_a_wc, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[137])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5142}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[138] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_LINEARREG, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[138])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5183}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[139] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_LINEARREG_ANGLE, __pyx_mstate->__pyx_kp_b_iso88591_01_aq_T_q_wc_A_axz_Q_U_7_A_A_we, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[139])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5224}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[140] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_LINEARREG_INTERCEPT, __pyx_mstate->__pyx_kp_b_iso88591_45_aq_T_q_wc_A_axz_Q_U_7_A_A_we, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[140])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5265}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[141] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_LINEARREG_SLOPE, __pyx_mstate->__pyx_kp_b_iso88591_01_aq_T_q_wc_A_axz_Q_U_7_A_A_we, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[141])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5306}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[142] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_LN, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_1H_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[142])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5345}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[143] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_LOG10, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_5Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[143])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5384}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_matype, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[144] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MA, __pyx_mstate->__pyx_kp_b_iso88591_1_aq_T_q_wc_A_axz_Q_U_7_A_A_we, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[144])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5426}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_signalperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outmacd, __pyx_mstate->__pyx_n_u_outmacdsignal, __pyx_mstate->__pyx_n_u_outmacdhist}; - __pyx_mstate_global->__pyx_codeobj_tab[145] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MACD, __pyx_mstate->__pyx_kp_b_iso88591_UUV2_aq_T_q_wc_D_9_TARRSSVVW_ax, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[145])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5475}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_fastmatype, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_slowmatype, __pyx_mstate->__pyx_n_u_signalperiod, __pyx_mstate->__pyx_n_u_signalmatype, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outmacd, __pyx_mstate->__pyx_n_u_outmacdsignal, __pyx_mstate->__pyx_n_u_outmacdhist}; - __pyx_mstate_global->__pyx_codeobj_tab[146] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MACDEXT, __pyx_mstate->__pyx_kp_b_iso88591_SSkk_Y_Y_Z_8_aq_T_q_wc_D_9_TARR, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[146])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5527}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_signalperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outmacd, __pyx_mstate->__pyx_n_u_outmacdsignal, __pyx_mstate->__pyx_n_u_outmacdhist}; - __pyx_mstate_global->__pyx_codeobj_tab[147] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MACDFIX, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_D_9_TARRSSVVW_axz_Q_U, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[147])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5574}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_fastlimit, __pyx_mstate->__pyx_n_u_slowlimit, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outmama, __pyx_mstate->__pyx_n_u_outfama}; - __pyx_mstate_global->__pyx_codeobj_tab[148] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MAMA, __pyx_mstate->__pyx_kp_b_iso88591_a_aq_T_q_wc_D_9_Q_axz_Q_U_7_A_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[148])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5619}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[149] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MARKETFI, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_6_a_wc_A_axz_XZs_R_bbc_U, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[149])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5660}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[150] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MASSI, __pyx_mstate->__pyx_kp_b_iso88591_XXY_aq_Qa_6_wc_A_axz_XZs_U_7_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[150])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5703}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_periods, __pyx_mstate->__pyx_n_u_minperiod, __pyx_mstate->__pyx_n_u_maxperiod, __pyx_mstate->__pyx_n_u_matype, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[151] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MAVP, __pyx_mstate->__pyx_kp_b_iso88591_CZZqqr_aq_k_6_wc_A_axz_XZwa_U_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[151])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5748}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[152] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MAX, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[152])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5789}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outinteger_data, __pyx_mstate->__pyx_n_u_i}; - __pyx_mstate_global->__pyx_codeobj_tab[153] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MAXINDEX, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_Qc_axz_Q_U_7_A_A_we_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[153])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5834}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[154] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MEDPRICE, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_6_wc_A_axz_XZs_U_7_A_A_we_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[154])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5874}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[155] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MFI, __pyx_mstate->__pyx_kp_b_iso88591_wx_aq_Qa_Kq_6_gQ_wc_A_axz_XZs_R, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[155])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5918}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[156] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MIDPOINT, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[156])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5959}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[157] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MIDPRICE, __pyx_mstate->__pyx_kp_b_iso88591_CD_aq_Qa_6_wc_A_axz_XZs_U_7_A_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[157])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6001}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[158] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MIN, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[158])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6042}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outinteger_data, __pyx_mstate->__pyx_n_u_i}; - __pyx_mstate_global->__pyx_codeobj_tab[159] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MININDEX, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_Qc_axz_Q_U_7_A_A_we_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[159])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6087}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outmin, __pyx_mstate->__pyx_n_u_outmax}; - __pyx_mstate_global->__pyx_codeobj_tab[160] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MINMAX, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_D_9_Q_axz_Q_U_7_A_A_w_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[160])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6131}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outminidx, __pyx_mstate->__pyx_n_u_outmaxidx, __pyx_mstate->__pyx_n_u_outminidx_data, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_outmaxidx_data}; - __pyx_mstate_global->__pyx_codeobj_tab[161] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MINMAXINDEX, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_Qc_1Cq_axz_Q_U_7_A_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[161])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6183}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[162] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MINUS_DI, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[162])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6226}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[163] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MINUS_DM, __pyx_mstate->__pyx_kp_b_iso88591_CD_aq_Qa_6_wc_A_axz_XZs_U_7_A_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[163])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6268}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[164] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MOM, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[164])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6309}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real0, __pyx_mstate->__pyx_n_u_real1, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[165] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_MULT, __pyx_mstate->__pyx_kp_b_iso88591_Kq_Kq_7_wc_A_axz_hj_Q_U_7_A_A_w_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[165])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6350}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[166] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_NATR, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_aab, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[166])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6393}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[167] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_NVI, __pyx_mstate->__pyx_kp_b_iso88591_Kq_7_wc_A_axz_hj_a_U_7_A_A_we_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[167])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6433}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[168] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_OBV, __pyx_mstate->__pyx_kp_b_iso88591_aq_6_wc_A_axz_XZvQ_U_7_A_A_we_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[168])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6474}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_percentile, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[169] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_PERCENTILE, __pyx_mstate->__pyx_kp_b_iso88591_C1_aq_T_q_wc_A_axz_Q_U_7_A_A_we, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[169])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6516}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[170] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_PERCENTRANK, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_2Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[170])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6557}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[171] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_PLUS_DI, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[171])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6600}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[172] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_PLUS_DM, __pyx_mstate->__pyx_kp_b_iso88591_BC_aq_Qa_6_wc_A_axz_XZs_U_7_A_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[172])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6642}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_matype, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[173] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_PPO, __pyx_mstate->__pyx_kp_b_iso88591_TTU_aq_T_q_wc_A_axz_Q_U_7_A_A_w, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[173])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6685}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[174] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_PVI, __pyx_mstate->__pyx_kp_b_iso88591_Kq_7_wc_A_axz_hj_a_U_7_A_A_we_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[174])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6725}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_matype, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[175] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_PVO, __pyx_mstate->__pyx_kp_b_iso88591_VVW_V6_wc_A_axz_q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[175])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6768}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[176] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_PVT, __pyx_mstate->__pyx_kp_b_iso88591_Kq_7_wc_A_axz_hj_a_U_7_A_A_we_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[176])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6808}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[177] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_QSTICK, __pyx_mstate->__pyx_kp_b_iso88591_CD_aq_Kq_6_wc_A_axz_XZuA_U_7_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[177])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6850}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[178] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_RMA, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[178])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6891}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[179] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ROC, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[179])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6932}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[180] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ROCP, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[180])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6973}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[181] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ROCR, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[181])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7014}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[182] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ROCR100, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_7r, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[182])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7055}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[183] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_RSI, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[183])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7096}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_stddevperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[184] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_RVI, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_T_q_wc_A_axz_Q_U_7_A_A_we, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[184])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7138}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[185] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_RVOL, __pyx_mstate->__pyx_kp_b_iso88591_V6_wc_A_axz_q_U_7_A_A_we_4Ba_1H, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[185])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7179}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_acceleration, __pyx_mstate->__pyx_n_u_maximum, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[186] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_SAR, __pyx_mstate->__pyx_kp_b_iso88591_YYZ_aq_Qa_6_wc_A_axz_XZs_U_7_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[186])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {10, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7222}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_startvalue, __pyx_mstate->__pyx_n_u_offsetonreverse, __pyx_mstate->__pyx_n_u_accelerationinitlong, __pyx_mstate->__pyx_n_u_accelerationlong, __pyx_mstate->__pyx_n_u_accelerationmaxlong, __pyx_mstate->__pyx_n_u_accelerationinitshort, __pyx_mstate->__pyx_n_u_accelerationshort, __pyx_mstate->__pyx_n_u_accelerationmaxshort, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[187] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_SAREXT, __pyx_mstate->__pyx_kp_b_iso88591_A_z_____b_b_G_G_h_h_i_4_aq_Qa_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[187])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7271}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[188] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_SIN, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_31, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[188])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7310}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[189] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_SINH, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[189])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7349}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[190] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_SMA, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[190])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7390}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_signalperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outsmi, __pyx_mstate->__pyx_n_u_outsmisignal}; - __pyx_mstate_global->__pyx_codeobj_tab[191] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_SMI, __pyx_mstate->__pyx_kp_b_iso88591_Zr_s_K_K_c_c_d_0_aq_Qa_Kq_6_a_w, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[191])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7439}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[192] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_SQRT, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[192])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7478}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_nbdev, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[193] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_STDDEV, __pyx_mstate->__pyx_kp_b_iso88591_q_aq_T_q_wc_A_axz_Q_U_7_A_A_we, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[193])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {8, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7520}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_fastk_period, __pyx_mstate->__pyx_n_u_slowk_period, __pyx_mstate->__pyx_n_u_slowk_matype, __pyx_mstate->__pyx_n_u_slowd_period, __pyx_mstate->__pyx_n_u_slowd_matype, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outslowk, __pyx_mstate->__pyx_n_u_outslowd}; - __pyx_mstate_global->__pyx_codeobj_tab[194] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_STOCH, __pyx_mstate->__pyx_kp_b_iso88591_v_w_Q_Q_f_f_A_2_aq_Qa_Kq_6_a_wc, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[194])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7570}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_fastk_period, __pyx_mstate->__pyx_n_u_fastd_period, __pyx_mstate->__pyx_n_u_fastd_matype, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outfastk, __pyx_mstate->__pyx_n_u_outfastd}; - __pyx_mstate_global->__pyx_codeobj_tab[195] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_STOCHF, __pyx_mstate->__pyx_kp_b_iso88591_w_x_R_R_S_aq_Qa_Kq_6_a_wc_D_9_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[195])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7618}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_fastk_period, __pyx_mstate->__pyx_n_u_fastd_period, __pyx_mstate->__pyx_n_u_fastd_matype, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outfastk, __pyx_mstate->__pyx_n_u_outfastd}; - __pyx_mstate_global->__pyx_codeobj_tab[196] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_STOCHRSI, __pyx_mstate->__pyx_kp_b_iso88591_AA_uuv0_aq_T_q_wc_D_9_Q_axz_Q_U, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[196])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7665}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real0, __pyx_mstate->__pyx_n_u_real1, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[197] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_SUB, __pyx_mstate->__pyx_kp_b_iso88591_Kq_Kq_7_wc_A_axz_hj_Q_U_7_A_A_w, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[197])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7706}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[198] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_SUM, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[198])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7747}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_multiplier, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outsupertrend, __pyx_mstate->__pyx_n_u_outtrend}; - __pyx_mstate_global->__pyx_codeobj_tab[199] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_SUPERTREND, __pyx_mstate->__pyx_kp_b_iso88591_ayyz_aq_Qa_Kq_6_a_wc_D_as_axz_X, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[199])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7794}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_vfactor, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[200] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_T3, __pyx_mstate->__pyx_kp_b_iso88591_1_aq_T_q_wc_A_axz_Q_U_7_A_A_we_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[200])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7836}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[201] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_TAN, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_31, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[201])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7875}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[202] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_TANH, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[202])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7914}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[203] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_TEMA, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[203])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7955}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[204] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_TRANGE, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_aab_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[204])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7996}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[205] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_TRIMA, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_5R, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[205])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8037}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[206] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_TRIX, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_4B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[206])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8078}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[207] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_TSF, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[207])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8119}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_firstperiod, __pyx_mstate->__pyx_n_u_secondperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[208] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_TSI, __pyx_mstate->__pyx_kp_b_iso88591_Q_aq_T_q_wc_A_axz_Q_U_7_A_A_we, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[208])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8161}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[209] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_TYPPRICE, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_aab_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[209])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8202}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod1, __pyx_mstate->__pyx_n_u_timeperiod2, __pyx_mstate->__pyx_n_u_timeperiod3, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[210] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ULTOSC, __pyx_mstate->__pyx_kp_b_iso88591_v_w_P_P_Q_aq_Qa_Kq_6_a_wc_A_axz, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[210])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8247}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_nbdev, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[211] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_VAR, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_T_q_wc_A_axz_Q_U_7_A_A_we_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[211])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8289}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[212] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_VHF, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[212])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8330}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outplusvi, __pyx_mstate->__pyx_n_u_outminusvi}; - __pyx_mstate_global->__pyx_codeobj_tab[213] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_VORTEX, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_D_9_Q_axz_XZs_R, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[213])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8376}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[214] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_VWAP, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_Kq_6_gQ_wc_A_axz_XZs_R_aa_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[214])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8418}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[215] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_VWMA, __pyx_mstate->__pyx_kp_b_iso88591_BC_aq_6_wc_A_axz_XZvQ_U_7_A_A_w, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[215])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8461}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[216] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_WAD, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_aab_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[216])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8502}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[217] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_WCLPRICE, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_aab_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[217])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8543}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[218] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_WILLR, __pyx_mstate->__pyx_kp_b_iso88591_aq_Qa_Kq_6_a_wc_A_axz_XZs_R_aab_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[218])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8586}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[219] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_WMA, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[219])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8627}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_endidx, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_outreal}; - __pyx_mstate_global->__pyx_codeobj_tab[220] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__func_pxi, __pyx_mstate->__pyx_n_u_ZLEMA, __pyx_mstate->__pyx_kp_b_iso88591_aq_T_q_wc_A_axz_Q_U_7_A_A_we_5R, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[220])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 73}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_s}; - __pyx_mstate_global->__pyx_codeobj_tab[221] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_str2bytes, __pyx_mstate->__pyx_kp_b_iso88591_A_uAS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[221])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 76}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_b}; - __pyx_mstate_global->__pyx_codeobj_tab[222] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_bytes2str, __pyx_mstate->__pyx_kp_b_iso88591_A_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[222])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 81}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_s}; - __pyx_mstate_global->__pyx_codeobj_tab[223] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_str2bytes, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[223])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 84}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_b}; - __pyx_mstate_global->__pyx_codeobj_tab[224] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_bytes2str, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[224])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS), 116}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_function_name, __pyx_mstate->__pyx_n_u_func_object, __pyx_mstate->__pyx_n_u_args, __pyx_mstate->__pyx_n_u_kwargs}; - __pyx_mstate_global->__pyx_codeobj_tab[225] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_init, __pyx_mstate->__pyx_kp_b_iso88591_A_Jm6_M_Q_Jiq_A_O9F_b_O1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[225])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 129}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_info, __pyx_mstate->__pyx_n_u_input_name, __pyx_mstate->__pyx_n_u_param_name, __pyx_mstate->__pyx_n_u_output_name}; - __pyx_mstate_global->__pyx_codeobj_tab[226] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_local_2, __pyx_mstate->__pyx_kp_b_iso88591_A_A_4wawa_1_Kq_Q_V1E_d_1_0_Ya_T, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[226])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 171}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self}; - __pyx_mstate_global->__pyx_codeobj_tab[227] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_info, __pyx_mstate->__pyx_kp_b_iso88591_A_t85_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[227])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 178}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self}; - __pyx_mstate_global->__pyx_codeobj_tab[228] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_function_flags, __pyx_mstate->__pyx_kp_b_iso88591_A_t85, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[228])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 185}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self}; - __pyx_mstate_global->__pyx_codeobj_tab[229] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_output_flags, __pyx_mstate->__pyx_kp_b_iso88591_A_t85_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[229])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 192}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_ret, __pyx_mstate->__pyx_n_u_input_name}; - __pyx_mstate_global->__pyx_codeobj_tab[230] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_get_input_names, __pyx_mstate->__pyx_kp_b_iso88591_A_A_k_N_q_q_e_q_1A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[230])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 203}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_input_names, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_input_name, __pyx_mstate->__pyx_n_u_price_series}; - __pyx_mstate_global->__pyx_codeobj_tab[231] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_set_input_names, __pyx_mstate->__pyx_kp_b_iso88591_A_A_L_6_Qk_A_a_QnA_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[231])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 215}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_local}; - __pyx_mstate_global->__pyx_codeobj_tab[232] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_get_input_arrays, __pyx_mstate->__pyx_kp_b_iso88591_A_A_WA_5_q_5_V1_5_U, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[232])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 226}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_input_arrays, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_missing_keys, __pyx_mstate->__pyx_n_u_key, __pyx_mstate->__pyx_n_u_missing}; - __pyx_mstate_global->__pyx_codeobj_tab[233] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_set_input_arrays, __pyx_mstate->__pyx_kp_b_iso88591_A2_A_QnA_1_t_6a_WA_d_Q_d_1_q_s_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[233])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 275}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_ret, __pyx_mstate->__pyx_n_u_opt_input}; - __pyx_mstate_global->__pyx_codeobj_tab[234] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_get_parameters, __pyx_mstate->__pyx_kp_b_iso88591_A_A_k_M_a_q_T_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[234])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 285}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_parameters, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_param, __pyx_mstate->__pyx_n_u_value}; - __pyx_mstate_global->__pyx_codeobj_tab[235] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_set_parameters, __pyx_mstate->__pyx_kp_b_iso88591_Q_A_1_G9JfA_t_1G1_q_1_a_U_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[235])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS), 300}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_args, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_update_info, __pyx_mstate->__pyx_n_u_key, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_skip_first, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_param_name}; - __pyx_mstate_global->__pyx_codeobj_tab[236] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_set_function_args, __pyx_mstate->__pyx_kp_b_iso88591_A_A_a_G1_t3e1_aq_4_q_Q_AT_V1A_S, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[236])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 335}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_holder, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_opt_input, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_lookback}; - __pyx_mstate_global->__pyx_codeobj_tab[237] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at1_C_IQe1_D_aq_E_AZq_vV_2_V, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[237])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 358}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_ret}; - __pyx_mstate_global->__pyx_codeobj_tab[238] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_output_names, __pyx_mstate->__pyx_kp_b_iso88591_A_d_q_4z_q_aq_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[238])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 368}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_ret, __pyx_mstate->__pyx_n_u_index}; - __pyx_mstate_global->__pyx_codeobj_tab[239] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_outputs, __pyx_mstate->__pyx_kp_b_iso88591_A_A_4uA_e87_4z_q_aq_WE_5_q_E_a_s, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[239])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 400}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_input_arrays}; - __pyx_mstate_global->__pyx_codeobj_tab[240] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_run, __pyx_mstate->__pyx_kp_b_iso88591_N_1_A_t1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[240])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS), 412}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_args, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_opt_input_values, __pyx_mstate->__pyx_n_u_price_series_name_values, __pyx_mstate->__pyx_n_u_input_arrays, __pyx_mstate->__pyx_n_u_input_price_series_names, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_arg, __pyx_mstate->__pyx_n_u_msg, __pyx_mstate->__pyx_n_u_no_existing_input_arrays, __pyx_mstate->__pyx_n_u_param_name, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_input_name, __pyx_mstate->__pyx_n_u_n}; - __pyx_mstate_global->__pyx_codeobj_tab[241] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_call, __pyx_mstate->__pyx_kp_b_iso88591_A_A_2_k_Qa_e_e1_2S_AQ_U_t1A_q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[241])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 478}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_input_price_series_names, __pyx_mstate->__pyx_n_u_input_name, __pyx_mstate->__pyx_n_u_price_series, __pyx_mstate->__pyx_n_u_name}; - __pyx_mstate_global->__pyx_codeobj_tab[242] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_input_price_series_names_2, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1_N_q_5_A_z_HA_G1A_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[242])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 490}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_input_price_series_names, __pyx_mstate->__pyx_n_u_args, __pyx_mstate->__pyx_n_u_price_series, __pyx_mstate->__pyx_n_u_series, __pyx_mstate->__pyx_n_u_opt_input, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_results, __pyx_mstate->__pyx_n_u_keys, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_output}; - __pyx_mstate_global->__pyx_codeobj_tab[243] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_call_function, __pyx_mstate->__pyx_kp_b_iso88591_A_A_4_B_q_A_U_q_gU_axq_wgQa_uA_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[243])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 521}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_input_name, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_type}; - __pyx_mstate_global->__pyx_codeobj_tab[244] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_check_opt_input_value, __pyx_mstate->__pyx_kp_b_iso88591_A_HKq_1A_6_5Q_A_7_4A_A_QgQ_7_1_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[244])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 536}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_input_name, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_value}; - __pyx_mstate_global->__pyx_codeobj_tab[245] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_get_opt_input_value, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AQ_6_A_E_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[245])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 546}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self}; - __pyx_mstate_global->__pyx_codeobj_tab[246] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_repr, __pyx_mstate->__pyx_kp_b_iso88591_A_uBd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[246])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 549}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self}; - __pyx_mstate_global->__pyx_codeobj_tab[247] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_unicode, __pyx_mstate->__pyx_kp_b_iso88591_A_wat81, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[247])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 552}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self}; - __pyx_mstate_global->__pyx_codeobj_tab[248] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_str, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[248])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 566}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_table, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_groups, __pyx_mstate->__pyx_n_u_i}; - __pyx_mstate_global->__pyx_codeobj_tab[249] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_ta_getGroupTable, __pyx_mstate->__pyx_kp_b_iso88591_a_AQa_0_Q_V1E_gQfAU_q_Q_31_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[249])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 586}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_group, __pyx_mstate->__pyx_n_u_table, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_functions, __pyx_mstate->__pyx_n_u_i}; - __pyx_mstate_global->__pyx_codeobj_tab[250] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_ta_getFuncTable, __pyx_mstate->__pyx_kp_b_iso88591_a_1G1A_q_V1E_q_WAQ_aq_Q_2_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[250])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 606}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_flag, __pyx_mstate->__pyx_n_u_flags_lookup_dict, __pyx_mstate->__pyx_n_u_bit, __pyx_mstate->__pyx_n_u_description}; - __pyx_mstate_global->__pyx_codeobj_tab[251] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_get_flags, __pyx_mstate->__pyx_kp_b_iso88591_uBa_q_1A__F_F_t2Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[251])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 659}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_function_name, __pyx_mstate->__pyx_n_u_info, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[252] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_ta_getFuncInfo, __pyx_mstate->__pyx_kp_b_iso88591_Qa_a_Q_a_4q_a_Qd_c_a_Qd_s_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[252])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 682}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_function_name, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_info, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_name}; - __pyx_mstate_global->__pyx_codeobj_tab[253] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_ta_getInputParameterInfo, __pyx_mstate->__pyx_kp_b_iso88591_Qa_a_2_85_Q_2_9AT_4q_1G6_wc_t81, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[253])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 707}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_function_name, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_info, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_default_value}; - __pyx_mstate_global->__pyx_codeobj_tab[254] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_ta_getOptInputParameterInfo, __pyx_mstate->__pyx_kp_b_iso88591_Qa_a_5Qhe1A_Q_5Q_9AT_4q_1JfA_Cq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[254])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 733}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_function_name, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_info, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_name}; - __pyx_mstate_global->__pyx_codeobj_tab[255] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_ta_getOutputParameterInfo, __pyx_mstate->__pyx_kp_b_iso88591_Qa_a_31HE_Q_31_9AT_4q_1HF_wc_d, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[255])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 757}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_func_info, __pyx_mstate->__pyx_n_u_defaults, __pyx_mstate->__pyx_n_u_func_line, __pyx_mstate->__pyx_n_u_func_args, __pyx_mstate->__pyx_n_u_docs, __pyx_mstate->__pyx_n_u_input_names, __pyx_mstate->__pyx_n_u_input_name, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_params, __pyx_mstate->__pyx_n_u_param, __pyx_mstate->__pyx_n_u_outputs, __pyx_mstate->__pyx_n_u_candlestick, __pyx_mstate->__pyx_n_u_output, __pyx_mstate->__pyx_n_u_documentation}; - __pyx_mstate_global->__pyx_codeobj_tab[256] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__abstract_pxi, __pyx_mstate->__pyx_n_u_get_defaults_and_docs, __pyx_mstate->__pyx_kp_b_iso88591_q_9A_1_q_1_1_1A_q_a_1A_4z_A_G1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[256])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2542}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self}; - __pyx_mstate_global->__pyx_codeobj_tab[257] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_copy_2, __pyx_mstate->__pyx_kp_b_iso88591_A_t5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[257])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2545}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_memo}; - __pyx_mstate_global->__pyx_codeobj_tab[258] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_deepcopy, __pyx_mstate->__pyx_kp_b_iso88591_A_t5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[258])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2548}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self}; - __pyx_mstate_global->__pyx_codeobj_tab[259] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_reduce, __pyx_mstate->__pyx_kp_b_iso88591_A_iq_46d_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[259])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2606}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_signalperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[260] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A0GG_a_aq_Qa_XQ_aq_axq_oQha_A_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[260])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2750}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outupperband, __pyx_mstate->__pyx_n_u_outmiddleband, __pyx_mstate->__pyx_n_u_outlowerband, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[261] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_oXQa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[261])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2897}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[262] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[262])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3035}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[263] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Qa_q_XWIQ_aq_axq_oQha_A_7_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[263])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3175}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real0, __pyx_mstate->__pyx_n_u_real1, __pyx_mstate->__pyx_n_u_a_real0, __pyx_mstate->__pyx_n_u_a_real1, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[264] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_q_q_Ya_aq_axq_oQha_Q_81A_7_7q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[264])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 21, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3317}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[265] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_VVW_aq_Qa_q_XWIQ_aq_axq_oQha_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[265])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3458}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[266] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A01_aq_Qa_XQ_aq_axq_oQha_Q_81A_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[266])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3598}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[267] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_Q_81, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[267])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3739}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[268] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_a_XQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[268])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3880}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[269] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A0Gq_aq_Qa_XQ_aq_axq_oQha_A_7_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[269])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4020}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_matype, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[270] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_BBUUV_aq_Q_aq_axq_oQha_Q_81A_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[270])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4160}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outaroondown, __pyx_mstate->__pyx_n_u_outaroonup, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[271] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A01_aq_Qa_XQ_aq_axq_oQha_q_xq_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[271])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4304}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[272] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A01_aq_Qa_XQ_aq_axq_oQha_oXQa_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[272])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4440}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[273] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[273])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4575}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[274] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[274])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4714}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[275] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_Q_81, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[275])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4853}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[276] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_M_7_1_q_q_bPX, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[276])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4991}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[277] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_oX, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[277])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5138}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_nbdevup, __pyx_mstate->__pyx_n_u_nbdevdn, __pyx_mstate->__pyx_n_u_matype, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outupperband, __pyx_mstate->__pyx_n_u_outmiddleband, __pyx_mstate->__pyx_n_u_outlowerband, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[278] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_BBXXjjk_aq_Q_aq_axq_oQha_M_7_y, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[278])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5287}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real0, __pyx_mstate->__pyx_n_u_real1, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real0, __pyx_mstate->__pyx_n_u_a_real1, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[279] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A34_q_q_Ya_aq_axq_oQha_a_XQa_7_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[279])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5426}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[280] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[280])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5568}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[281] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_Q_81, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[281])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5708}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[282] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[282])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5849}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[283] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[283])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5990}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[284] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[284])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6131}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[285] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[285])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6272}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[286] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[286])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6413}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[287] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[287])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6554}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[288] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_41, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[288])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6697}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[289] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_AAB_aq_aq_Qa_q_XXWA_aq_axq_oQha, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[289])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6838}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[290] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[290])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6979}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[291] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[291])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7120}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[292] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[292])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7261}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[293] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_5A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[293])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7402}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[294] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_6Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[294])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7543}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[295] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[295])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7686}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[296] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_AAB_aq_aq_Qa_q_XXWA_aq_axq_oQha_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[296])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7827}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[297] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_81, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[297])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7968}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[298] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[298])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8109}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[299] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[299])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8250}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[300] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[300])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8393}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[301] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_AAB_aq_aq_Qa_q_XXWA_aq_axq_oQha_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[301])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8536}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[302] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_AAB_aq_aq_Qa_q_XXWA_aq_axq_oQha_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[302])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8677}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[303] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_6Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[303])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8818}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[304] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_41, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[304])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8959}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[305] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[305])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9100}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[306] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_0q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[306])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9241}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[307] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[307])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9382}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[308] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[308])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9523}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[309] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[309])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9664}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[310] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[310])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9805}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[311] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_0q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[311])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9946}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[312] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[312])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10087}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[313] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_5A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[313])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10228}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[314] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[314])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10369}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[315] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_41, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[315])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10510}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[316] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[316])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10651}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[317] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_5A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[317])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10792}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[318] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[318])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10933}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[319] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_41, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[319])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11074}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[320] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[320])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11215}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[321] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[321])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11356}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[322] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[322])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11499}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[323] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_AAB_aq_aq_Qa_q_XXWA_aq_axq_oQha_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[323])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11642}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[324] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_AAB_aq_aq_Qa_q_XXWA_aq_axq_oQha_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[324])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11785}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_penetration, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[325] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_AAB_aq_aq_Qa_q_XXWA_aq_axq_oQha_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[325])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11926}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[326] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[326])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12067}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[327] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[327])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12208}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[328] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[328])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12349}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[329] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_6Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[329])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12490}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[330] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_5A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[330])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12631}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[331] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[331])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12772}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[332] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[332])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12913}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[333] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[333])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13054}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[334] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_41, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[334])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13195}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[335] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[335])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13336}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[336] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[336])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13477}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[337] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[337])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13618}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[338] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[338])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13759}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[339] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[339])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13900}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[340] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[340])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14041}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[341] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_5A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[341])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14182}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[342] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_6Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[342])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14320}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[343] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[343])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14460}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[344] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Qa_q_XWIQ_aq_axq_oQha_Q_81A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[344])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14600}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[345] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[345])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14737}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[346] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[346])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14876}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_wmaperiod, __pyx_mstate->__pyx_n_u_roc1period, __pyx_mstate->__pyx_n_u_roc2period, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[347] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_AAXXY_aq_Q_aq_axq_oQha_81A_7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[347])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15015}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real0, __pyx_mstate->__pyx_n_u_real1, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real0, __pyx_mstate->__pyx_n_u_a_real1, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[348] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A34_q_q_Ya_aq_axq_oQha_M_7_1_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[348])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15151}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[349] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[349])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15286}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[350] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[350])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15421}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[351] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_M_7_q_q_bPXXd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[351])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15560}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_rocperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[352] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A0Fa_aq_Qa_XQ_aq_axq_oQha_Q_81A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[352])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15698}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[353] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[353])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15835}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real0, __pyx_mstate->__pyx_n_u_real1, __pyx_mstate->__pyx_n_u_a_real0, __pyx_mstate->__pyx_n_u_a_real1, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[354] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_q_q_Ya_aq_axq_oQha_Q_81A_7_7q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[354])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15978}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outupperband, __pyx_mstate->__pyx_n_u_outmiddleband, __pyx_mstate->__pyx_n_u_outlowerband, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[355] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A01_aq_Qa_XQ_aq_axq_oQha_oXQa_7_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[355])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16126}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[356] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[356])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16265}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[357] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_A_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[357])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16405}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[358] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A45_q_Ya_aq_axq_oQha_Q_81A_7_7q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[358])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16543}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[359] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[359])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16680}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[360] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_A_7_aq_q_1AXY, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[360])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16821}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outbullpower, __pyx_mstate->__pyx_n_u_outbearpower, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[361] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_Q_81_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[361])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16963}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[362] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[362])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17098}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[363] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_q_xq_7_9_q_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[363])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17235}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[364] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[364])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17376}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_leftbars, __pyx_mstate->__pyx_n_u_rightbars, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outswinghigh, __pyx_mstate->__pyx_n_u_outswinglow, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[365] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_DA_aq_Qa_XQ_aq_axq_oQha_81A_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[365])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 22, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17526}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outhaopen, __pyx_mstate->__pyx_n_u_outhahigh, __pyx_mstate->__pyx_n_u_outhalow, __pyx_mstate->__pyx_n_u_outhaclose, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[366] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_aq_Qa_q_XXWA_aq_axq_oQha_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[366])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17681}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[367] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[367])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17816}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[368] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_q_q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[368])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17951}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[369] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_A_9_7_a_q_31A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[369])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18088}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinphase, __pyx_mstate->__pyx_n_u_outquadrature, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[370] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_1_7xq_7_Q_81, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[370])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18230}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outsine, __pyx_mstate->__pyx_n_u_outleadsine, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[371] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_81A_7_1_q_1HA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[371])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18370}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[372] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_q_5Qa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[372])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18505}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[373] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_q_5Qa_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[373])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18643}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[374] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A23_aq_q_XQ_aq_axq_oQha_Q_81A_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[374])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18781}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[375] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[375])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 22, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18926}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_atrperiod, __pyx_mstate->__pyx_n_u_nbdev, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outupperband, __pyx_mstate->__pyx_n_u_outmiddleband, __pyx_mstate->__pyx_n_u_outlowerband, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[376] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A7MMbbc_aq_Qa_q_XWA_aq_axq_oQha, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[376])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {8, 0, 0, 24, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19085}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_fastk_period, __pyx_mstate->__pyx_n_u_slowk_period, __pyx_mstate->__pyx_n_u_slowk_matype, __pyx_mstate->__pyx_n_u_slowd_period, __pyx_mstate->__pyx_n_u_slowd_matype, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outk, __pyx_mstate->__pyx_n_u_outd, __pyx_mstate->__pyx_n_u_outj, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[377] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A9RRk_l_A_A_Z_Z_aq_Qa_q_XWA_aq_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[377])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19234}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[378] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_1_7xq_7_Qa_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[378])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19371}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[379] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_2_C81A_7_C1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[379])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19508}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[380] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_6Q_11K8STTU_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[380])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19645}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[381] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_2_C81A_7_C1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[381])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19780}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[382] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_A_7_a_q_1AXYf, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[382])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19915}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[383] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_q_xq_7_9_q_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[383])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20053}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_matype, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[384] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_a_aq_Q_aq_axq_oQha_A_7_a_1_q_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[384])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20196}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_signalperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outmacd, __pyx_mstate->__pyx_n_u_outmacdsignal, __pyx_mstate->__pyx_n_u_outmacdhist, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[385] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_BB_aq_Q_aq_axq_oQha_a_XQa_7_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[385])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 21, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20352}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_fastmatype, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_slowmatype, __pyx_mstate->__pyx_n_u_signalperiod, __pyx_mstate->__pyx_n_u_signalmatype, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outmacd, __pyx_mstate->__pyx_n_u_outmacdsignal, __pyx_mstate->__pyx_n_u_outmacdhist, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[386] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_BBTTkk_Y_Y_Z_aq_Q_aq_axq_oQha, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[386])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20503}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_signalperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outmacd, __pyx_mstate->__pyx_n_u_outmacdsignal, __pyx_mstate->__pyx_n_u_outmacdhist, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[387] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_81A_7_1A_q_Qh, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[387])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20653}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_fastlimit, __pyx_mstate->__pyx_n_u_slowlimit, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outmama, __pyx_mstate->__pyx_n_u_outfama, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[388] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_EQ_aq_Q_aq_axq_oQha_a_XQa_7_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[388])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20795}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[389] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Qa_XWA_aq_axq_oQha_oXQa_7_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[389])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20936}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[390] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A0Gq_aq_Qa_XQ_aq_axq_oQha_q_xq_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[390])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21078}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_periods, __pyx_mstate->__pyx_n_u_minperiod, __pyx_mstate->__pyx_n_u_maxperiod, __pyx_mstate->__pyx_n_u_matype, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_a_periods, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[391] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A3II_aq_M_XQ_aq_axq_oQha_a_XQa_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[391])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21216}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[392] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[392])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21353}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_outinteger_data}; - __pyx_mstate_global->__pyx_codeobj_tab[393] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_oXQa_7_AQ_q_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[393])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21499}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[394] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Qa_XQ_aq_axq_oQha_oXQa_7_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[394])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21640}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[395] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Qa_q_XWIQ_aq_axq_oQha_Q_81A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[395])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21780}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[396] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_oXQa_7_AQ_q_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[396])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21918}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[397] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A01_aq_Qa_XQ_aq_axq_oQha_oXQa_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[397])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22056}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[398] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[398])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22193}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outinteger, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_outinteger_data}; - __pyx_mstate_global->__pyx_codeobj_tab[399] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_oXQa_7_AQ_q_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[399])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22342}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outmin, __pyx_mstate->__pyx_n_u_outmax, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[400] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_M_7_1_axq_axq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[400])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22486}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outminidx, __pyx_mstate->__pyx_n_u_outmaxidx, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_outminidx_data, __pyx_mstate->__pyx_n_u_outmaxidx_data}; - __pyx_mstate_global->__pyx_codeobj_tab[401] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_q_axq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[401])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22643}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[402] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_oXQa_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[402])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22783}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[403] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A01_aq_Qa_XQ_aq_axq_oQha_oXQa_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[403])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22921}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[404] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[404])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23058}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real0, __pyx_mstate->__pyx_n_u_real1, __pyx_mstate->__pyx_n_u_a_real0, __pyx_mstate->__pyx_n_u_a_real1, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[405] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_q_q_Ya_aq_axq_oQha_a_XQa_7_8_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[405])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23198}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[406] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_a_XQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[406])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23336}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[407] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_q_Ya_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[407])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23474}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[408] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_XQ_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[408])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23613}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_percentile, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[409] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_EQ_aq_Q_aq_axq_oQha_A_9_7_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[409])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23750}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[410] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_q_q_4_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[410])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23889}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[411] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_81A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[411])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24029}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[412] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A01_aq_Qa_XQ_aq_axq_oQha_81A_7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[412])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24169}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_matype, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[413] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_BBUUV_aq_Q_aq_axq_oQha_Q_81A_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[413])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24305}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[414] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_q_Ya_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[414])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24445}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_matype, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[415] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_DDWWX_Q_aq_axq_oQha_Q_81A_7_7q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[415])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24581}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[416] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_q_Ya_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[416])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24720}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_open, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_open, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[417] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A23_aq_q_XQ_aq_axq_oQha_M_7_1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[417])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24858}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[418] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[418])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24995}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[419] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[419])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25132}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[420] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[420])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25269}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[421] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[421])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25406}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[422] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_81A_7_1A_q_0, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[422])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25543}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[423] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[423])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25681}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_stddevperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[424] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_DA_aq_Q_aq_axq_oQha_Q_81A_7_7q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[424])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25818}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[425] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_aq_axq_oQha_a_XQa_7_8_q_Qaxy, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[425])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25957}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_acceleration, __pyx_mstate->__pyx_n_u_maximum, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[426] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A5J_aq_Qa_XQ_aq_axq_oQha_Q_81A_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[426])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {10, 0, 0, 23, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26103}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_startvalue, __pyx_mstate->__pyx_n_u_offsetonreverse, __pyx_mstate->__pyx_n_u_accelerationinitlong, __pyx_mstate->__pyx_n_u_accelerationlong, __pyx_mstate->__pyx_n_u_accelerationmaxlong, __pyx_mstate->__pyx_n_u_accelerationinitshort, __pyx_mstate->__pyx_n_u_accelerationshort, __pyx_mstate->__pyx_n_u_accelerationmaxshort, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[427] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A3QQt_u_T_T_v_v_Z_Z_z_z_aq_Qa_XQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[427])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26239}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[428] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[428])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26374}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[429] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[429])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26511}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[430] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[430])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 22, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26655}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_fastperiod, __pyx_mstate->__pyx_n_u_slowperiod, __pyx_mstate->__pyx_n_u_signalperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outsmi, __pyx_mstate->__pyx_n_u_outsmisignal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[431] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A7NNee_aq_Qa_q_XWA_aq_axq_oQha_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[431])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26797}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[432] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[432])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26935}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_nbdev, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[433] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_M_7_q_q_q_bPX, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[433])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {8, 0, 0, 23, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27080}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_fastk_period, __pyx_mstate->__pyx_n_u_slowk_period, __pyx_mstate->__pyx_n_u_slowk_matype, __pyx_mstate->__pyx_n_u_slowd_period, __pyx_mstate->__pyx_n_u_slowd_matype, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outslowk, __pyx_mstate->__pyx_n_u_outslowd, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[434] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A9RRkk_Y_Y_Z_aq_Qa_q_XWA_aq_axq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[434])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 21, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27230}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_fastk_period, __pyx_mstate->__pyx_n_u_fastd_period, __pyx_mstate->__pyx_n_u_fastd_matype, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outfastk, __pyx_mstate->__pyx_n_u_outfastd, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[435] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A9RRkkl_aq_Qa_q_XWA_aq_axq_oQha, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[435])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27379}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_fastk_period, __pyx_mstate->__pyx_n_u_fastd_period, __pyx_mstate->__pyx_n_u_fastd_matype, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outfastk, __pyx_mstate->__pyx_n_u_outfastd, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[436] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_DD_vvw_aq_Q_aq_axq_oQha_oXQa_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[436])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27521}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real0, __pyx_mstate->__pyx_n_u_real1, __pyx_mstate->__pyx_n_u_a_real0, __pyx_mstate->__pyx_n_u_a_real1, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[437] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_q_q_Ya_aq_axq_oQha_Q_81A_7_7q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[437])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27659}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[438] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[438])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27801}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_multiplier, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outsupertrend, __pyx_mstate->__pyx_n_u_outtrend, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[439] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A7QQR_aq_Qa_q_XWA_aq_axq_oQha_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[439])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27946}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_vfactor, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[440] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_B_aq_Q_aq_axq_oQha_A_7_a_1_q_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[440])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28081}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[441] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[441])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28216}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[442] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[442])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28353}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[443] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[443])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28490}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[444] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Qa_q_XWA_aq_axq_oQha_M_7_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[444])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28629}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[445] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_q_xq_7_9_q_aq_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[445])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28766}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[446] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_a_XQa_7_8_q_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[446])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28903}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[447] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[447])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29041}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_firstperiod, __pyx_mstate->__pyx_n_u_secondperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[448] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_EQ_aq_Q_aq_axq_oQha_Q_81A_7_7q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[448])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29178}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[449] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Qa_q_XWA_aq_axq_oQha_oXQa_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[449])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29321}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod1, __pyx_mstate->__pyx_n_u_timeperiod2, __pyx_mstate->__pyx_n_u_timeperiod3, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[450] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A8PPhhi_aq_Qa_q_XWA_aq_axq_oQha, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[450])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29461}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_nbdev, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[451] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[451])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29598}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[452] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[452])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29739}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outplusvi, __pyx_mstate->__pyx_n_u_outminusvi, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[453] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_M_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[453])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29884}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[454] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Qa_q_XWIQ_aq_axq_oQha_a_XQa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[454])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30026}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_volume, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_a_volume, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[455] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A34_aq_XQ_aq_axq_oQha_a_XQa_7_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[455])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30164}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[456] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Qa_q_XWA_aq_axq_oQha_Q_81A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[456])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30303}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[457] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Qa_q_XWA_aq_axq_oQha_oXQa_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[457])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30444}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_high, __pyx_mstate->__pyx_n_u_low, __pyx_mstate->__pyx_n_u_close, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_high, __pyx_mstate->__pyx_n_u_a_low, __pyx_mstate->__pyx_n_u_a_close, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[458] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A78_aq_Qa_q_XWA_aq_axq_oQha_q_xq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[458])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30583}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[459] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_Q_81A_7_7q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[459])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30720}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_real, __pyx_mstate->__pyx_n_u_timeperiod, __pyx_mstate->__pyx_n_u_a_real, __pyx_mstate->__pyx_n_u_arrays, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_begidx, __pyx_mstate->__pyx_n_u_historylen, __pyx_mstate->__pyx_n_u_lookback, __pyx_mstate->__pyx_n_u_outreal, __pyx_mstate->__pyx_n_u_outbegidx, __pyx_mstate->__pyx_n_u_outnbelement, __pyx_mstate->__pyx_n_u_handle, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_retCode}; - __pyx_mstate_global->__pyx_codeobj_tab[460] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_talib__stream_pxi, __pyx_mstate->__pyx_n_u_open_and_fill, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_Q_aq_axq_oQha_q_xq_7_9_q_aq_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[460])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result}; - __pyx_mstate_global->__pyx_codeobj_tab[461] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle__TA_ReadLease, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_q0_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[461])) goto bad; - } - { - const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4}; - PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result}; - __pyx_mstate_global->__pyx_codeobj_tab[462] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle__TA_WriteLease, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_0_1B_PQ_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[462])) goto bad; - } - Py_DECREF(tuple_dedup_map); - return 0; - bad: - Py_DECREF(tuple_dedup_map); - return -1; -} -/* #### Code section: init_globals ### */ - -static int __Pyx_InitGlobals(void) { - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - /* PythonCompatibility.init */ - if (likely(__Pyx_init_co_variables() == 0 && __Pyx_init_tpflags_variables() == 0)); else - - if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error) - - /* PyFrozenDict.init */ - #if CYTHON_COMPILING_IN_LIMITED_API - { - PyObject *builtins = PyEval_GetBuiltins(); // borrowed - if (likely(builtins)) { - PyObject *type_name = PyUnicode_FromStringAndSize("frozendict", sizeof("frozendict")-1); - if (likely(type_name)) { - PyObject *frozendict_type = PyObject_GetItem(builtins, type_name); - Py_DECREF(type_name); - if (!frozendict_type && PyErr_ExceptionMatches(PyExc_KeyError)) { - PyErr_Clear(); - frozendict_type = (PyObject*) &PyDict_Type; - Py_INCREF(frozendict_type); - } - __pyx_mstate_global->__Pyx_PyFrozenDictType = frozendict_type; - } - } - } // error handling follows - #endif - - if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error) - - /* CommonTypesMetaclass.init */ - if (likely(__pyx_CommonTypesMetaclass_init(__pyx_m) == 0)); else - - if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error) - - /* CachedMethodType.init */ - #if CYTHON_COMPILING_IN_LIMITED_API - { - PyObject *typesModule=NULL; - typesModule = PyImport_ImportModule("types"); - if (typesModule) { - __pyx_mstate_global->__Pyx_CachedMethodType = PyObject_GetAttrString(typesModule, "MethodType"); - Py_DECREF(typesModule); - } - } // error handling follows - #endif - - if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error) - - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: init_after_shared_utility ### */ - -static int __Pyx_InitAfterSharedUtility(void) { - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - /* CythonFunctionPerModule.init */ - if (likely(__pyx_CyFunction_init(__pyx_m) == 0)); else - - if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error) - - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: cleanup_globals ### */ -/* #### Code section: cleanup_module ### */ -/* #### Code section: main_method ### */ -/* #### Code section: utility_code_pragmas ### */ -#ifdef _MSC_VER -#pragma warning( push ) -/* Warning 4127: conditional expression is constant - * Cython uses constant conditional expressions to allow in inline functions to be optimized at - * compile-time, so this warning is not useful - */ -#pragma warning( disable : 4127 ) -#endif - - - -/* #### Code section: utility_code_def ### */ - -/* --- Runtime support code --- */ -/* Refnanny */ -#if CYTHON_REFNANNY -static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { - PyObject *m = NULL, *p = NULL; - void *r = NULL; - m = PyImport_ImportModule(modname); - if (!m) goto end; - p = PyObject_GetAttrString(m, "RefNannyAPI"); - if (!p) goto end; - r = PyLong_AsVoidPtr(p); -end: - Py_XDECREF(p); - Py_XDECREF(m); - return (__Pyx_RefNannyAPIStruct *)r; -} -#endif - -/* FastTypeChecks (used by GivenExceptionMatches) */ -#if CYTHON_COMPILING_IN_CPYTHON -static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { - while (a) { - a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*); - if (a == b) - return 1; - } - return b == &PyBaseObject_Type; -} -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (a == b) return 1; - mro = a->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(a, b); -} -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (cls == a || cls == b) return 1; - mro = cls->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - PyObject *base = PyTuple_GET_ITEM(mro, i); - if (base == (PyObject *)a || base == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b); -} -#endif - -/* PyErrFetchRestore (used by GivenExceptionMatches) */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject *tmp_value; - assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value))); - if (value) { - #if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb)) - #endif - PyException_SetTraceback(value, tb); - } - tmp_value = tstate->current_exception; - tstate->current_exception = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#endif -} -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject* exc_value; - exc_value = tstate->current_exception; - tstate->current_exception = 0; - *value = exc_value; - *type = NULL; - *tb = NULL; - if (exc_value) { - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - #if CYTHON_COMPILING_IN_CPYTHON - *tb = ((PyBaseExceptionObject*) exc_value)->traceback; - Py_XINCREF(*tb); - #else - *tb = PyException_GetTraceback(exc_value); - #endif - } -#else - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#endif -} -#endif - -/* GivenExceptionMatches (used by PyErrExceptionMatches) */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { - if (exc_type1) { - return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2); - } else { - return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); - } -} -static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - assert(PyExceptionClass_Check(exc_type)); - n = PyTuple_GET_SIZE(tuple); - for (i=0; i= 0x030C00A6 - PyObject *current_exception = tstate->current_exception; - if (unlikely(!current_exception)) return 0; - exc_type = (PyObject*) Py_TYPE(current_exception); - if (exc_type == err) return 1; -#else - exc_type = tstate->curexc_type; - if (exc_type == err) return 1; - if (unlikely(!exc_type)) return 0; -#endif - #if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(exc_type); - #endif - if (unlikely(PyTuple_Check(err))) { - result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); - } else { - result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err); - } - #if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(exc_type); - #endif - return result; -} -#endif - -/* PyObjectGetAttrStr (used by PyObjectGetAttrStrNoError) */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro)) - return tp->tp_getattro(obj, attr_name); - return PyObject_GetAttr(obj, attr_name); -} -#endif - -/* PyObjectGetAttrStrNoError (used by GetBuiltinName) */ -#if __PYX_LIMITED_VERSION_HEX < 0x030d0000 -static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) - __Pyx_PyErr_Clear(); -} -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { - PyObject *result; -#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000 - (void) PyObject_GetOptionalAttr(obj, attr_name, &result); - return result; -#else -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { - return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); - } -#endif - result = __Pyx_PyObject_GetAttrStr(obj, attr_name); - if (unlikely(!result)) { - __Pyx_PyObject_GetAttrStr_ClearAttributeError(); - } - return result; -#endif -} - -/* GetBuiltinName */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name) { - PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_mstate_global->__pyx_b, name); - if (unlikely(!result) && !PyErr_Occurred()) { - PyErr_Format(PyExc_NameError, - "name '%U' is not defined", name); - } - return result; -} - -/* GetTopmostException (used by SaveResetException) */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * -__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) -{ - _PyErr_StackItem *exc_info = tstate->exc_info; - while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) && - exc_info->previous_item != NULL) - { - exc_info = exc_info->previous_item; - } - return exc_info; -} -#endif - -/* SaveResetException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - PyObject *exc_value = exc_info->exc_value; - if (exc_value == NULL || exc_value == Py_None) { - *value = NULL; - *type = NULL; - *tb = NULL; - } else { - *value = exc_value; - Py_INCREF(*value); - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - *tb = PyException_GetTraceback(exc_value); - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - *type = exc_info->exc_type; - *value = exc_info->exc_value; - *tb = exc_info->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #else - *type = tstate->exc_type; - *value = tstate->exc_value; - *tb = tstate->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #endif -} -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - PyObject *tmp_value = exc_info->exc_value; - exc_info->exc_value = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); - #else - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = type; - exc_info->exc_value = value; - exc_info->exc_traceback = tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = type; - tstate->exc_value = value; - tstate->exc_traceback = tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); - #endif -} -#endif - -/* GetException */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) -#endif -{ - PyObject *local_type = NULL, *local_value, *local_tb = NULL; -#if CYTHON_FAST_THREAD_STATE - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if PY_VERSION_HEX >= 0x030C0000 - local_value = tstate->current_exception; - tstate->current_exception = 0; - #else - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; - #endif -#elif __PYX_LIMITED_VERSION_HEX >= 0x030C0000 - local_value = PyErr_GetRaisedException(); -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif -#if __PYX_LIMITED_VERSION_HEX >= 0x030C0000 - if (likely(local_value)) { - local_type = (PyObject*) Py_TYPE(local_value); - Py_INCREF(local_type); - local_tb = PyException_GetTraceback(local_value); - } -#else - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_FAST_THREAD_STATE - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } -#endif // __PYX_LIMITED_VERSION_HEX >= 0x030C0000 - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_FAST_THREAD_STATE - #if CYTHON_USE_EXC_INFO_STACK - { - _PyErr_StackItem *exc_info = tstate->exc_info; - #if PY_VERSION_HEX >= 0x030B00a4 - tmp_value = exc_info->exc_value; - exc_info->exc_value = local_value; - tmp_type = NULL; - tmp_tb = NULL; - Py_XDECREF(local_type); - Py_XDECREF(local_tb); - #else - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = local_type; - exc_info->exc_value = local_value; - exc_info->exc_traceback = local_tb; - #endif - } - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#elif __PYX_LIMITED_VERSION_HEX >= 0x030b0000 - PyErr_SetHandledException(local_value); - Py_XDECREF(local_value); - Py_XDECREF(local_type); - Py_XDECREF(local_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -#if __PYX_LIMITED_VERSION_HEX < 0x030C0000 -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -#endif -} - -/* PyObjectCall (used by PyObjectFastCall) */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *result; - ternaryfunc call = Py_TYPE(func)->tp_call; - if (unlikely(!call)) - return PyObject_Call(func, arg, kw); - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - result = (*call)(func, arg, kw); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCallMethO (used by PyObjectFastCall) */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { - PyObject *self, *result; - PyCFunction cfunc; - cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func); - self = __Pyx_CyOrPyCFunction_GET_SELF(func); - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - result = cfunc(self, arg); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectFastCall */ -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject * const*args, size_t nargs, PyObject *kwargs) { - PyObject *argstuple; - PyObject *result = 0; - size_t i; - argstuple = PyTuple_New((Py_ssize_t)nargs); - if (unlikely(!argstuple)) return NULL; - for (i = 0; i < nargs; i++) { - Py_INCREF(args[i]); - if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) != (0)) goto bad; - } - result = __Pyx_PyObject_Call(func, argstuple, kwargs); - bad: - Py_DECREF(argstuple); - return result; -} -#endif -#if CYTHON_VECTORCALL && !(CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY) - #if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE vectorcallfunc __Pyx_PyVectorcall_Function(PyObject *callable) { - PyTypeObject *tp = Py_TYPE(callable); - #if defined(__Pyx_CyFunction_USED) - if (__Pyx_CyFunction_CheckExact(callable)) { - return __Pyx_CyFunction_func_vectorcall(callable); - } - #endif - if (!PyType_HasFeature(tp, Py_TPFLAGS_HAVE_VECTORCALL)) { - return NULL; - } - assert(PyCallable_Check(callable)); - Py_ssize_t offset = tp->tp_vectorcall_offset; - assert(offset > 0); - vectorcallfunc ptr; - memcpy(&ptr, (char *) callable + offset, sizeof(ptr)); - return ptr; -} - #else - #define __Pyx_PyVectorcall_Function(callable) PyVectorcall_Function(callable) - #endif -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwargs) { - Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(nargsf); -#if CYTHON_COMPILING_IN_CPYTHON - if (nargs == 0 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS)) - return __Pyx_PyObject_CallMethO(func, NULL); - } - else if (nargs == 1 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O)) - return __Pyx_PyObject_CallMethO(func, args[0]); - } -#endif - if (kwargs == NULL) { - #if CYTHON_VECTORCALL - #if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY - return PyObject_Vectorcall(func, args, nargsf, NULL); - #else - vectorcallfunc f = __Pyx_PyVectorcall_Function(func); - if (f) { - return f(func, args, nargsf, NULL); - } - #endif - #endif - } - if (nargs == 0) { - return __Pyx_PyObject_Call(func, __pyx_mstate_global->__pyx_empty_tuple, kwargs); - } - #if CYTHON_COMPILING_IN_LIMITED_API - return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs); - #elif CYTHON_COMPILING_IN_PYPY - return PyObject_VectorcallDict(func, args, (size_t) nargs, kwargs); - #else - return PyObject_VectorcallDict(func, args, nargsf, kwargs); - #endif -} - -/* RaiseException */ -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - int is_subclass = PyObject_IsSubclass(instance_class, type); - if (!is_subclass) { - instance_class = NULL; - } else if (unlikely(is_subclass == -1)) { - goto bad; - } else { - type = instance_class; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } - if (cause) { - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyException_SetTraceback(value, tb); -#elif CYTHON_FAST_THREAD_STATE - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); - Py_INCREF(tb); - PyErr_Restore(tmp_type, tmp_value, tb); - Py_XDECREF(tmp_tb); -#endif - } -bad: - Py_XDECREF(owned_instance); - return; -} - -/* PyThreadTypeLock (used by PyMutex) */ -#if CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM < 0x07031400 -#define PY_LOCK_ACQUIRED 1 -#endif -static void __Pyx__Locks_PyThreadTypeLock_LockGil_spin(__Pyx_Locks_PyThreadTypeLock lock) { - while (1) { - int res; - Py_BEGIN_ALLOW_THREADS - res = PyThread_acquire_lock(lock, WAIT_LOCK); - Py_END_ALLOW_THREADS - if (likely(res == PY_LOCK_ACQUIRED)) { - return; - } - } -} -static CYTHON_INLINE void __Pyx__Locks_PyThreadTypeLock_LockGil(__Pyx_Locks_PyThreadTypeLock lock) { - #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07031400 - if (likely(PyThread_acquire_lock_timed(lock, 0, 0) == PY_LOCK_ACQUIRED)) { - return; - } - #endif - __Pyx__Locks_PyThreadTypeLock_LockGil_spin(lock); -} -static void __Pyx__Locks_PyThreadTypeLock_Lock(__Pyx_Locks_PyThreadTypeLock lock) { - int has_gil = 0; -#if CYTHON_COMPILING_IN_LIMITED_API - if (__PYX_LIMITED_VERSION_HEX >= 0x030d0000 || __Pyx_get_runtime_version() >= 0x030d0000) { - PyThreadState *tstate = PyThreadState_Swap(NULL); - has_gil = tstate != NULL; - if (has_gil) - PyThreadState_Swap(tstate); - } else { - PyGILState_STATE state = PyGILState_Ensure(); - __Pyx_Locks_PyThreadTypeLock_LockNogil(lock); - PyGILState_Release(state); - return; - } -#elif CYTHON_COMPILING_IN_PYPY || PY_VERSION_HEX < 0x030C0000 - has_gil = PyGILState_Check(); -#elif PY_VERSION_HEX < 0x030d0000 - has_gil = _PyThreadState_UncheckedGet() != NULL; -#else - has_gil = PyThreadState_GetUnchecked() != NULL; -#endif - if (has_gil) { - __Pyx_Locks_PyThreadTypeLock_LockGil(lock); - } else { - __Pyx_Locks_PyThreadTypeLock_LockNogil(lock); - } -} -static CYTHON_INLINE int __Pyx_Locks_PyThreadTypeLock_CanCheckLocked(__Pyx_Locks_PyThreadTypeLock lock) { - CYTHON_UNUSED_VAR(lock); - return 1; -} -static int __Pyx__Locks_PyThreadTypeLock_Locked(__Pyx_Locks_PyThreadTypeLock lock) { - if (PyThread_acquire_lock(lock, NOWAIT_LOCK)) { - PyThread_release_lock(lock); - return 0; // Lock was not held - } - return 1; // Lock is held -} - -/* CopyObjectArray (used by TupleOrListFromArrayImpl) */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) { - PyObject *v; - Py_ssize_t i; - for (i = 0; i < length; i++) { - v = dest[i] = src[i]; - Py_INCREF(v); - } -} -#endif - -/* TupleOrListFromArrayImpl (used by TupleFromArray) */ -#if !(PY_VERSION_HEX >= 0x030F0000 && !CYTHON_COMPILING_IN_LIMITED_API) -CYTHON_UNUSED static PyObject * -__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n) { - if (n <= 0) { - return __Pyx_NewRef(__pyx_mstate_global->__pyx_empty_tuple); - } - PyObject *res = PyTuple_New(n); - if (unlikely(res == NULL)) return NULL; - #if CYTHON_COMPILING_IN_CPYTHON - __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n); - #else - Py_ssize_t i; - for (i = 0; i < n; i++) { - Py_INCREF(src[i]); - if (unlikely(__Pyx_PyTuple_SET_ITEM(res, i, src[i]) < (0))) { - Py_DECREF(res); - return NULL; - } - } - #endif - return res; -} -#endif - -/* PyObjectCompare (used by UnicodeEquals) */ -#ifndef __Pyx_DEFINED_PyObject_CompareStrStrBoolEq -#define __Pyx_DEFINED_PyObject_CompareStrStrBoolEq -static CYTHON_INLINE int __Pyx_PyObject_CompareStrStrBoolEq(PyObject* s1, PyObject* s2) { - #if __PYX_LIMITED_VERSION_HEX >= 0x030e0000 - int result = PyUnicode_Equal(s1, s2); - #if !CYTHON_COMPILING_IN_CPYTHON - if (unlikely(result == -1)) return -1; - #endif - if (result == 0) goto __pyx_return_false; else goto __pyx_return_true; - #else - int result = PyUnicode_Compare(s1, s2); - if (unlikely((result == -1) && PyErr_Occurred())) return -1; - if (result == 0) goto __pyx_return_true; else goto __pyx_return_false; - #endif -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} -#endif -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolEq_str_str(PyObject *op1, PyObject *op2, int pyop) { - CYTHON_UNUSED_VAR(pyop); - if (unlikely(op1 == Py_None)) { - if (op2 == Py_None) goto __pyx_return_true; else goto __pyx_return_false; - } - if (unlikely(op2 == Py_None)) { - if (op1 == Py_None) goto __pyx_return_true; else goto __pyx_return_false; - } - - if (likely(op1 != Py_None)) { - if (op1 == op2) goto __pyx_return_true; - if (likely(op2 != Py_None)) { - return __Pyx_PyObject_CompareStrStrBoolEq(op1, op2); - } - goto __pyx_richcmp; - } - - if ((0)) goto __pyx_richcmp; - if ((0)) goto __pyx_return_true; - if ((0)) goto __pyx_return_false; -__pyx_richcmp: - return __Pyx_PyObject_RichCompareBool(op1, op2, Py_EQ); -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} - -/* fastcall */ -#if CYTHON_VECTORCALL -static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s) -{ - Py_ssize_t i, n = __Pyx_PyTuple_GET_SIZE(kwnames); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely(n == -1)) return NULL; - #endif - for (i = 0; i < n; i++) - { - PyObject *namei = __Pyx_PyTuple_GET_ITEM(kwnames, i); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely(!namei)) return NULL; - #endif - if (s == namei) return kwvalues[i]; - } - for (i = 0; i < n; i++) - { - PyObject *namei = __Pyx_PyTuple_GET_ITEM(kwnames, i); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely(!namei)) return NULL; - #endif - int eq = __Pyx_PyUnicode_Equals(s, namei); - if (unlikely(eq != 0)) { - if (unlikely(eq < 0)) return NULL; - return kwvalues[i]; - } - } - return NULL; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_GRAAL -CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) { - Py_ssize_t i, nkwargs; - PyObject *dict; -#if !CYTHON_ASSUME_SAFE_SIZE - nkwargs = PyTuple_Size(kwnames); - if (unlikely(nkwargs < 0)) return NULL; -#else - nkwargs = PyTuple_GET_SIZE(kwnames); -#endif - dict = PyDict_New(); - if (unlikely(!dict)) - return NULL; - for (i=0; itype, *target->method_name); - if (unlikely(!method)) - return -1; - result = method; -#if CYTHON_COMPILING_IN_CPYTHON - if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type))) - { - PyMethodDescrObject *descr = (PyMethodDescrObject*) method; - target->func = descr->d_method->ml_meth; - target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST); - } else -#endif -#if CYTHON_COMPILING_IN_PYPY -#else - if (PyCFunction_Check(method)) -#endif - { - PyObject *self; - int self_found; -#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY - self = PyObject_GetAttrString(method, "__self__"); - if (!self && !__Pyx_IgnoreException(PyExc_AttributeError)) { - return -1; - } -#else - self = PyCFunction_GET_SELF(method); -#endif - self_found = (self && self != Py_None); -#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY - Py_XDECREF(self); -#endif - if (self_found) { - PyObject *unbound_method = PyCFunction_New(&__Pyx_UnboundCMethod_Def, method); - if (unlikely(!unbound_method)) return -1; - Py_DECREF(method); - result = unbound_method; - } - } -#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - if (unlikely(target->method)) { - Py_DECREF(result); - } else -#endif - target->method = result; - return 0; -} - -/* CallUnboundCMethod0 */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) { - int was_initialized = __Pyx_CachedCFunction_GetAndSetInitializing(cfunc); - if (likely(was_initialized == 2 && cfunc->func)) { - if (likely(cfunc->flag == METH_NOARGS)) - return __Pyx_CallCFunction(cfunc, self, NULL); - if (likely(cfunc->flag == METH_FASTCALL)) - return __Pyx_CallCFunctionFast(cfunc, self, NULL, 0); - if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS)) - return __Pyx_CallCFunctionFastWithKeywords(cfunc, self, NULL, 0, NULL); - if (likely(cfunc->flag == (METH_VARARGS | METH_KEYWORDS))) - return __Pyx_CallCFunctionWithKeywords(cfunc, self, __pyx_mstate_global->__pyx_empty_tuple, NULL); - if (cfunc->flag == METH_VARARGS) - return __Pyx_CallCFunction(cfunc, self, __pyx_mstate_global->__pyx_empty_tuple); - return __Pyx__CallUnboundCMethod0(cfunc, self); - } -#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - else if (unlikely(was_initialized == 1)) { - __Pyx_CachedCFunction tmp_cfunc = { -#ifndef __cplusplus - 0 -#endif - }; - tmp_cfunc.type = cfunc->type; - tmp_cfunc.method_name = cfunc->method_name; - return __Pyx__CallUnboundCMethod0(&tmp_cfunc, self); - } -#endif - PyObject *result = __Pyx__CallUnboundCMethod0(cfunc, self); - __Pyx_CachedCFunction_SetFinishedInitializing(cfunc); - return result; -} -#endif -static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) { - PyObject *result; - if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; - result = __Pyx_PyObject_CallOneArg(cfunc->method, self); - return result; -} - -/* py_dict_items (used by OwnedDictNext) */ -static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d) { - return __Pyx_CallUnboundCMethod0(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_items, d); -} - -/* py_dict_values (used by OwnedDictNext) */ -static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d) { - return __Pyx_CallUnboundCMethod0(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_values, d); -} - -/* OwnedDictNext (used by RejectKeywords) */ -#if CYTHON_AVOID_BORROWED_REFS -static int __Pyx_PyDict_NextRef(PyObject *p, PyObject **ppos, PyObject **pkey, PyObject **pvalue) { - PyObject *next = NULL; - if (!*ppos) { - if (pvalue) { - PyObject *dictview = pkey ? __Pyx_PyDict_Items(p) : __Pyx_PyDict_Values(p); - if (unlikely(!dictview)) goto bad; - *ppos = PyObject_GetIter(dictview); - Py_DECREF(dictview); - } else { - *ppos = PyObject_GetIter(p); - } - if (unlikely(!*ppos)) goto bad; - } - next = PyIter_Next(*ppos); - if (!next) { - if (PyErr_Occurred()) goto bad; - return 0; - } - if (pkey && pvalue) { - *pkey = __Pyx_PySequence_ITEM(next, 0); - if (unlikely(*pkey)) goto bad; - *pvalue = __Pyx_PySequence_ITEM(next, 1); - if (unlikely(*pvalue)) goto bad; - Py_DECREF(next); - } else if (pkey) { - *pkey = next; - } else { - assert(pvalue); - *pvalue = next; - } - return 1; - bad: - Py_XDECREF(next); -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d0000 - PyErr_FormatUnraisable("Exception ignored in __Pyx_PyDict_NextRef"); -#else - PyErr_WriteUnraisable(__pyx_mstate_global->__pyx_n_u_Pyx_PyDict_NextRef); -#endif - if (pkey) *pkey = NULL; - if (pvalue) *pvalue = NULL; - return 0; -} -#else // !CYTHON_AVOID_BORROWED_REFS -static int __Pyx_PyDict_NextRef(PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue) { - int result = PyDict_Next(p, ppos, pkey, pvalue); - if (likely(result == 1)) { - if (pkey) Py_INCREF(*pkey); - if (pvalue) Py_INCREF(*pvalue); - } - return result; -} -#endif - -/* RejectKeywords */ -static void __Pyx_RejectKeywords(const char* function_name, PyObject *kwds) { - PyObject *key = NULL; - if (CYTHON_VECTORCALL && likely(PyTuple_Check(kwds))) { - key = __Pyx_PySequence_ITEM(kwds, 0); - } else { -#if CYTHON_AVOID_BORROWED_REFS - PyObject *pos = NULL; -#else - Py_ssize_t pos = 0; -#endif -#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments) - if (unlikely(!PyArg_ValidateKeywordArguments(kwds))) return; -#endif - __Pyx_PyDict_NextRef(kwds, &pos, &key, NULL); -#if CYTHON_AVOID_BORROWED_REFS - Py_XDECREF(pos); -#endif - } - if (likely(key)) { - PyErr_Format(PyExc_TypeError, - "%s() got an unexpected keyword argument '%U'", - function_name, key); - Py_DECREF(key); - } -} - -/* GetAttr3 */ -#if __PYX_LIMITED_VERSION_HEX < 0x030d0000 -static PyObject *__Pyx_GetAttr3Default(PyObject *d) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) - return NULL; - __Pyx_PyErr_Clear(); - Py_INCREF(d); - return d; -} -#endif -static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) { - PyObject *r; -#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000 - int res = PyObject_GetOptionalAttr(o, n, &r); - return (res != 0) ? r : __Pyx_NewRef(d); -#else - #if CYTHON_USE_TYPE_SLOTS - if (likely(PyUnicode_Check(n))) { - r = __Pyx_PyObject_GetAttrStrNoError(o, n); - if (unlikely(!r) && likely(!PyErr_Occurred())) { - r = __Pyx_NewRef(d); - } - return r; - } - #endif - r = PyObject_GetAttr(o, n); - return (likely(r)) ? r : __Pyx_GetAttr3Default(d); -#endif -} - -/* PyDictVersioning (used by GetModuleGlobalName) */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { - PyObject **dictptr = NULL; - Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; - if (offset) { -#if CYTHON_COMPILING_IN_CPYTHON - dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); -#else - dictptr = _PyObject_GetDictPtr(obj); -#endif - } - return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; -} -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) - return 0; - return obj_dict_version == __Pyx_get_object_dict_version(obj); -} -#endif - -/* GetModuleGlobalName */ -#if CYTHON_USE_DICT_VERSIONS -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) -#else -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) -#endif -{ - PyObject *result; -#if CYTHON_COMPILING_IN_LIMITED_API - if (unlikely(!__pyx_m)) { - if (!PyErr_Occurred()) - PyErr_SetNone(PyExc_NameError); - return NULL; - } - result = PyObject_GetAttr(__pyx_m, name); - if (likely(result)) { - return result; - } - if (!__Pyx_IgnoreException(PyExc_Exception)) { - return NULL; // BaseException - } -#elif CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS - if (unlikely(__Pyx_PyDict_GetItemRef(__pyx_mstate_global->__pyx_d, name, &result) == -1)) { - if (!__Pyx_IgnoreException(PyExc_Exception)) { - return NULL; // BaseException - } - } - __PYX_UPDATE_DICT_CACHE(__pyx_mstate_global->__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return result; - } -#else - result = _PyDict_GetItem_KnownHash(__pyx_mstate_global->__pyx_d, name, ((PyASCIIObject *) name)->hash); - __PYX_UPDATE_DICT_CACHE(__pyx_mstate_global->__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } - PyObject *exc = PyErr_Occurred(); - if (unlikely(exc) && !__Pyx_IgnoreGivenException(exc, PyExc_Exception)) { - return NULL; // BaseException - } -#endif - return __Pyx_GetBuiltinName(name); -} - -/* RaiseDoubleKeywords (used by ParseKeywordsImpl) */ -static void __Pyx_RaiseDoubleKeywordsError( - const char* func_name, - PyObject* kw_name) -{ - PyErr_Format(PyExc_TypeError, - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); -} - -/* CallUnboundCMethod2 */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2) { - int was_initialized = __Pyx_CachedCFunction_GetAndSetInitializing(cfunc); - if (likely(was_initialized == 2 && cfunc->func)) { - PyObject *args[2] = {arg1, arg2}; - if (cfunc->flag == METH_FASTCALL) { - return __Pyx_CallCFunctionFast(cfunc, self, args, 2); - } - if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS)) - return __Pyx_CallCFunctionFastWithKeywords(cfunc, self, args, 2, NULL); - } -#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - else if (unlikely(was_initialized == 1)) { - __Pyx_CachedCFunction tmp_cfunc = { -#ifndef __cplusplus - 0 -#endif - }; - tmp_cfunc.type = cfunc->type; - tmp_cfunc.method_name = cfunc->method_name; - return __Pyx__CallUnboundCMethod2(&tmp_cfunc, self, arg1, arg2); - } -#endif - PyObject *result = __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2); - __Pyx_CachedCFunction_SetFinishedInitializing(cfunc); - return result; -} -#endif -static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2){ - if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; -#if CYTHON_COMPILING_IN_CPYTHON - if (cfunc->func && (cfunc->flag & METH_VARARGS)) { - PyObject *result = NULL; - PyObject *args = PyTuple_New(2); - if (unlikely(!args)) return NULL; - Py_INCREF(arg1); - PyTuple_SET_ITEM(args, 0, arg1); - Py_INCREF(arg2); - PyTuple_SET_ITEM(args, 1, arg2); - if (cfunc->flag & METH_KEYWORDS) - result = __Pyx_CallCFunctionWithKeywords(cfunc, self, args, NULL); - else - result = __Pyx_CallCFunction(cfunc, self, args); - Py_DECREF(args); - return result; - } -#endif - { - PyObject *args[4] = {NULL, self, arg1, arg2}; - return __Pyx_PyObject_FastCall(cfunc->method, args+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); - } -} - -/* ParseKeywordsImpl (used by ParseKeywords) */ -static int __Pyx_ValidateDuplicatePosArgs( - PyObject *kwds, - PyObject ** const argnames[], - PyObject ** const *first_kw_arg, - const char* function_name) -{ - PyObject ** const *name = argnames; - while (name != first_kw_arg) { - PyObject *key = **name; - int found = PyDict_Contains(kwds, key); - if (unlikely(found)) { - if (found == 1) __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; - } - name++; - } - return 0; -bad: - return -1; -} -#if CYTHON_USE_UNICODE_INTERNALS -static CYTHON_INLINE int __Pyx_UnicodeKeywordsEqual(PyObject *s1, PyObject *s2) { - int kind; - Py_ssize_t len = PyUnicode_GET_LENGTH(s1); - if (len != PyUnicode_GET_LENGTH(s2)) return 0; - kind = PyUnicode_KIND(s1); - if (kind != PyUnicode_KIND(s2)) return 0; - const void *data1 = PyUnicode_DATA(s1); - const void *data2 = PyUnicode_DATA(s2); - return (memcmp(data1, data2, (size_t) len * (size_t) kind) == 0); -} -#endif -static int __Pyx_MatchKeywordArg_str( - PyObject *key, - PyObject ** const argnames[], - PyObject ** const *first_kw_arg, - size_t *index_found, - const char *function_name) -{ - PyObject ** const *name; - #if CYTHON_USE_UNICODE_INTERNALS - Py_hash_t key_hash = ((PyASCIIObject*)key)->hash; - if (unlikely(key_hash == -1)) { - key_hash = PyObject_Hash(key); - if (unlikely(key_hash == -1)) - goto bad; - } - #endif - name = first_kw_arg; - while (*name) { - PyObject *name_str = **name; - #if CYTHON_USE_UNICODE_INTERNALS - if (key_hash == ((PyASCIIObject*)name_str)->hash && __Pyx_UnicodeKeywordsEqual(name_str, key)) { - *index_found = (size_t) (name - argnames); - return 1; - } - #else - #if CYTHON_ASSUME_SAFE_SIZE - if (PyUnicode_GET_LENGTH(name_str) == PyUnicode_GET_LENGTH(key)) - #endif - { - int cmp = PyUnicode_Compare(name_str, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) { - *index_found = (size_t) (name - argnames); - return 1; - } - } - #endif - name++; - } - name = argnames; - while (name != first_kw_arg) { - PyObject *name_str = **name; - #if CYTHON_USE_UNICODE_INTERNALS - if (unlikely(key_hash == ((PyASCIIObject*)name_str)->hash)) { - if (__Pyx_UnicodeKeywordsEqual(name_str, key)) - goto arg_passed_twice; - } - #else - #if CYTHON_ASSUME_SAFE_SIZE - if (PyUnicode_GET_LENGTH(name_str) == PyUnicode_GET_LENGTH(key)) - #endif - { - if (unlikely(name_str == key)) goto arg_passed_twice; - int cmp = PyUnicode_Compare(name_str, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) goto arg_passed_twice; - } - #endif - name++; - } - return 0; -arg_passed_twice: - __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; -bad: - return -1; -} -static int __Pyx_MatchKeywordArg_nostr( - PyObject *key, - PyObject ** const argnames[], - PyObject ** const *first_kw_arg, - size_t *index_found, - const char *function_name) -{ - PyObject ** const *name; - if (unlikely(!PyUnicode_Check(key))) goto invalid_keyword_type; - name = first_kw_arg; - while (*name) { - int cmp = PyObject_RichCompareBool(**name, key, Py_EQ); - if (cmp == 1) { - *index_found = (size_t) (name - argnames); - return 1; - } - if (unlikely(cmp == -1)) goto bad; - name++; - } - name = argnames; - while (name != first_kw_arg) { - int cmp = PyObject_RichCompareBool(**name, key, Py_EQ); - if (unlikely(cmp != 0)) { - if (cmp == 1) goto arg_passed_twice; - else goto bad; - } - name++; - } - return 0; -arg_passed_twice: - __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - goto bad; -bad: - return -1; -} -static CYTHON_INLINE int __Pyx_MatchKeywordArg( - PyObject *key, - PyObject ** const argnames[], - PyObject ** const *first_kw_arg, - size_t *index_found, - const char *function_name) -{ - return likely(PyUnicode_CheckExact(key)) ? - __Pyx_MatchKeywordArg_str(key, argnames, first_kw_arg, index_found, function_name) : - __Pyx_MatchKeywordArg_nostr(key, argnames, first_kw_arg, index_found, function_name); -} -static void __Pyx_RejectUnknownKeyword( - PyObject *kwds, - PyObject ** const argnames[], - PyObject ** const *first_kw_arg, - const char *function_name) -{ - #if CYTHON_AVOID_BORROWED_REFS - PyObject *pos = NULL; - #else - Py_ssize_t pos = 0; - #endif - PyObject *key = NULL; - __Pyx_BEGIN_CRITICAL_SECTION(kwds); - #if CYTHON_AVOID_BORROWED_REFS - while (__Pyx_PyDict_NextRef(kwds, &pos, &key, NULL)) - #else - (void) __Pyx_PyDict_NextRef; - while (PyDict_Next(kwds, &pos, &key, NULL)) - #endif - { - PyObject** const *name = first_kw_arg; - while (*name && (**name != key)) name++; - if (!*name) { - size_t index_found = 0; - int cmp = __Pyx_MatchKeywordArg(key, argnames, first_kw_arg, &index_found, function_name); - if (cmp != 1) { - if (cmp == 0) { - PyErr_Format(PyExc_TypeError, - "%s() got an unexpected keyword argument '%U'", - function_name, key); - } - #if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(key); - #endif - break; - } - } - #if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(key); - #endif - } - __Pyx_END_CRITICAL_SECTION(); - #if CYTHON_AVOID_BORROWED_REFS - Py_XDECREF(pos); - #endif - assert(PyErr_Occurred()); -} -static int __Pyx_ParseKeywordDict( - PyObject *kwds, - PyObject ** const argnames[], - PyObject *values[], - Py_ssize_t num_pos_args, - Py_ssize_t num_kwargs, - const char* function_name, - int ignore_unknown_kwargs) -{ - PyObject** const *name; - PyObject** const *first_kw_arg = argnames + num_pos_args; - Py_ssize_t extracted = 0; -#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments) - if (unlikely(!PyArg_ValidateKeywordArguments(kwds))) return -1; -#endif - name = first_kw_arg; - while (*name && num_kwargs > extracted) { - PyObject * key = **name; - PyObject *value; - int found = 0; - #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000 - found = PyDict_GetItemRef(kwds, key, &value); - #else - value = PyDict_GetItemWithError(kwds, key); - if (value) { - Py_INCREF(value); - found = 1; - } else { - if (unlikely(PyErr_Occurred())) goto bad; - } - #endif - if (found) { - if (unlikely(found < 0)) goto bad; - values[name-argnames] = value; - extracted++; - } - name++; - } - if (num_kwargs > extracted) { - if (ignore_unknown_kwargs) { - if (unlikely(__Pyx_ValidateDuplicatePosArgs(kwds, argnames, first_kw_arg, function_name) == -1)) - goto bad; - } else { - __Pyx_RejectUnknownKeyword(kwds, argnames, first_kw_arg, function_name); - goto bad; - } - } - return 0; -bad: - return -1; -} -static int __Pyx_ParseKeywordDictToDict( - PyObject *kwds, - PyObject ** const argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - const char* function_name) -{ - PyObject** const *name; - PyObject** const *first_kw_arg = argnames + num_pos_args; - Py_ssize_t len; -#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments) - if (unlikely(!PyArg_ValidateKeywordArguments(kwds))) return -1; -#endif - if (PyDict_Update(kwds2, kwds) < 0) goto bad; - name = first_kw_arg; - while (*name) { - PyObject *key = **name; - PyObject *value; -#if !CYTHON_COMPILING_IN_LIMITED_API && (PY_VERSION_HEX >= 0x030d00A2 || defined(PyDict_Pop)) - int found = PyDict_Pop(kwds2, key, &value); - if (found) { - if (unlikely(found < 0)) goto bad; - values[name-argnames] = value; - } -#elif __PYX_LIMITED_VERSION_HEX >= 0x030d0000 - int found = PyDict_GetItemRef(kwds2, key, &value); - if (found) { - if (unlikely(found < 0)) goto bad; - values[name-argnames] = value; - if (unlikely(PyDict_DelItem(kwds2, key) < 0)) goto bad; - } -#else - #if CYTHON_COMPILING_IN_CPYTHON - value = _PyDict_Pop(kwds2, key, kwds2); - #else - value = __Pyx_CallUnboundCMethod2(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_pop, kwds2, key, kwds2); - #endif - if (value == kwds2) { - Py_DECREF(value); - } else { - if (unlikely(!value)) goto bad; - values[name-argnames] = value; - } -#endif - name++; - } - len = PyDict_Size(kwds2); - if (len > 0) { - return __Pyx_ValidateDuplicatePosArgs(kwds, argnames, first_kw_arg, function_name); - } else if (unlikely(len == -1)) { - goto bad; - } - return 0; -bad: - return -1; -} -static int __Pyx_ParseKeywordsTuple( - PyObject *kwds, - PyObject * const *kwvalues, - PyObject ** const argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - Py_ssize_t num_kwargs, - const char* function_name, - int ignore_unknown_kwargs) -{ - PyObject *key = NULL; - PyObject** const * name; - PyObject** const *first_kw_arg = argnames + num_pos_args; - for (Py_ssize_t pos = 0; pos < num_kwargs; pos++) { -#if CYTHON_AVOID_BORROWED_REFS - key = __Pyx_PySequence_ITEM(kwds, pos); -#else - key = __Pyx_PyTuple_GET_ITEM(kwds, pos); -#endif -#if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely(!key)) goto bad; -#endif - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - PyObject *value = kwvalues[pos]; - values[name-argnames] = __Pyx_NewRef(value); - } else { - size_t index_found = 0; - int cmp = __Pyx_MatchKeywordArg(key, argnames, first_kw_arg, &index_found, function_name); - if (cmp == 1) { - PyObject *value = kwvalues[pos]; - values[index_found] = __Pyx_NewRef(value); - } else { - if (unlikely(cmp == -1)) goto bad; - if (kwds2) { - PyObject *value = kwvalues[pos]; - if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; - } else if (!ignore_unknown_kwargs) { - goto invalid_keyword; - } - } - } - #if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(key); - key = NULL; - #endif - } - return 0; -invalid_keyword: - PyErr_Format(PyExc_TypeError, - "%s() got an unexpected keyword argument '%U'", - function_name, key); - goto bad; -bad: - #if CYTHON_AVOID_BORROWED_REFS - Py_XDECREF(key); - #endif - return -1; -} - -/* ParseKeywords */ -static int __Pyx_ParseKeywords( - PyObject *kwds, - PyObject * const *kwvalues, - PyObject ** const argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - Py_ssize_t num_kwargs, - const char* function_name, - int ignore_unknown_kwargs) -{ - if (CYTHON_VECTORCALL && likely(PyTuple_Check(kwds))) - return __Pyx_ParseKeywordsTuple(kwds, kwvalues, argnames, kwds2, values, num_pos_args, num_kwargs, function_name, ignore_unknown_kwargs); - else if (kwds2) - return __Pyx_ParseKeywordDictToDict(kwds, argnames, kwds2, values, num_pos_args, function_name); - else - return __Pyx_ParseKeywordDict(kwds, argnames, values, num_pos_args, num_kwargs, function_name, ignore_unknown_kwargs); -} - -/* FormatTypeName (used by RaiseErrorWithObjectType1) */ -#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000 -static __Pyx_TypeName -__Pyx_PyType_GetFullyQualifiedName(PyTypeObject* tp) -{ - PyObject *module = NULL, *name = NULL, *result = NULL; - #if __PYX_LIMITED_VERSION_HEX < 0x030b0000 - name = __Pyx_PyObject_GetAttrStr((PyObject *)tp, - __pyx_mstate_global->__pyx_n_u_qualname); - #else - name = PyType_GetQualName(tp); - #endif - if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) goto bad; - module = __Pyx_PyObject_GetAttrStr((PyObject *)tp, - __pyx_mstate_global->__pyx_n_u_module); - if (unlikely(module == NULL) || unlikely(!PyUnicode_Check(module))) goto bad; - if (PyUnicode_CompareWithASCIIString(module, "builtins") == 0) { - result = name; - name = NULL; - goto done; - } - result = PyUnicode_FromFormat("%U.%U", module, name); - if (unlikely(result == NULL)) goto bad; - done: - Py_XDECREF(name); - Py_XDECREF(module); - return result; - bad: - PyErr_Clear(); - if (name) { - result = name; - name = NULL; - } else { - result = __Pyx_NewRef(__pyx_mstate_global->__pyx_kp_u_); - } - goto done; -} -#endif - -/* RaiseErrorWithObjectType1 (used by RaiseUnexpectedTypeError) */ -static void __Pyx_RaiseErrorWithType1(PyObject* exc_type, const char* message, const char *arg, PyTypeObject *type_obj) { - __Pyx_TypeName type_name = __Pyx_PyType_GetFullyQualifiedName(type_obj); - #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000 - if (unlikely(!type_name)) return; - #endif - PyErr_Format(exc_type, message, arg, type_name); - __Pyx_DECREF_TypeName(type_name); -} - -/* RaiseUnexpectedTypeError */ -static int __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj) { - __Pyx_RaiseTypeErrorWithObjectType1( - "Expected %.42s, got " __Pyx_FMT_TYPENAME, - expected, obj); - return 0; -} - -/* PyUnicode_Unicode */ -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj) { - if (unlikely(obj == Py_None)) - obj = __pyx_mstate_global->__pyx_kp_u_None; - return __Pyx_NewRef(obj); -} - -/* CIntToDigits (used by CIntToPyUnicode) */ -static const char DIGIT_PAIRS_10[2*10*10+1] = { - "00010203040506070809" - "10111213141516171819" - "20212223242526272829" - "30313233343536373839" - "40414243444546474849" - "50515253545556575859" - "60616263646566676869" - "70717273747576777879" - "80818283848586878889" - "90919293949596979899" -}; -static const char DIGIT_PAIRS_8[2*8*8+1] = { - "0001020304050607" - "1011121314151617" - "2021222324252627" - "3031323334353637" - "4041424344454647" - "5051525354555657" - "6061626364656667" - "7071727374757677" -}; -static const char DIGITS_HEX[2*16+1] = { - "0123456789abcdef" - "0123456789ABCDEF" -}; - -/* BuildPyUnicode (used by COrdinalToPyUnicode) */ -static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength, const char* chars, int clength, - int prepend_sign, char padding_char) { - PyObject *uval; - Py_ssize_t uoffset = ulength - clength; -#if CYTHON_USE_UNICODE_INTERNALS - Py_ssize_t i; - void *udata; - uval = PyUnicode_New(ulength, 127); - if (unlikely(!uval)) return NULL; - udata = PyUnicode_DATA(uval); - if (uoffset > 0) { - i = 0; - if (prepend_sign) { - __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, 0, '-'); - i++; - } - for (; i < uoffset; i++) { - __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, i, padding_char); - } - } - for (i=0; i < clength; i++) { - __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, uoffset+i, chars[i]); - } -#else - { - PyObject *sign = NULL, *padding = NULL; - uval = NULL; - if (uoffset > 0) { - prepend_sign = !!prepend_sign; - if (uoffset > prepend_sign) { - padding = PyUnicode_FromOrdinal(padding_char); - if (likely(padding) && uoffset > prepend_sign + 1) { - PyObject *tmp = PySequence_Repeat(padding, uoffset - prepend_sign); - Py_DECREF(padding); - padding = tmp; - } - if (unlikely(!padding)) goto done_or_error; - } - if (prepend_sign) { - sign = PyUnicode_FromOrdinal('-'); - if (unlikely(!sign)) goto done_or_error; - } - } - uval = PyUnicode_DecodeASCII(chars, clength, NULL); - if (likely(uval) && padding) { - PyObject *tmp = PyUnicode_Concat(padding, uval); - Py_DECREF(uval); - uval = tmp; - } - if (likely(uval) && sign) { - PyObject *tmp = PyUnicode_Concat(sign, uval); - Py_DECREF(uval); - uval = tmp; - } -done_or_error: - Py_XDECREF(padding); - Py_XDECREF(sign); - } -#endif - return uval; -} - -/* COrdinalToPyUnicode (used by CIntToPyUnicode) */ -static CYTHON_INLINE int __Pyx_CheckUnicodeValue(int value) { - return value <= 1114111; -} -static PyObject* __Pyx_PyUnicode_FromOrdinal_Padded(int value, Py_ssize_t ulength, char padding_char) { - Py_ssize_t padding_length = ulength - 1; - if (likely((padding_length <= 250) && (value < 0xD800 || value > 0xDFFF))) { - char chars[256]; - if (value <= 255) { - memset(chars, padding_char, (size_t) padding_length); - chars[ulength-1] = (char) value; - return PyUnicode_DecodeLatin1(chars, ulength, NULL); - } - char *cpos = chars + sizeof(chars); - if (value < 0x800) { - *--cpos = (char) (0x80 | (value & 0x3f)); - value >>= 6; - *--cpos = (char) (0xc0 | (value & 0x1f)); - } else if (value < 0x10000) { - *--cpos = (char) (0x80 | (value & 0x3f)); - value >>= 6; - *--cpos = (char) (0x80 | (value & 0x3f)); - value >>= 6; - *--cpos = (char) (0xe0 | (value & 0x0f)); - } else { - *--cpos = (char) (0x80 | (value & 0x3f)); - value >>= 6; - *--cpos = (char) (0x80 | (value & 0x3f)); - value >>= 6; - *--cpos = (char) (0x80 | (value & 0x3f)); - value >>= 6; - *--cpos = (char) (0xf0 | (value & 0x07)); - } - cpos -= padding_length; - memset(cpos, padding_char, (size_t) padding_length); - return PyUnicode_DecodeUTF8(cpos, chars + sizeof(chars) - cpos, NULL); - } - if (value <= 127 && CYTHON_USE_UNICODE_INTERNALS) { - const char chars[1] = {(char) value}; - return __Pyx_PyUnicode_BuildFromAscii(ulength, chars, 1, 0, padding_char); - } - { - PyObject *uchar, *padding_uchar, *padding, *result; - padding_uchar = PyUnicode_FromOrdinal(padding_char); - if (unlikely(!padding_uchar)) return NULL; - padding = PySequence_Repeat(padding_uchar, padding_length); - Py_DECREF(padding_uchar); - if (unlikely(!padding)) return NULL; - uchar = PyUnicode_FromOrdinal(value); - if (unlikely(!uchar)) { - Py_DECREF(padding); - return NULL; - } - result = PyUnicode_Concat(padding, uchar); - Py_DECREF(padding); - Py_DECREF(uchar); - return result; - } -} - -/* CIntToPyUnicode */ -static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_TA_RetCode(TA_RetCode value, Py_ssize_t width, char padding_char) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const TA_RetCode neg_one = (TA_RetCode) -1, const_zero = (TA_RetCode) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (unlikely(!(is_unsigned || value == 0 || value > 0) || - !(sizeof(value) <= 2 || value & ~ (TA_RetCode) 0x01fffff || __Pyx_CheckUnicodeValue((int) value)))) { - PyErr_SetString(PyExc_OverflowError, "%c arg not in range(0x110000)"); - return NULL; - } - if (width <= 1) { - return PyUnicode_FromOrdinal((int) value); - } - return __Pyx_PyUnicode_FromOrdinal_Padded((int) value, width, padding_char); -} -static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_TA_RetCode(TA_RetCode value, Py_ssize_t width, char padding_char, char format_char) { - char digits[sizeof(TA_RetCode)*3+2]; - char *dpos, *end = digits + sizeof(TA_RetCode)*3+2; - const char *hex_digits = DIGITS_HEX; - Py_ssize_t length, ulength; - int prepend_sign, last_one_off; - TA_RetCode remaining; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const TA_RetCode neg_one = (TA_RetCode) -1, const_zero = (TA_RetCode) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (format_char == 'X') { - hex_digits += 16; - format_char = 'x'; - } - remaining = value; - last_one_off = 0; - dpos = end; - do { - int digit_pos; - switch (format_char) { - case 'o': - digit_pos = abs((int)(remaining % (8*8))); - remaining = (TA_RetCode) (remaining / (8*8)); - dpos -= 2; - memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2); - last_one_off = (digit_pos < 8); - break; - case 'd': - digit_pos = abs((int)(remaining % (10*10))); - remaining = (TA_RetCode) (remaining / (10*10)); - dpos -= 2; - memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2); - last_one_off = (digit_pos < 10); - break; - case 'x': - *(--dpos) = hex_digits[abs((int)(remaining % 16))]; - remaining = (TA_RetCode) (remaining / 16); - break; - default: - assert(0); - break; - } - } while (unlikely(remaining != 0)); - assert(!last_one_off || *dpos == '0'); - dpos += last_one_off; - length = end - dpos; - ulength = length; - prepend_sign = 0; - if (!is_unsigned && value <= neg_one) { - if (padding_char == ' ' || width <= length + 1) { - *(--dpos) = '-'; - ++length; - } else { - prepend_sign = 1; - } - ++ulength; - } - if (width > ulength) { - ulength = width; - } - if (ulength == 1) { - return PyUnicode_FromOrdinal(*dpos); - } - return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char); -} - -/* JoinPyUnicode */ -static PyObject* __Pyx_PyUnicode_Join(PyObject** values, Py_ssize_t value_count, Py_ssize_t result_ulength, int kind) { -#if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH && CYTHON_USE_UNICODE_INTERNALS - PyObject *result_uval; - int result_ukind, kind_shift; - Py_ssize_t i, char_pos; - void *result_udata; - static const Py_UCS4 max_char[5] = {0x7fU, 0xffU, 0xffffU, 0xffffU, 0x10ffffU}; - assert (kind >= 0); - if (kind > PyUnicode_4BYTE_KIND) kind = PyUnicode_4BYTE_KIND; - result_uval = PyUnicode_New(result_ulength, max_char[kind]); - if (unlikely(!result_uval)) return NULL; - kind_shift = kind >> 1; // 0, 1, 2 - result_ukind = 1 << kind_shift; // 1, 2, 4 - result_udata = PyUnicode_DATA(result_uval); - assert(kind_shift == 2 || kind_shift == 1 || kind_shift == 0); - if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - result_ulength < 0)) - goto overflow; - char_pos = 0; - for (i=0; i < value_count; i++) { - int ukind; - Py_ssize_t ulength; - void *udata; - PyObject *uval = values[i]; - if (__Pyx_PyUnicode_READY(uval) == (-1)) - goto bad; - ulength = __Pyx_PyUnicode_GET_LENGTH(uval); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely(ulength < 0)) goto bad; - #endif - if (unlikely(!ulength)) - continue; - if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - ulength < char_pos)) - goto overflow; - ukind = __Pyx_PyUnicode_KIND(uval); - udata = __Pyx_PyUnicode_DATA(uval); - if (ukind == result_ukind) { - memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift)); - } else { - #if PY_VERSION_HEX >= 0x030d0000 - if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad; - #elif CYTHON_COMPILING_IN_CPYTHON || defined(_PyUnicode_FastCopyCharacters) - _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength); - #else - Py_ssize_t j; - for (j=0; j < ulength; j++) { - Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j); - __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar); - } - #endif - } - char_pos += ulength; - } - return result_uval; -overflow: - PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string"); -bad: - Py_DECREF(result_uval); - return NULL; -#else - Py_ssize_t i; - PyObject *result = NULL; - PyObject *value_tuple = PyTuple_New(value_count); - if (unlikely(!value_tuple)) return NULL; - CYTHON_UNUSED_VAR(kind); - CYTHON_UNUSED_VAR(result_ulength); - for (i=0; i__pyx_empty_unicode, value_tuple); -bad: - Py_DECREF(value_tuple); - return result; -#endif -} - -/* ArgTypeTestError (used by ArgTypeTest) */ -static void __Pyx_ArgTypeError(PyObject *obj, PyTypeObject *type, const char *name, int exact) -{ - __Pyx_TypeName type_name; - __Pyx_TypeName obj_type_name; - PyObject *extra_info = __pyx_mstate_global->__pyx_empty_unicode; - int from_annotation_subclass = 0; - if (unlikely(!type)) { - PyErr_SetString(PyExc_SystemError, "Missing type object"); - return; - } else if (exact == 2) { - if (__Pyx_TypeCheck(obj, type)) { - from_annotation_subclass = 1; - extra_info = __pyx_mstate_global->__pyx_kp_u_Note_that_Cython_is_deliberately; - } - } - type_name = __Pyx_PyType_GetFullyQualifiedName(type); - #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000 - if (unlikely(!type_name)) return; - #endif - obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj)); - #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000 - if (unlikely(!obj_type_name)) goto obj_type_name_failed; - #endif - PyErr_Format(PyExc_TypeError, - "Argument '%.200s' has incorrect type (expected " __Pyx_FMT_TYPENAME ", got " __Pyx_FMT_TYPENAME ")" -#if __PYX_LIMITED_VERSION_HEX < 0x030C0000 - "%s%U" -#endif - , name, type_name, obj_type_name -#if __PYX_LIMITED_VERSION_HEX < 0x030C0000 - , (from_annotation_subclass ? ". " : ""), extra_info -#endif - ); -#if __PYX_LIMITED_VERSION_HEX >= 0x030C0000 - if (exact == 2 && from_annotation_subclass) { - PyObject *res; - PyObject *vargs[2]; - vargs[0] = PyErr_GetRaisedException(); - vargs[1] = extra_info; - res = PyObject_VectorcallMethod(__pyx_mstate_global->__pyx_kp_u_add_note, vargs, 2, NULL); - Py_XDECREF(res); - PyErr_SetRaisedException(vargs[0]); - } -#endif - __Pyx_DECREF_TypeName(obj_type_name); -#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000 -obj_type_name_failed: -#endif - __Pyx_DECREF_TypeName(type_name); - return; -} - -/* ArgTypeTest */ -static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, const char *name, int exact) { - if (likely(Py_IS_TYPE(obj, type) | (none_allowed && (obj == Py_None)))) - return 1; - if (!exact && likely(type) && likely(__Pyx_TypeCheck(obj, type))) - return 1; - __Pyx_ArgTypeError(obj, type, name, exact); - return 0; -} - -/* PyObjectLookupSpecial */ -#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error) { - PyObject *res; - PyTypeObject *tp = Py_TYPE(obj); - res = _PyType_Lookup(tp, attr_name); - if (likely(res)) { - descrgetfunc f = Py_TYPE(res)->tp_descr_get; - if (!f) { - Py_INCREF(res); - } else { - res = f(res, obj, (PyObject *)tp); - } - } else if (with_error) { - PyErr_SetObject(PyExc_AttributeError, attr_name); - } - return res; -} -#endif - -/* SwapException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_value = exc_info->exc_value; - exc_info->exc_value = *value; - if (tmp_value == NULL || tmp_value == Py_None) { - Py_XDECREF(tmp_value); - tmp_value = NULL; - tmp_type = NULL; - tmp_tb = NULL; - } else { - tmp_type = (PyObject*) Py_TYPE(tmp_value); - Py_INCREF(tmp_type); - #if CYTHON_COMPILING_IN_CPYTHON - tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback; - Py_XINCREF(tmp_tb); - #else - tmp_tb = PyException_GetTraceback(tmp_value); - #endif - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = *type; - exc_info->exc_value = *value; - exc_info->exc_traceback = *tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = *type; - tstate->exc_value = *value; - tstate->exc_traceback = *tb; - #endif - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); - PyErr_SetExcInfo(*type, *value, *tb); - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#endif - -/* PyObjectSetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_setattro)) - return tp->tp_setattro(obj, attr_name, value); - return PyObject_SetAttr(obj, attr_name, value); -} -#endif - -/* PyFrozenDict (used by GetItemInt) */ -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE PyObject* __Pyx__PyFrozenDict_New(PyObject* frozendict_type, PyObject* it) { - return PyObject_CallFunctionObjArgs(frozendict_type, it, NULL); -} -#endif - -/* GettItemInt_wraparound (used by GetItemInt) */ -#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY -static int __Pyx_GetItemInt_wraparound(PyObject *o, PySequenceMethods *sm, Py_ssize_t *i) { - assert(*i < 0); - if (likely(sm->sq_length)) { - Py_ssize_t l = sm->sq_length(o); - if (likely(l >= 0)) { - *i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return -1; - PyErr_Clear(); - } - } - return 0; -} -#endif - -/* GetItemInt */ -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (unlikely(!j)) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} -static PyObject *__Pyx_GetItemInt_Generic_size(PyObject *o, Py_ssize_t i) { - return __Pyx_GetItemInt_Generic(o, PyLong_FromSsize_t(i)); -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck, int unsafe_shared) { - CYTHON_MAYBE_UNUSED_VAR(unsafe_shared); -#if CYTHON_AVOID_BORROWED_REFS - CYTHON_UNUSED_VAR(boundscheck); - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - Py_ssize_t size = __Pyx_PyList_GET_SIZE(o); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely(size < 0)) return NULL; - #endif - wrapped_i += size; - } - return __Pyx_PyList_GetItemRef(o, wrapped_i); -#elif CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS - Py_ssize_t wrapped_i = i; - Py_ssize_t size = (wraparound | boundscheck) ? PyList_GET_SIZE(o) : -1; - if (wraparound & unlikely(i < 0)) { - wrapped_i += size; - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, size))) { - return __Pyx_PyList_GET_ITEM_REF(o, wrapped_i, unsafe_shared); - } - return __Pyx_GetItemInt_Generic_size(o, i); -#else - (void)wraparound; - (void)boundscheck; - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck, int unsafe_shared) { - CYTHON_MAYBE_UNUSED_VAR(unsafe_shared); -#if CYTHON_AVOID_BORROWED_REFS - CYTHON_UNUSED_VAR(boundscheck); - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - Py_ssize_t size = __Pyx_PyTuple_GET_SIZE(o); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely(size < 0)) return NULL; - #endif - wrapped_i += size; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_COMPILING_IN_LIMITED_API - return PySequence_ITEM(o, wrapped_i); - #else - if (unlikely(wrapped_i < 0)) { - PyErr_SetString(PyExc_IndexError, "tuple index out of range"); - return NULL; - } - return PySequence_GetItem(o, wrapped_i); - #endif -#elif CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS - Py_ssize_t wrapped_i = i; - Py_ssize_t size = (wraparound | boundscheck) ? PyTuple_GET_SIZE(o) : -1; - if (wraparound & unlikely(i < 0)) { - wrapped_i += size; - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, size))) { - return __Pyx_NewRef(__Pyx_PyTuple_GET_ITEM(o, wrapped_i)); - } - return __Pyx_GetItemInt_Generic_size(o, i); -#else - (void)wraparound; - (void)boundscheck; - return PySequence_GetItem(o, i); -#endif -} -#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast_mapping(PyObject *o, binaryfunc getitem, Py_ssize_t i) { - PyObject *r, *key = PyLong_FromSsize_t(i); - if (unlikely(!key)) return NULL; - r = getitem(o, key); - Py_DECREF(key); - return r; -} -#endif -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck, int unsafe_shared) { - CYTHON_MAYBE_UNUSED_VAR(unsafe_shared); -#if CYTHON_ASSUME_SAFE_SIZE - if (PyList_CheckExact(o)) { - return __Pyx_GetItemInt_List_Fast(o, i, wraparound, boundscheck, unsafe_shared); - } else - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (PyTuple_CheckExact(o)) { - return __Pyx_GetItemInt_Tuple_Fast(o, i, wraparound, boundscheck, unsafe_shared); - } else - #endif -#else - if ((!wraparound || i >= 0) & PyList_CheckExact(o)) { - return boundscheck ? __Pyx_PyList_GetItemRef(o, i) : __Pyx_PyList_GET_ITEM_REF(o, i, unsafe_shared); - } else -#endif -#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY - if (PyDict_CheckExact(o)) { - return __Pyx_GetItemInt_Fast_mapping(o, PyDict_Type.tp_as_mapping->mp_subscript, i); - #if defined(PyFrozenDict_CheckExact) - } else if (PyFrozenDict_CheckExact(o)) { - return __Pyx_GetItemInt_Fast_mapping(o, PyFrozenDict_Type.tp_as_mapping->mp_subscript, i); - #endif - } else - { - PyTypeObject *obj_type = Py_TYPE(o); - int seq_or_mapping = __Pyx_PyType_GetFlags(obj_type) & (Py_TPFLAGS_SEQUENCE|Py_TPFLAGS_MAPPING); - if (seq_or_mapping != Py_TPFLAGS_SEQUENCE) { - PyMappingMethods *mm = obj_type->tp_as_mapping; - if (mm && mm->mp_subscript) - return __Pyx_GetItemInt_Fast_mapping(o, mm->mp_subscript, i); - } - PySequenceMethods *sm = obj_type->tp_as_sequence; - if (likely(sm && sm->sq_item)) { - if (wraparound && (i < 0) && unlikely(__Pyx_GetItemInt_wraparound(o, sm, &i) == -1)) - return NULL; - return sm->sq_item(o, i); - } - if (seq_or_mapping == Py_TPFLAGS_SEQUENCE) { - PyMappingMethods *mm = obj_type->tp_as_mapping; - if (likely(mm && mm->mp_subscript)) - return __Pyx_GetItemInt_Fast_mapping(o, mm->mp_subscript, i); - } - } -#else - if (!PyMapping_Check(o)) { - return PySequence_GetItem(o, i); - } -#endif - (void)wraparound; - (void)boundscheck; - return __Pyx_GetItemInt_Generic_size(o, i); -} - -/* RaiseErrorWithObjectType (used by ObjectGetItem) */ -static void __Pyx_RaiseErrorWithType(PyObject* exc_type, const char* message, PyTypeObject *type_obj) { - __Pyx_TypeName type_name = __Pyx_PyType_GetFullyQualifiedName(type_obj); - #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000 - if (unlikely(!type_name)) return; - #endif - PyErr_Format(exc_type, message, type_name); - __Pyx_DECREF_TypeName(type_name); -} - -/* ObjectGetItem */ -#if CYTHON_USE_TYPE_SLOTS -static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject *index) { - PyObject *runerr = NULL; - Py_ssize_t key_value; - key_value = __Pyx_PyIndex_AsSsize_t(index); - if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { - return __Pyx_GetItemInt_Fast(obj, key_value, 1, 1, 1); - } - if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { - PyErr_Clear(); - __Pyx_RaiseErrorWithObjectType( - PyExc_IndexError, - "cannot fit '" __Pyx_FMT_TYPENAME "' into an index-sized integer", - index); - } - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) { - if (likely(PyType_Check(obj))) { - if ((PyTypeObject*)obj == &PyType_Type) { - return Py_GenericAlias(obj, key); - } - PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_mstate_global->__pyx_n_u_class_getitem); - if (!meth) { - if (PyErr_Occurred()) { - return NULL; - } - } else { - PyObject *result = __Pyx_PyObject_CallOneArg(meth, key); - Py_DECREF(meth); - return result; - } - } - __Pyx_RaiseTypeErrorWithObjectType( - "'" __Pyx_FMT_TYPENAME "' object is not subscriptable", obj); - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key) { - PyTypeObject *tp = Py_TYPE(obj); - PyMappingMethods *mm = tp->tp_as_mapping; - PySequenceMethods *sm = tp->tp_as_sequence; - if (likely(mm && mm->mp_subscript)) { - return mm->mp_subscript(obj, key); - } - if (likely(sm && sm->sq_item)) { - return __Pyx_PyObject_GetIndex(obj, key); - } - return __Pyx_PyObject_GetItem_Slow(obj, key); -} -#endif - -/* PyObjectFormatAndDecref */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatSimpleAndDecref(PyObject* s, PyObject* f) { - if (unlikely(!s)) return NULL; - if (likely(PyUnicode_CheckExact(s))) return s; - return __Pyx_PyObject_FormatAndDecref(s, f); -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatAndDecref(PyObject* s, PyObject* f) { - PyObject *result; - if (unlikely(!s)) return NULL; - result = PyObject_Format(s, f); - Py_DECREF(s); - return result; -} - -/* PyObjectVectorcallKwds */ -#if CYTHON_VECTORCALL -CYTHON_UNUSED static int __Pyx_CheckVectorcallKwarg(PyObject *kwnames, Py_ssize_t i) { - PyObject *key = __Pyx_PyTuple_GET_ITEM(kwnames, i); -#if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely(!key)) return -1; -#endif - if (unlikely(!PyUnicode_Check(key))) { - PyErr_SetString(PyExc_TypeError, "keywords must be strings"); - return -1; - } - return 0; -} -#else -CYTHON_UNUSED static PyObject *__Pyx_MakeKwargDict(PyObject **keys, PyObject **values, Py_ssize_t n) { - PyObject *out = PyDict_New(); - if (unlikely(!out)) return NULL; - for (Py_ssize_t i=0; iallocated > len) & likely(len > (L->allocated >> 1))) { - Py_INCREF(x); - __Pyx__ListComp_AppendAndDecref(list, len, x); - return 0; - } - return PyList_Append(list, x); -} -#endif - -/* PyObjectCallMethod0 (used by dict_iter_common) */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) { -#if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || !CYTHON_COMPILING_IN_LIMITED_API) - return PyObject_VectorcallMethod(method_name, &obj, 1 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); -#elif CYTHON_COMPILING_IN_LIMITED_API - return PyObject_CallMethodObjArgs(obj, method_name, NULL); -#else - return PyObject_CallMethodNoArgs(obj, method_name); -#endif -} - -/* RaiseNoneIterError (used by UnpackTupleError) */ -static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); -} - -/* UnpackTupleError (used by UnpackTuple2) */ -static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) { - if (t == Py_None) { - __Pyx_RaiseNoneNotIterableError(); - } else { - Py_ssize_t size = __Pyx_PyTuple_GET_SIZE(t); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely(size < 0)) return; - #endif - if (size < index) { - __Pyx_RaiseNeedMoreValuesError(size); - } else { - __Pyx_RaiseTooManyValuesError(index); - } - } -} - -/* UnpackTuple2 (used by dict_iter_common) */ -static CYTHON_INLINE int __Pyx_unpack_tuple2( - PyObject* tuple, PyObject** value1, PyObject** value2, int is_tuple, int has_known_size, int decref_tuple) { - if (likely(is_tuple || PyTuple_Check(tuple))) { - Py_ssize_t size; - if (has_known_size) { - return __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple); - } - size = __Pyx_PyTuple_GET_SIZE(tuple); - if (likely(size == 2)) { - return __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple); - } - if (size >= 0) { - __Pyx_UnpackTupleError(tuple, 2); - } - return -1; - } else { - return __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple); - } -} -static CYTHON_INLINE int __Pyx_unpack_tuple2_exact( - PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) { - PyObject *value1 = NULL, *value2 = NULL; -#if CYTHON_AVOID_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS - value1 = __Pyx_PySequence_ITEM(tuple, 0); if (unlikely(!value1)) goto bad; - value2 = __Pyx_PySequence_ITEM(tuple, 1); if (unlikely(!value2)) goto bad; -#else - value1 = PyTuple_GET_ITEM(tuple, 0); Py_INCREF(value1); - value2 = PyTuple_GET_ITEM(tuple, 1); Py_INCREF(value2); -#endif - if (decref_tuple) { - Py_DECREF(tuple); - } - *pvalue1 = value1; - *pvalue2 = value2; - return 0; -#if CYTHON_AVOID_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS -bad: - Py_XDECREF(value1); - Py_XDECREF(value2); - if (decref_tuple) { Py_XDECREF(tuple); } - return -1; -#endif -} -static int __Pyx_unpack_tuple2_generic(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, - int has_known_size, int decref_tuple) { - Py_ssize_t index; - PyObject *value1 = NULL, *value2 = NULL, *iter = NULL; - iternextfunc iternext; - iter = PyObject_GetIter(tuple); - if (unlikely(!iter)) goto bad; - if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; } - iternext = __Pyx_PyObject_GetIterNextFunc(iter); - value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; } - value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; } - if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad; - Py_DECREF(iter); - *pvalue1 = value1; - *pvalue2 = value2; - return 0; -unpacking_failed: - if (!has_known_size && __Pyx_IterFinish() == 0) - __Pyx_RaiseNeedMoreValuesError(index); -bad: - Py_XDECREF(iter); - Py_XDECREF(value1); - Py_XDECREF(value2); - if (decref_tuple) { Py_XDECREF(tuple); } - return -1; -} - -/* dict_iter_common (used by dict_iter) */ -static PyObject *__Pyx_dict_call_to_get_iterable(PyObject* iterable, PyObject* method_name) { - PyObject* iter; - iterable = __Pyx_PyObject_CallMethod0(iterable, method_name); - if (!iterable) - return NULL; -#if !CYTHON_AVOID_BORROWED_REFS - if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable)) - return iterable; -#endif - iter = PyObject_GetIter(iterable); - Py_DECREF(iterable); - return iter; -} -#if !CYTHON_AVOID_BORROWED_REFS -static CYTHON_INLINE int __Pyx_dict_iter_next_source_is_dict( - PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos, - PyObject** pkey, PyObject** pvalue, PyObject** pitem) { - PyObject *key, *value; - if (unlikely(orig_length != PyDict_Size(iter_obj))) { - PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration"); - return -1; - } - if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) { - return 0; - } - if (pitem) { - PyObject* tuple = PyTuple_New(2); - if (unlikely(!tuple)) { - return -1; - } - Py_INCREF(key); - Py_INCREF(value); - #if CYTHON_ASSUME_SAFE_MACROS - PyTuple_SET_ITEM(tuple, 0, key); - PyTuple_SET_ITEM(tuple, 1, value); - #else - if (unlikely(PyTuple_SetItem(tuple, 0, key) < 0)) { - Py_DECREF(value); - Py_DECREF(tuple); - return -1; - } - if (unlikely(PyTuple_SetItem(tuple, 1, value) < 0)) { - Py_DECREF(tuple); - return -1; - } - #endif - *pitem = tuple; - } else { - if (pkey) { - Py_INCREF(key); - *pkey = key; - } - if (pvalue) { - Py_INCREF(value); - *pvalue = value; - } - } - return 1; -} -#endif -static CYTHON_INLINE int __Pyx_dict_iter_next( - PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos, - PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) { - PyObject* next_item; -#if !CYTHON_AVOID_BORROWED_REFS - if (source_is_dict) { - int result; -#if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API - Py_BEGIN_CRITICAL_SECTION(iter_obj); -#endif - result = __Pyx_dict_iter_next_source_is_dict(iter_obj, orig_length, ppos, pkey, pvalue, pitem); -#if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API - Py_END_CRITICAL_SECTION(); -#endif - return result; - } else if (PyTuple_CheckExact(iter_obj)) { - Py_ssize_t pos = *ppos; - Py_ssize_t tuple_size = __Pyx_PyTuple_GET_SIZE(iter_obj); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely(tuple_size < 0)) return -1; - #endif - if (unlikely(pos >= tuple_size)) return 0; - *ppos = pos + 1; - #if CYTHON_ASSUME_SAFE_MACROS - next_item = PyTuple_GET_ITEM(iter_obj, pos); - #else - next_item = PyTuple_GetItem(iter_obj, pos); - if (unlikely(!next_item)) return -1; - #endif - Py_INCREF(next_item); - } else if (PyList_CheckExact(iter_obj)) { - Py_ssize_t pos = *ppos; - Py_ssize_t list_size = __Pyx_PyList_GET_SIZE(iter_obj); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely(list_size < 0)) return -1; - #endif - if (unlikely(pos >= list_size)) return 0; - *ppos = pos + 1; - next_item = __Pyx_PyList_GET_ITEM_REF(iter_obj, pos, __Pyx_ReferenceSharing_OwnStrongReference); - if (unlikely(!next_item)) return -1; - } else -#endif - { - next_item = PyIter_Next(iter_obj); - if (unlikely(!next_item)) { - return __Pyx_IterFinish(); - } - } - if (pitem) { - *pitem = next_item; - } else if (pkey && pvalue) { - if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1)) - return -1; - } else if (pkey) { - *pkey = next_item; - } else { - *pvalue = next_item; - } - return 1; -} - -/* dict_iter */ -static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name, - Py_ssize_t* p_orig_length, int* p_source_is_dict) { - is_dict = is_dict || likely(__Pyx_PyAnyDict_CheckExact(iterable)); - *p_source_is_dict = is_dict; -#if !CYTHON_AVOID_BORROWED_REFS - if (is_dict) { - *p_orig_length = PyDict_Size(iterable); - Py_INCREF(iterable); - return iterable; - } -#endif - *p_orig_length = 0; - if (method_name) { - return __Pyx_dict_call_to_get_iterable(iterable, method_name); - } else { - return PyObject_GetIter(iterable); - } -} - -/* PyObjectCompare */ -#ifndef __Pyx_DEFINED_PyObject_CompareIntIntBoolGt -#define __Pyx_DEFINED_PyObject_CompareIntIntBoolGt -static int __Pyx_PyObject_CompareIntIntBoolGt(PyObject *op1, PyObject *op2) { -#if CYTHON_USE_PYLONG_INTERNALS - Py_ssize_t cmp = __Pyx_PyLong_CompareSignAndSize(op1, op2); - if (cmp == 0) { - Py_ssize_t size = __Pyx_PyLong_DigitCount(op1); - if (size > 0) { - const digit* digits1 = __Pyx_PyLong_Digits(op1); - const digit* digits2 = __Pyx_PyLong_Digits(op2); - if (size == 1) { - cmp = (Py_ssize_t) digits1[0] - (Py_ssize_t) digits2[0]; - } else if ((size == 2) && (8 * sizeof(Py_ssize_t) >= 2 * PyLong_SHIFT)) { - cmp = (Py_ssize_t) (((((size_t)digits1[1]) << PyLong_SHIFT) | (size_t)digits1[0])) - (Py_ssize_t) (((((size_t)digits2[1]) << PyLong_SHIFT) | (size_t)digits2[0])); - } else { - for (Py_ssize_t i=size-1; i >= 0 && !cmp; --i) { - cmp = (Py_ssize_t) digits1[i] - (Py_ssize_t) digits2[i]; - } - } - } - if (cmp == 0) goto __pyx_return_false; - if (__Pyx_PyLong_IsNeg(op1)) cmp = -cmp; - } - if (cmp < 0) goto __pyx_return_false; else goto __pyx_return_true; -#else - int overflow1, overflow2; - long long iop1 = PyLong_AsLongLongAndOverflow(op1, &overflow1); - long long iop2 = PyLong_AsLongLongAndOverflow(op2, &overflow2); - if (likely(!(overflow1 | overflow2))) { - if (iop1 > iop2) goto __pyx_return_true; else goto __pyx_return_false; - } else if (overflow1 != overflow2) { - if (overflow1 > overflow2) goto __pyx_return_true; else goto __pyx_return_false; - } else { - return __Pyx_PyObject_RichCompareBool(op1, op2, Py_GT); - } -#endif -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} -#endif -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolGt_int_int(PyObject *op1, PyObject *op2, int pyop) { - CYTHON_UNUSED_VAR(pyop); - if (unlikely(op1 == Py_None)) { - goto __pyx_richcmp; - } - if (unlikely(op2 == Py_None)) { - goto __pyx_richcmp; - } - if (op1 == op2) goto __pyx_return_false; - if (likely(op1 != Py_None)) { - if (op1 == op2) goto __pyx_return_false; - if (likely(op2 != Py_None)) { - return __Pyx_PyObject_CompareIntIntBoolGt(op1, op2); - } - goto __pyx_richcmp; - } - if ((0)) goto __pyx_richcmp; - if ((0)) goto __pyx_return_true; - if ((0)) goto __pyx_return_false; -__pyx_richcmp: - return __Pyx_PyObject_RichCompareBool(op1, op2, Py_GT); -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} - -/* PyLongBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_Fallback___Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, int inplace) { - return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); -} -#if CYTHON_USE_PYLONG_INTERNALS -static PyObject* __Pyx_Unpacked___Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) { - CYTHON_MAYBE_UNUSED_VAR(inplace); - CYTHON_UNUSED_VAR(zerodivision_check); - const long b = intval; - long a; - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla; - if (unlikely(__Pyx_PyLong_IsZero(op1))) { - return __Pyx_NewRef(op2); - } - const int is_positive = __Pyx_PyLong_IsPos(op1); - const digit* digits = __Pyx_PyLong_Digits(op1); - const Py_ssize_t size = __Pyx_PyLong_DigitCount(op1); - if (likely(size == 1)) { - a = (long) digits[0]; - if (!is_positive) a *= -1; - } else { - if (size == 2 && 8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - if (!is_positive) a *= -1; - goto calculate_long; - } else if (size == 2 && 8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - if (!is_positive) lla *= -1; - goto calculate_long_long; - } else - if (size == 3 && 8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - if (!is_positive) a *= -1; - goto calculate_long; - } else if (size == 3 && 8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - if (!is_positive) lla *= -1; - goto calculate_long_long; - } else - if (size == 4 && 8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - if (!is_positive) a *= -1; - goto calculate_long; - } else if (size == 4 && 8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - if (!is_positive) lla *= -1; - goto calculate_long_long; - } else - {} - return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - calculate_long: - { - long x; - x = a + b; - return PyLong_FromLong(x); - } - calculate_long_long: - { - PY_LONG_LONG llx; - llx = lla + llb; - return PyLong_FromLongLong(llx); - } - -} -#endif -static PyObject* __Pyx_Float___Pyx_PyLong_AddObjC(PyObject *float_val, long intval, int zerodivision_check) { - CYTHON_UNUSED_VAR(zerodivision_check); - const long b = intval; - double a = __Pyx_PyFloat_AS_DOUBLE(float_val); - double result; - - result = ((double)a) + (double)b; - return PyFloat_FromDouble(result); -} -static CYTHON_INLINE PyObject* __Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_UNUSED_VAR(zerodivision_check); - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - return __Pyx_Unpacked___Pyx_PyLong_AddObjC(op1, op2, intval, inplace, zerodivision_check); - } - #endif - if (PyFloat_CheckExact(op1)) { - return __Pyx_Float___Pyx_PyLong_AddObjC(op1, intval, zerodivision_check); - } - return __Pyx_Fallback___Pyx_PyLong_AddObjC(op1, op2, inplace); -} -#endif - -/* RaiseErrorWithObjectTypes (used by PyNumberBinop) */ -static void __Pyx_RaiseErrorWithTypes1(PyObject* exc_type, const char *message, const char *arg, PyTypeObject *type_obj1, PyTypeObject *type_obj2) { - __Pyx_TypeName type_name1 = __Pyx_PyType_GetFullyQualifiedName(type_obj1); - #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000 - if (unlikely(!type_name1)) return; - #endif - __Pyx_TypeName type_name2 = __Pyx_PyType_GetFullyQualifiedName(type_obj2); - #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000 - if (unlikely(!type_name2)) goto type2_failed; - #endif - PyErr_Format(exc_type, message, arg, type_name1, type_name2); - __Pyx_DECREF_TypeName(type_name2); -#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000 -type2_failed: -#endif - __Pyx_DECREF_TypeName(type_name1); -} - -/* PyNumberBinop */ -#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_GRAAL || CYTHON_COMPILING_IN_LIMITED_API) -#if CYTHON_USE_TYPE_SLOTS || __PYX_LIMITED_VERSION_HEX >= 0x030A0000 -#ifndef __Pyx_DEFINED_BinopTypeError -#define __Pyx_DEFINED_BinopTypeError -static void __Pyx_BinopTypeError(PyObject *op1, PyObject *op2, const char* op, int inplace) { - char opname[4] = {op[0], op[1], 0, 0}; - if (inplace) { - opname[op[1] ? 2 : 1] = '='; - } - __Pyx_RaiseErrorWithObjectTypes1( - PyExc_TypeError, - "unsupported operand type(s) for %.3s: '" __Pyx_FMT_TYPENAME "' and '" __Pyx_FMT_TYPENAME "'", - opname, op1, op2); -} -#endif -#endif -#ifndef __Pyx_DEFINED_PyNumber_Add_xfloat_int -#define __Pyx_DEFINED_PyNumber_Add_xfloat_int -static PyObject* __Pyx_PyNumber_Add_xfloat_int(PyObject *op1, PyObject *op2, int inplace) { - if (likely(op2 != Py_None)) { - double int_op2; - #if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(op2)) { - Py_ssize_t compact_op2 = __Pyx_PyLong_CompactValue(op2); - if (compact_op2 == 0) return __Pyx_NewRef(op1); - int_op2 = (double) compact_op2; - } else - #endif - { - int_op2 = PyLong_AsDouble(op2); - if (unlikely((int_op2 == -1.) && PyErr_Occurred())) return NULL; - #if !CYTHON_USE_PYLONG_INTERNALS - if (int_op2 == 0.) return __Pyx_NewRef(op1); - #endif - } - double float_op1 = __Pyx_PyFloat_AS_DOUBLE(op1); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((float_op1 == -1.) && PyErr_Occurred())) return NULL; - #endif - return PyFloat_FromDouble(float_op1 + int_op2); - } - #if CYTHON_USE_TYPE_SLOTS || __PYX_LIMITED_VERSION_HEX >= 0x030A0000 - { - PyTypeObject *type_op2 = Py_TYPE(op2); - binaryfunc slot_func = __Pyx_PyType_GetSubSlot(type_op2, tp_as_number, nb_add, binaryfunc); - if (likely(slot_func)) { - PyObject *result = slot_func(op1, op2); - if (likely(result != Py_NotImplemented)) { - return result; - } - Py_DECREF(result); - } - __Pyx_BinopTypeError(op1, op2, "+", inplace); - return NULL; - } - #else - return (inplace) ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2); - #endif -} -#endif -#ifndef __Pyx_DEFINED_PyNumber_Add_xint_int -#define __Pyx_DEFINED_PyNumber_Add_xint_int -static PyObject* __Pyx_PyNumber_Add_xint_int(PyObject *op1, PyObject *op2, int inplace) { - #if CYTHON_USE_TYPE_SLOTS || __PYX_LIMITED_VERSION_HEX >= 0x030A0000 - { - PyTypeObject *type_op2 = Py_TYPE(op2); - binaryfunc slot_func = __Pyx_PyType_GetSubSlot(type_op2, tp_as_number, nb_add, binaryfunc); - if (likely(slot_func)) { - PyObject *result = slot_func(op1, op2); - if (likely(result != Py_NotImplemented)) { - return result; - } - Py_DECREF(result); - } - __Pyx_BinopTypeError(op1, op2, "+", inplace); - return NULL; - } - #else - return (inplace) ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2); - #endif -} -#endif -static CYTHON_INLINE PyObject* __Pyx__PyNumber_Add_object_int(PyObject *op1, PyObject *op2, int inplace) { - if (PyFloat_CheckExact(op1)) { - return __Pyx_PyNumber_Add_xfloat_int(op1, op2, inplace); - } - if (likely(PyLong_CheckExact(op1))) { - if (likely(op2 != Py_None)) { - #if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(op1)) { - Py_ssize_t int_op1 = __Pyx_PyLong_CompactValue(op1); - if (int_op1 == 0) return __Pyx_NewRef(op2); - if (__Pyx_PyLong_IsCompact(op2)) { - Py_ssize_t int_op2 = __Pyx_PyLong_CompactValue(op2); - if (int_op2 == 0) return __Pyx_NewRef(op1); - return PyLong_FromSsize_t(int_op1 + int_op2); - } - } - else if (__Pyx_PyLong_IsZero(op2)) return __Pyx_NewRef(op1); - #endif - binaryfunc slot_func = __Pyx_PyType_GetSubSlot(&PyLong_Type, tp_as_number, nb_add, binaryfunc); - if (likely(slot_func)) { - return slot_func(op1, op2); - } - } - return __Pyx_PyNumber_Add_xint_int(op1, op2, inplace); - } - return (inplace) ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2); -} -#endif - -/* PyObjectCompare */ -#ifndef __Pyx_DEFINED_PyObject_CompareFloatIntBoolLt -#define __Pyx_DEFINED_PyObject_CompareFloatIntBoolLt -static int __Pyx_PyObject_CompareFloatIntBoolLt(PyObject *op1, PyObject *op2) { - double float_op1 = __Pyx_PyFloat_AS_DOUBLE(op1); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely(float_op1 == -1. && PyErr_Occurred())) return -1; - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(op2)) { - Py_ssize_t iop2 = __Pyx_PyLong_CompactValue(op2); - if (float_op1 < ((double)iop2)) goto __pyx_return_true; else goto __pyx_return_false; - } - if (unlikely(!isfinite(float_op1))) { - if (float_op1 < 0.0) goto __pyx_return_true; else goto __pyx_return_false; - } else { - int sign2 = __Pyx_PyLong_Sign(op2); - if (float_op1 >= 0.) { - if (sign2 < 0) goto __pyx_return_false; - if (float_op1 < (double) (1L << PyLong_SHIFT)) goto __pyx_return_true; - } else { - if (sign2 > 0) goto __pyx_return_true; - if (float_op1 > -(double) (1L << PyLong_SHIFT)) goto __pyx_return_false; - } - } - #else - if (unlikely(!isfinite(float_op1))) { - if (float_op1 < 0.0) goto __pyx_return_true; else goto __pyx_return_false; - } else { - int overflow2; - long iop2 = PyLong_AsLongAndOverflow(op2, &overflow2); - if (likely(!overflow2)) { - if ((long long) iop2 >= (1LL << 53)) { - overflow2 = 1; - } else if ((long long) iop2 <= - (1LL << 53)) { - overflow2 = -1; - } else { - if (float_op1 < ((double) iop2)) goto __pyx_return_true; else goto __pyx_return_false; - } - } - if (overflow2 > 0) { - if (float_op1 < ((double) (1LL << 53))) goto __pyx_return_true; - } else { - if (float_op1 > - ((double) (1LL << 53))) goto __pyx_return_false; - } - } - #endif - return __Pyx_PyObject_RichCompareBool(op1, op2, Py_LT); -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} -#endif -#ifndef __Pyx_DEFINED_PyObject_CompareIntIntBoolLt -#define __Pyx_DEFINED_PyObject_CompareIntIntBoolLt -static int __Pyx_PyObject_CompareIntIntBoolLt(PyObject *op1, PyObject *op2) { -#if CYTHON_USE_PYLONG_INTERNALS - Py_ssize_t cmp = __Pyx_PyLong_CompareSignAndSize(op1, op2); - if (cmp == 0) { - Py_ssize_t size = __Pyx_PyLong_DigitCount(op1); - if (size > 0) { - const digit* digits1 = __Pyx_PyLong_Digits(op1); - const digit* digits2 = __Pyx_PyLong_Digits(op2); - if (size == 1) { - cmp = (Py_ssize_t) digits1[0] - (Py_ssize_t) digits2[0]; - } else if ((size == 2) && (8 * sizeof(Py_ssize_t) >= 2 * PyLong_SHIFT)) { - cmp = (Py_ssize_t) (((((size_t)digits1[1]) << PyLong_SHIFT) | (size_t)digits1[0])) - (Py_ssize_t) (((((size_t)digits2[1]) << PyLong_SHIFT) | (size_t)digits2[0])); - } else { - for (Py_ssize_t i=size-1; i >= 0 && !cmp; --i) { - cmp = (Py_ssize_t) digits1[i] - (Py_ssize_t) digits2[i]; - } - } - } - if (cmp == 0) goto __pyx_return_false; - if (__Pyx_PyLong_IsNeg(op1)) cmp = -cmp; - } - if (cmp < 0) goto __pyx_return_true; else goto __pyx_return_false; -#else - int overflow1, overflow2; - long long iop1 = PyLong_AsLongLongAndOverflow(op1, &overflow1); - long long iop2 = PyLong_AsLongLongAndOverflow(op2, &overflow2); - if (likely(!(overflow1 | overflow2))) { - if (iop1 < iop2) goto __pyx_return_true; else goto __pyx_return_false; - } else if (overflow1 != overflow2) { - if (overflow1 < overflow2) goto __pyx_return_true; else goto __pyx_return_false; - } else { - return __Pyx_PyObject_RichCompareBool(op1, op2, Py_LT); - } -#endif -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} -#endif -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolLt_object_int(PyObject *op1, PyObject *op2, int pyop) { - CYTHON_UNUSED_VAR(pyop); - if (unlikely(op2 == Py_None)) { - goto __pyx_richcmp; - } - if (op1 == op2) goto __pyx_return_false; - if (PyFloat_CheckExact(op1)) { - if (likely(op2 != Py_None)) { - return __Pyx_PyObject_CompareFloatIntBoolLt(op1, op2); - } - goto __pyx_richcmp; - } - if (likely(PyLong_CheckExact(op1))) { - if (op1 == op2) goto __pyx_return_false; - if (likely(op2 != Py_None)) { - return __Pyx_PyObject_CompareIntIntBoolLt(op1, op2); - } - goto __pyx_richcmp; - } - if ((0)) goto __pyx_richcmp; - if ((0)) goto __pyx_return_true; - if ((0)) goto __pyx_return_false; -__pyx_richcmp: - return __Pyx_PyObject_RichCompareBool(op1, op2, Py_LT); -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} - -/* PyObjectCompare */ -#ifndef __Pyx_DEFINED_PyObject_CompareFloatIntBoolEq -#define __Pyx_DEFINED_PyObject_CompareFloatIntBoolEq -static int __Pyx_PyObject_CompareFloatIntBoolEq(PyObject *op1, PyObject *op2) { - double float_op1 = __Pyx_PyFloat_AS_DOUBLE(op1); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely(float_op1 == -1. && PyErr_Occurred())) return -1; - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(op2)) { - Py_ssize_t iop2 = __Pyx_PyLong_CompactValue(op2); - if (float_op1 == ((double)iop2)) goto __pyx_return_true; else goto __pyx_return_false; - } - if (unlikely(!isfinite(float_op1))) { - if (float_op1 == 0.0) goto __pyx_return_true; else goto __pyx_return_false; - } else { - int sign2 = __Pyx_PyLong_Sign(op2); - if (float_op1 >= 0.) { - if (sign2 < 0) goto __pyx_return_false; - if (float_op1 < (double) (1L << PyLong_SHIFT)) goto __pyx_return_false; - } else { - if (sign2 > 0) goto __pyx_return_false; - if (float_op1 > -(double) (1L << PyLong_SHIFT)) goto __pyx_return_false; - } - } - #else - if (unlikely(!isfinite(float_op1))) { - if (float_op1 == 0.0) goto __pyx_return_true; else goto __pyx_return_false; - } else { - int overflow2; - long iop2 = PyLong_AsLongAndOverflow(op2, &overflow2); - if (likely(!overflow2)) { - if ((long long) iop2 >= (1LL << 53)) { - overflow2 = 1; - } else if ((long long) iop2 <= - (1LL << 53)) { - overflow2 = -1; - } else { - if (float_op1 == ((double) iop2)) goto __pyx_return_true; else goto __pyx_return_false; - } - } - if (overflow2 > 0) { - if (float_op1 < ((double) (1LL << 53))) goto __pyx_return_false; - } else { - if (float_op1 > - ((double) (1LL << 53))) goto __pyx_return_false; - } - } - #endif - return __Pyx_PyObject_RichCompareBool(op1, op2, Py_EQ); -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} -#endif -#ifndef __Pyx_DEFINED_PyObject_CompareIntIntBoolEq -#define __Pyx_DEFINED_PyObject_CompareIntIntBoolEq -static int __Pyx_PyObject_CompareIntIntBoolEq(PyObject *op1, PyObject *op2) { -#if CYTHON_USE_PYLONG_INTERNALS - Py_ssize_t cmp = __Pyx_PyLong_CompareSignAndSize(op1, op2); - if (cmp == 0) { - Py_ssize_t size = __Pyx_PyLong_DigitCount(op1); - if (size > 0) { - const digit* digits1 = __Pyx_PyLong_Digits(op1); - const digit* digits2 = __Pyx_PyLong_Digits(op2); - if (size == 1) { - cmp = (Py_ssize_t) digits1[0] - (Py_ssize_t) digits2[0]; - } else if ((size == 2) && (8 * sizeof(Py_ssize_t) >= 2 * PyLong_SHIFT)) { - cmp = (Py_ssize_t) (((((size_t)digits1[1]) << PyLong_SHIFT) | (size_t)digits1[0])) - (Py_ssize_t) (((((size_t)digits2[1]) << PyLong_SHIFT) | (size_t)digits2[0])); - } else { - for (Py_ssize_t i=size-1; i >= 0 && !cmp; --i) { - cmp = (Py_ssize_t) digits1[i] - (Py_ssize_t) digits2[i]; - } - } - } - if (cmp == 0) goto __pyx_return_true; - if (__Pyx_PyLong_IsNeg(op1)) cmp = -cmp; - } - goto __pyx_return_false; -#else - int overflow1, overflow2; - long long iop1 = PyLong_AsLongLongAndOverflow(op1, &overflow1); - long long iop2 = PyLong_AsLongLongAndOverflow(op2, &overflow2); - if (likely(!(overflow1 | overflow2))) { - if (iop1 == iop2) goto __pyx_return_true; else goto __pyx_return_false; - } else if (overflow1 != overflow2) { - if (overflow1 == overflow2) goto __pyx_return_true; else goto __pyx_return_false; - } else { - return __Pyx_PyObject_RichCompareBool(op1, op2, Py_EQ); - } -#endif -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} -#endif -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolEq_object_int(PyObject *op1, PyObject *op2, int pyop) { - CYTHON_UNUSED_VAR(pyop); - if (unlikely(op2 == Py_None)) { - if (op1 == Py_None) goto __pyx_return_true; else goto __pyx_richcmp; - } - if (op1 == op2) goto __pyx_return_true; - if (PyFloat_CheckExact(op1)) { - if (likely(op2 != Py_None)) { - return __Pyx_PyObject_CompareFloatIntBoolEq(op1, op2); - } - goto __pyx_richcmp; - } - if (likely(PyLong_CheckExact(op1))) { - if (op1 == op2) goto __pyx_return_true; - if (likely(op2 != Py_None)) { - return __Pyx_PyObject_CompareIntIntBoolEq(op1, op2); - } - goto __pyx_richcmp; - } - if ((0)) goto __pyx_richcmp; - if ((0)) goto __pyx_return_true; - if ((0)) goto __pyx_return_false; -__pyx_richcmp: - return __Pyx_PyObject_RichCompareBool(op1, op2, Py_EQ); -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} - -/* ListCompAppendAndDecref */ -#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE -static CYTHON_INLINE int __Pyx_ListComp_AppendAndDecref(PyObject* list, PyObject* x) { - PyListObject* L = (PyListObject*) list; - Py_ssize_t len = Py_SIZE(list); - if (likely(L->allocated > len)) { - __Pyx__ListComp_AppendAndDecref(list, len, x); - return 0; - } - int result = PyList_Append(list, x); - Py_DECREF(x); - return result; -} -#else -static CYTHON_INLINE int __Pyx_ListComp_AppendAndDecref(PyObject* list, PyObject* x) { - int result = PyList_Append(list, x); - Py_DECREF(x); - return result; -} -#endif - -/* CIntToPyUnicode */ -static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const Py_ssize_t neg_one = (Py_ssize_t) -1, const_zero = (Py_ssize_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (unlikely(!(is_unsigned || value == 0 || value > 0) || - !(sizeof(value) <= 2 || value & ~ (Py_ssize_t) 0x01fffff || __Pyx_CheckUnicodeValue((int) value)))) { - PyErr_SetString(PyExc_OverflowError, "%c arg not in range(0x110000)"); - return NULL; - } - if (width <= 1) { - return PyUnicode_FromOrdinal((int) value); - } - return __Pyx_PyUnicode_FromOrdinal_Padded((int) value, width, padding_char); -} -static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char, char format_char) { - char digits[sizeof(Py_ssize_t)*3+2]; - char *dpos, *end = digits + sizeof(Py_ssize_t)*3+2; - const char *hex_digits = DIGITS_HEX; - Py_ssize_t length, ulength; - int prepend_sign, last_one_off; - Py_ssize_t remaining; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const Py_ssize_t neg_one = (Py_ssize_t) -1, const_zero = (Py_ssize_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (format_char == 'X') { - hex_digits += 16; - format_char = 'x'; - } - remaining = value; - last_one_off = 0; - dpos = end; - do { - int digit_pos; - switch (format_char) { - case 'o': - digit_pos = abs((int)(remaining % (8*8))); - remaining = (Py_ssize_t) (remaining / (8*8)); - dpos -= 2; - memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2); - last_one_off = (digit_pos < 8); - break; - case 'd': - digit_pos = abs((int)(remaining % (10*10))); - remaining = (Py_ssize_t) (remaining / (10*10)); - dpos -= 2; - memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2); - last_one_off = (digit_pos < 10); - break; - case 'x': - *(--dpos) = hex_digits[abs((int)(remaining % 16))]; - remaining = (Py_ssize_t) (remaining / 16); - break; - default: - assert(0); - break; - } - } while (unlikely(remaining != 0)); - assert(!last_one_off || *dpos == '0'); - dpos += last_one_off; - length = end - dpos; - ulength = length; - prepend_sign = 0; - if (!is_unsigned && value <= neg_one) { - if (padding_char == ' ' || width <= length + 1) { - *(--dpos) = '-'; - ++length; - } else { - prepend_sign = 1; - } - ++ulength; - } - if (width > ulength) { - ulength = width; - } - if (ulength == 1) { - return PyUnicode_FromOrdinal(*dpos); - } - return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char); -} - -/* TupleOrListFromArrayImpl (used by ListFromArray) */ -CYTHON_UNUSED static PyObject * -__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n) { - PyObject *res = PyList_New(n); - if (unlikely(res == NULL)) return NULL; - #if CYTHON_COMPILING_IN_CPYTHON - __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n); - #else - Py_ssize_t i; - for (i = 0; i < n; i++) { - Py_INCREF(src[i]); - if (unlikely(__Pyx_PyList_SET_ITEM(res, i, src[i]) < (0))) { - Py_DECREF(res); - return NULL; - } - } - #endif - return res; -} - -/* SliceTupleAndList */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE void __Pyx_crop_slice(Py_ssize_t* _start, Py_ssize_t* _stop, Py_ssize_t* _length) { - Py_ssize_t start = *_start, stop = *_stop, length = *_length; - if (start < 0) { - start += length; - if (start < 0) - start = 0; - } - if (stop < 0) - stop += length; - else if (stop > length) - stop = length; - *_length = stop - start; - *_start = start; - *_stop = stop; -} -static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice( - PyObject* src, Py_ssize_t start, Py_ssize_t stop) { - Py_ssize_t length = PyTuple_GET_SIZE(src); - __Pyx_crop_slice(&start, &stop, &length); - return __Pyx_PyTuple_FromArray(((PyTupleObject*)src)->ob_item + start, length); -} -static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice_locked( - PyObject* src, Py_ssize_t start, Py_ssize_t stop) { - Py_ssize_t length = PyList_GET_SIZE(src); - __Pyx_crop_slice(&start, &stop, &length); - if (length <= 0) { - return PyList_New(0); - } - return __Pyx_PyList_FromArray(((PyListObject*)src)->ob_item + start, length); -} -static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice( - PyObject* src, Py_ssize_t start, Py_ssize_t stop) { - PyObject *result; - __Pyx_BEGIN_CRITICAL_SECTION(src); - result = __Pyx_PyList_GetSlice_locked(src, start, stop); - __Pyx_END_CRITICAL_SECTION(); - return result; -} -#endif // CYTHON_COMPILING_IN_CPYTHON - -/* RaiseUnboundLocalError */ -static void __Pyx_RaiseUnboundLocalError(const char *varname) { - PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname); -} - -/* PyNumberBinop */ -#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_GRAAL || CYTHON_COMPILING_IN_LIMITED_API) -#if CYTHON_USE_TYPE_SLOTS || __PYX_LIMITED_VERSION_HEX >= 0x030A0000 -#ifndef __Pyx_DEFINED_BinopTypeError -#define __Pyx_DEFINED_BinopTypeError -static void __Pyx_BinopTypeError(PyObject *op1, PyObject *op2, const char* op, int inplace) { - char opname[4] = {op[0], op[1], 0, 0}; - if (inplace) { - opname[op[1] ? 2 : 1] = '='; - } - __Pyx_RaiseErrorWithObjectTypes1( - PyExc_TypeError, - "unsupported operand type(s) for %.3s: '" __Pyx_FMT_TYPENAME "' and '" __Pyx_FMT_TYPENAME "'", - opname, op1, op2); -} -#endif -#endif -#ifndef __Pyx_DEFINED_PyNumber_And_xint_int -#define __Pyx_DEFINED_PyNumber_And_xint_int -static PyObject* __Pyx_PyNumber_And_xint_int(PyObject *op1, PyObject *op2, int inplace) { - #if CYTHON_USE_TYPE_SLOTS || __PYX_LIMITED_VERSION_HEX >= 0x030A0000 - { - PyTypeObject *type_op2 = Py_TYPE(op2); - binaryfunc slot_func = __Pyx_PyType_GetSubSlot(type_op2, tp_as_number, nb_and, binaryfunc); - if (likely(slot_func)) { - PyObject *result = slot_func(op1, op2); - if (likely(result != Py_NotImplemented)) { - return result; - } - Py_DECREF(result); - } - __Pyx_BinopTypeError(op1, op2, "&", inplace); - return NULL; - } - #else - return (inplace) ? PyNumber_InPlaceAnd(op1, op2) : PyNumber_And(op1, op2); - #endif -} -#endif -static CYTHON_INLINE PyObject* __Pyx__PyNumber_And_object_int(PyObject *op1, PyObject *op2, int inplace) { - if (likely(PyLong_CheckExact(op1))) { - if (likely(op2 != Py_None)) { - #if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(op1)) { - Py_ssize_t int_op1 = __Pyx_PyLong_CompactValue(op1); - if (int_op1 == 0) return __Pyx_NewRef(op1); - if (__Pyx_PyLong_IsCompact(op2)) { - Py_ssize_t int_op2 = __Pyx_PyLong_CompactValue(op2); - if (int_op2 == 0) return __Pyx_NewRef(op2); - return PyLong_FromSsize_t(int_op1 & int_op2); - } - } - else if (__Pyx_PyLong_IsZero(op2)) return __Pyx_NewRef(op2); - #endif - binaryfunc slot_func = __Pyx_PyType_GetSubSlot(&PyLong_Type, tp_as_number, nb_and, binaryfunc); - if (likely(slot_func)) { - return slot_func(op1, op2); - } - } - return __Pyx_PyNumber_And_xint_int(op1, op2, inplace); - } - return (inplace) ? PyNumber_InPlaceAnd(op1, op2) : PyNumber_And(op1, op2); -} -#endif - -/* ListCompAppend */ -#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE -static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) { - PyListObject* L = (PyListObject*) list; - Py_ssize_t len = Py_SIZE(list); - if (likely(L->allocated > len)) { - Py_INCREF(x); - __Pyx__ListComp_AppendAndDecref(list, len, x); - return 0; - } - return PyList_Append(list, x); -} -#endif - -/* SliceObject */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, - Py_ssize_t cstart, Py_ssize_t cstop, - PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, - int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { -#if CYTHON_USE_TYPE_SLOTS - PyMappingMethods* mp = Py_TYPE(obj)->tp_as_mapping; - if (likely(mp && mp->mp_subscript)) -#else - if ((1)) -#endif - { - PyObject* result; - PyObject *py_slice, *py_start, *py_stop; - if (_py_slice) { - py_slice = *_py_slice; - } else { - PyObject* owned_start = NULL; - PyObject* owned_stop = NULL; - if (_py_start) { - py_start = *_py_start; - } else { - if (has_cstart) { - owned_start = py_start = PyLong_FromSsize_t(cstart); - if (unlikely(!py_start)) goto bad; - } else - py_start = Py_None; - } - if (_py_stop) { - py_stop = *_py_stop; - } else { - if (has_cstop) { - owned_stop = py_stop = PyLong_FromSsize_t(cstop); - if (unlikely(!py_stop)) { - Py_XDECREF(owned_start); - goto bad; - } - } else - py_stop = Py_None; - } - py_slice = PySlice_New(py_start, py_stop, Py_None); - Py_XDECREF(owned_start); - Py_XDECREF(owned_stop); - if (unlikely(!py_slice)) goto bad; - } -#if CYTHON_USE_TYPE_SLOTS - result = mp->mp_subscript(obj, py_slice); -#else - result = PyObject_GetItem(obj, py_slice); -#endif - if (!_py_slice) { - Py_DECREF(py_slice); - } - return result; - } else { - __Pyx_RaiseTypeErrorWithObjectType( - "'" __Pyx_FMT_TYPENAME "' object is unsliceable", obj); - } -bad: - return NULL; -} - -/* PyObjectCompare */ -#ifndef __Pyx_DEFINED_PyObject_CompareStrStrBoolNe -#define __Pyx_DEFINED_PyObject_CompareStrStrBoolNe -static CYTHON_INLINE int __Pyx_PyObject_CompareStrStrBoolNe(PyObject* s1, PyObject* s2) { - #if __PYX_LIMITED_VERSION_HEX >= 0x030e0000 - int result = PyUnicode_Equal(s1, s2); - #if !CYTHON_COMPILING_IN_CPYTHON - if (unlikely(result == -1)) return -1; - #endif - if (result != 0) goto __pyx_return_false; else goto __pyx_return_true; - #else - int result = PyUnicode_Compare(s1, s2); - if (unlikely((result == -1) && PyErr_Occurred())) return -1; - if (result != 0) goto __pyx_return_true; else goto __pyx_return_false; - #endif -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} -#endif -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolNe_object_str(PyObject *op1, PyObject *op2, int pyop) { - CYTHON_UNUSED_VAR(pyop); - if (unlikely(op2 == Py_None)) { - if (op1 == Py_None) goto __pyx_return_false; else goto __pyx_richcmp; - } - if (PyFloat_CheckExact(op1)) { - goto __pyx_richcmp; - } - if (PyLong_CheckExact(op1)) { - if (op1 == op2) goto __pyx_return_false; - goto __pyx_richcmp; - } - - if (likely(PyUnicode_CheckExact(op1))) { - if (op1 == op2) goto __pyx_return_false; - if (likely(op2 != Py_None)) { - return __Pyx_PyObject_CompareStrStrBoolNe(op1, op2); - } - goto __pyx_richcmp; - } - - if ((0)) goto __pyx_richcmp; - if ((0)) goto __pyx_return_true; - if ((0)) goto __pyx_return_false; -__pyx_richcmp: - return __Pyx_PyObject_RichCompareBool(op1, op2, Py_NE); -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} - -/* SetItemInt */ -static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) { - int r; - if (unlikely(!j)) return -1; - r = PyObject_SetItem(o, j, v); - Py_DECREF(j); - return r; -} -#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY -static CYTHON_INLINE int __Pyx_SetItemInt_Fast_mapping(PyObject *o, objobjargproc setitem, Py_ssize_t i, PyObject *value) { - PyObject *key = PyLong_FromSsize_t(i); - if (unlikely(!key)) return -1; - int r = setitem(o, key, value); - Py_DECREF(key); - return r; -} -#endif -static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, - int wraparound, int boundscheck, int unsafe_shared) { - CYTHON_MAYBE_UNUSED_VAR(unsafe_shared); -#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE && !CYTHON_AVOID_BORROWED_REFS - if (PyList_CheckExact(o)) { - Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o)); - if ((CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS && !__Pyx_IS_UNIQUELY_REFERENCED(o, unsafe_shared))) { - Py_INCREF(v); - return PyList_SetItem(o, n, v); - } else if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o)))) { - PyObject* old; - Py_INCREF(v); - old = PyList_GET_ITEM(o, n); - PyList_SET_ITEM(o, n, v); - Py_DECREF(old); - return 0; - } - } else -#endif -#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY - if (PyDict_CheckExact(o)) { - return __Pyx_SetItemInt_Fast_mapping(o, PyDict_Type.tp_as_mapping->mp_ass_subscript, i, v); - } else - { - PyTypeObject *obj_type = Py_TYPE(o); - int seq_or_mapping = __Pyx_PyType_GetFlags(obj_type) & (Py_TPFLAGS_SEQUENCE|Py_TPFLAGS_MAPPING); - if (seq_or_mapping != Py_TPFLAGS_SEQUENCE) { - PyMappingMethods *mm = obj_type->tp_as_mapping; - if (mm && mm->mp_ass_subscript) - return __Pyx_SetItemInt_Fast_mapping(o, mm->mp_ass_subscript, i, v); - } - PySequenceMethods *sm = obj_type->tp_as_sequence; - if (likely(sm && sm->sq_ass_item)) { - if (wraparound && (i < 0) && unlikely(__Pyx_GetItemInt_wraparound(o, sm, &i) == -1)) - return -1; - return sm->sq_ass_item(o, i, v); - } - if (seq_or_mapping == Py_TPFLAGS_SEQUENCE) { - PyMappingMethods *mm = obj_type->tp_as_mapping; - if (likely(mm && mm->mp_ass_subscript)) - return __Pyx_SetItemInt_Fast_mapping(o, mm->mp_ass_subscript, i, v); - } - } -#else - if (!PyMapping_Check(o)) { - return PySequence_SetItem(o, i, v); - } -#endif - (void)wraparound; - (void)boundscheck; - return __Pyx_SetItemInt_Generic(o, PyLong_FromSsize_t(i), v); -} - -/* PyObjectCompare */ -#ifndef __Pyx_DEFINED_PyObject_CompareStrStrBoolEq -#define __Pyx_DEFINED_PyObject_CompareStrStrBoolEq -static CYTHON_INLINE int __Pyx_PyObject_CompareStrStrBoolEq(PyObject* s1, PyObject* s2) { - #if __PYX_LIMITED_VERSION_HEX >= 0x030e0000 - int result = PyUnicode_Equal(s1, s2); - #if !CYTHON_COMPILING_IN_CPYTHON - if (unlikely(result == -1)) return -1; - #endif - if (result == 0) goto __pyx_return_false; else goto __pyx_return_true; - #else - int result = PyUnicode_Compare(s1, s2); - if (unlikely((result == -1) && PyErr_Occurred())) return -1; - if (result == 0) goto __pyx_return_true; else goto __pyx_return_false; - #endif -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} -#endif -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolEq_object_str(PyObject *op1, PyObject *op2, int pyop) { - CYTHON_UNUSED_VAR(pyop); - if (unlikely(op2 == Py_None)) { - if (op1 == Py_None) goto __pyx_return_true; else goto __pyx_richcmp; - } - if (PyFloat_CheckExact(op1)) { - goto __pyx_richcmp; - } - if (PyLong_CheckExact(op1)) { - if (op1 == op2) goto __pyx_return_true; - goto __pyx_richcmp; - } - - if (likely(PyUnicode_CheckExact(op1))) { - if (op1 == op2) goto __pyx_return_true; - if (likely(op2 != Py_None)) { - return __Pyx_PyObject_CompareStrStrBoolEq(op1, op2); - } - goto __pyx_richcmp; - } - - if ((0)) goto __pyx_richcmp; - if ((0)) goto __pyx_return_true; - if ((0)) goto __pyx_return_false; -__pyx_richcmp: - return __Pyx_PyObject_RichCompareBool(op1, op2, Py_EQ); -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} - -/* ExtTypeTest */ -static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { - if (unlikely(!type)) { - PyErr_SetString(PyExc_SystemError, "Missing type object"); - return 0; - } - if (likely(__Pyx_TypeCheck(obj, type))) - return 1; - __Pyx_RaiseTypeErrorWithTypes( - "Cannot convert " __Pyx_FMT_TYPENAME " to " __Pyx_FMT_TYPENAME, - Py_TYPE(obj), type); - return 0; -} - -/* CIntToPyUnicode */ -static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_int(int value, Py_ssize_t width, char padding_char) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (unlikely(!(is_unsigned || value == 0 || value > 0) || - !(sizeof(value) <= 2 || value & ~ (int) 0x01fffff || __Pyx_CheckUnicodeValue((int) value)))) { - PyErr_SetString(PyExc_OverflowError, "%c arg not in range(0x110000)"); - return NULL; - } - if (width <= 1) { - return PyUnicode_FromOrdinal((int) value); - } - return __Pyx_PyUnicode_FromOrdinal_Padded((int) value, width, padding_char); -} -static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_int(int value, Py_ssize_t width, char padding_char, char format_char) { - char digits[sizeof(int)*3+2]; - char *dpos, *end = digits + sizeof(int)*3+2; - const char *hex_digits = DIGITS_HEX; - Py_ssize_t length, ulength; - int prepend_sign, last_one_off; - int remaining; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (format_char == 'X') { - hex_digits += 16; - format_char = 'x'; - } - remaining = value; - last_one_off = 0; - dpos = end; - do { - int digit_pos; - switch (format_char) { - case 'o': - digit_pos = abs((int)(remaining % (8*8))); - remaining = (int) (remaining / (8*8)); - dpos -= 2; - memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2); - last_one_off = (digit_pos < 8); - break; - case 'd': - digit_pos = abs((int)(remaining % (10*10))); - remaining = (int) (remaining / (10*10)); - dpos -= 2; - memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2); - last_one_off = (digit_pos < 10); - break; - case 'x': - *(--dpos) = hex_digits[abs((int)(remaining % 16))]; - remaining = (int) (remaining / 16); - break; - default: - assert(0); - break; - } - } while (unlikely(remaining != 0)); - assert(!last_one_off || *dpos == '0'); - dpos += last_one_off; - length = end - dpos; - ulength = length; - prepend_sign = 0; - if (!is_unsigned && value <= neg_one) { - if (padding_char == ' ' || width <= length + 1) { - *(--dpos) = '-'; - ++length; - } else { - prepend_sign = 1; - } - ++ulength; - } - if (width > ulength) { - ulength = width; - } - if (ulength == 1) { - return PyUnicode_FromOrdinal(*dpos); - } - return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char); -} - -/* AllocateExtensionType */ -static PyObject *__Pyx_AllocateExtensionType(PyTypeObject *t, int is_final) { - if (is_final || likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) { - allocfunc alloc_func = __Pyx_PyType_GetSlot(t, tp_alloc, allocfunc); - return alloc_func(t, 0); - } else { - newfunc tp_new = __Pyx_PyType_TryGetSlot(&PyBaseObject_Type, tp_new, newfunc); - #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000 - if (!tp_new) { - PyObject *new_str = PyUnicode_FromString("__new__"); - if (likely(new_str)) { - PyObject *o = PyObject_CallMethodObjArgs((PyObject *)&PyBaseObject_Type, new_str, t, NULL); - Py_DECREF(new_str); - return o; - } else - return NULL; - } else - #endif - return tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0); - } -} - -/* CallSlotAsVectorcallUnpackDict (used by CallSlotAsVectorcall) */ -static CYTHON_INLINE int __Pyx_CallSlotAsVectorcallUnpackDict(Py_ssize_t args_size, PyObject *keys_dict, PyObject **args, PyObject *kwnames) { - Py_ssize_t pos = 0, i = 0; - PyObject *key, *value; - while (PyDict_Next(keys_dict, &pos, &key, &value)) { - Py_INCREF(value); - args[args_size+i] = value; - Py_INCREF(key); - if (unlikely(__Pyx_PyTuple_SET_ITEM(kwnames, i, key) == -1)) { - return -1; - } - ++i; - } - return 0; -} - -/* CallSlotAsVectorcall */ -#if CYTHON_VECTORCALL_TPNEW -static PyObject * __Pyx_CallTpnewAsVectorcall(__Pyx_tpnewvectorcallfunc f, PyTypeObject* o, PyObject *a, PyObject *k) { - Py_ssize_t k_size = k ? __Pyx_PyDict_GET_SIZE(k) : 0; -#if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely(k_size < 0)) return NULL; -#endif - Py_ssize_t a_size = __Pyx_PyTuple_GET_SIZE(a); -#if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely(a_size < 0)) return NULL; -#endif -#if CYTHON_ASSUME_SAFE_MACROS - if (k_size == 0) { - return f(o, &PyTuple_GET_ITEM(a, 0), a_size, NULL); - } -#else - if (k_size == 0 && a_size == 0) { - return f(o, NULL, 0, NULL); - } -#endif - PyObject *stack_args[5]; - PyObject **args = stack_args; - Py_ssize_t maxnargs = PY_SSIZE_T_MAX / sizeof(PyObject*) - 1; - if (a_size > maxnargs - k_size) { - PyErr_NoMemory(); - return NULL; - } - Py_ssize_t total_size = a_size + k_size; - if (total_size > 5) { - args = (PyObject**)PyMem_Malloc(((size_t)total_size)*sizeof(PyObject*)); - if (unlikely(!args)) { - PyErr_NoMemory(); - return NULL; - } - } - PyObject * result = NULL; - PyObject *kwnames = NULL; - int unpack_dict_result; - Py_ssize_t i = 0; - for (; i < a_size; ++i) { - args[i] = __Pyx_PyTuple_GET_ITEM(a, i); -#if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely(!args[i])) goto cleanup; -#endif - } -#if !CYTHON_ASSUME_SAFE_MACROS - if (k) // There's a specific shortcut earlier for ASSUME_SAFE_MACROS with no keywords -#endif - { - kwnames = PyTuple_New(k_size); - if (unlikely(!kwnames)) goto cleanup; - __Pyx_BEGIN_CRITICAL_SECTION(k); - unpack_dict_result = __Pyx_CallSlotAsVectorcallUnpackDict(a_size, k, args, kwnames); - __Pyx_END_CRITICAL_SECTION(); - if (unlikely(unpack_dict_result == -1)) goto cleanup; - } - result = f(o, args, a_size, kwnames); - cleanup: - Py_XDECREF(kwnames); - for (i=a_size; i__pyx_empty_tuple); - } - result = tp_new(t, args_tuple, kwds_dict); - if (unlikely(!result)) { - goto end; - } - if (PyObject_TypeCheck(result, t)) { - initproc tp_init = __Pyx_PyObject_GetSlot(result, tp_init, initproc); - if (tp_init && unlikely(tp_init(result, args_tuple, kwds_dict) < 0)) { - Py_CLEAR(result); - } - } - end: - Py_XDECREF(args_tuple); - Py_XDECREF(kwds_dict); - return result; -} -#endif - -/* CallSlotAsVectorcall */ -#if CYTHON_VECTORCALL_TPNEW -static int __Pyx_CallTpinitAsVectorcall(__Pyx_tpinitvectorcallfunc f, PyObject* o, PyObject *a, PyObject *k) { - Py_ssize_t k_size = k ? __Pyx_PyDict_GET_SIZE(k) : 0; -#if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely(k_size < 0)) return -1; -#endif - Py_ssize_t a_size = __Pyx_PyTuple_GET_SIZE(a); -#if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely(a_size < 0)) return -1; -#endif -#if CYTHON_ASSUME_SAFE_MACROS - if (k_size == 0) { - return f(o, &PyTuple_GET_ITEM(a, 0), a_size, NULL); - } -#else - if (k_size == 0 && a_size == 0) { - return f(o, NULL, 0, NULL); - } -#endif - PyObject *stack_args[5]; - PyObject **args = stack_args; - Py_ssize_t maxnargs = PY_SSIZE_T_MAX / sizeof(PyObject*) - 1; - if (a_size > maxnargs - k_size) { - PyErr_NoMemory(); - return -1; - } - Py_ssize_t total_size = a_size + k_size; - if (total_size > 5) { - args = (PyObject**)PyMem_Malloc(((size_t)total_size)*sizeof(PyObject*)); - if (unlikely(!args)) { - PyErr_NoMemory(); - return -1; - } - } - int result = -1; - PyObject *kwnames = NULL; - int unpack_dict_result; - Py_ssize_t i = 0; - for (; i < a_size; ++i) { - args[i] = __Pyx_PyTuple_GET_ITEM(a, i); -#if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely(!args[i])) goto cleanup; -#endif - } -#if !CYTHON_ASSUME_SAFE_MACROS - if (k) // There's a specific shortcut earlier for ASSUME_SAFE_MACROS with no keywords -#endif - { - kwnames = PyTuple_New(k_size); - if (unlikely(!kwnames)) goto cleanup; - __Pyx_BEGIN_CRITICAL_SECTION(k); - unpack_dict_result = __Pyx_CallSlotAsVectorcallUnpackDict(a_size, k, args, kwnames); - __Pyx_END_CRITICAL_SECTION(); - if (unlikely(unpack_dict_result == -1)) goto cleanup; - } - result = f(o, args, a_size, kwnames); - cleanup: - Py_XDECREF(kwnames); - for (i=a_size; itp_dictoffset != 0; -#else - Py_ssize_t dictoffset = __Pyx_GetTypeDictOffset(b, 0); - has_dictoffset = dictoffset != 0; -#endif -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b); -#endif -#if !CYTHON_USE_TYPE_SLOTS - if (dictoffset == -1 && PyErr_Occurred()) return -1; -#endif - } - for (i = 1; i < n; i++) - { - PyTypeObject *b; -#if CYTHON_AVOID_BORROWED_REFS - PyObject *b0 = PySequence_GetItem(bases, i); - if (!b0) return -1; -#elif CYTHON_ASSUME_SAFE_MACROS - PyObject *b0 = PyTuple_GET_ITEM(bases, i); -#else - PyObject *b0 = PyTuple_GetItem(bases, i); - if (!b0) return -1; -#endif - b = (PyTypeObject*) b0; - if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE)) - { - __Pyx_RaiseErrorWithType( - PyExc_TypeError, "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - if (!has_dictoffset) - { - Py_ssize_t b_dictoffset = 0; -#if CYTHON_USE_TYPE_SLOTS - b_dictoffset = b->tp_dictoffset; -#else - b_dictoffset = __Pyx_GetTypeDictOffset((PyObject*)b, 0); - if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return; -#endif - if (b_dictoffset) { - __Pyx_RaiseErrorWithType1( - PyExc_TypeError, - "extension type '%.200s' has no __dict__ slot, " - "but base type '" __Pyx_FMT_TYPENAME "' has: " - "either add 'cdef dict __dict__' to the extension type " - "or add '__slots__ = [...]' to the base type", - type_name, b); -#if !CYTHON_USE_TYPE_SLOTS - dictoffset_return: -#endif -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - } -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - } - return 0; -} -#endif - -/* PyType_Ready */ -CYTHON_UNUSED static int __Pyx_PyType_HasMultipleInheritance(PyTypeObject *t) { - while (t) { - PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*); - if (bases) { - return 1; - } - t = __Pyx_PyType_GetSlot(t, tp_base, PyTypeObject*); - } - return 0; -} -static int __Pyx_PyType_Ready(PyTypeObject *t) { -#if CYTHON_USE_TYPE_SPECS || !CYTHON_COMPILING_IN_CPYTHON - (void)__Pyx_PyObject_CallMethod0; -#if CYTHON_USE_TYPE_SPECS - (void)__Pyx_validate_bases_tuple; -#endif - return PyType_Ready(t); -#else - int r; - if (!__Pyx_PyType_HasMultipleInheritance(t)) { - return PyType_Ready(t); - } - PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*); - if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset != 0, bases) == -1)) - return -1; - { - int gc_was_enabled; - #if PY_VERSION_HEX >= 0x030A00b1 - gc_was_enabled = PyGC_Disable(); - (void)__Pyx_PyObject_CallMethod0; - #else - PyObject *ret, *py_status; - PyObject *gc = NULL; - #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400) &&\ - !CYTHON_COMPILING_IN_GRAAL - gc = PyImport_GetModule(__pyx_mstate_global->__pyx_kp_u_gc); - #endif - if (unlikely(!gc)) gc = PyImport_Import(__pyx_mstate_global->__pyx_kp_u_gc); - if (unlikely(!gc)) return -1; - py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_isenabled); - if (unlikely(!py_status)) { - Py_DECREF(gc); - return -1; - } - gc_was_enabled = __Pyx_PyObject_IsTrue(py_status); - Py_DECREF(py_status); - if (gc_was_enabled > 0) { - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_disable); - if (unlikely(!ret)) { - Py_DECREF(gc); - return -1; - } - Py_DECREF(ret); - } else if (unlikely(gc_was_enabled == -1)) { - Py_DECREF(gc); - return -1; - } - #endif - t->tp_flags |= Py_TPFLAGS_HEAPTYPE; -#if PY_VERSION_HEX >= 0x030A0000 - t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE; -#endif - r = PyType_Ready(t); - t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE; - #if PY_VERSION_HEX >= 0x030A00b1 - if (gc_was_enabled) - PyGC_Enable(); - #else - if (gc_was_enabled) { - PyObject *tp, *v, *tb; - PyErr_Fetch(&tp, &v, &tb); - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_enable); - if (likely(ret || r == -1)) { - Py_XDECREF(ret); - PyErr_Restore(tp, v, tb); - } else { - Py_XDECREF(tp); - Py_XDECREF(v); - Py_XDECREF(tb); - r = -1; - } - } - Py_DECREF(gc); - #endif - } - return r; -#endif -} - -/* LimitedApiGetTypeTypeDict (used by DelItemOnTypeDict) */ -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_GetTypeTypeDict(PyTypeObject *tp) { - static Py_ssize_t tp_dictoffset = 0; - if (unlikely(tp_dictoffset == 0)) { - tp_dictoffset = __Pyx_GetTypeDictOffset((PyObject*)(&PyType_Type), 1); - if (unlikely(tp_dictoffset == -1 && PyErr_Occurred())) { - tp_dictoffset = 0; // try again next time? - return NULL; - } - } - return *(PyObject**)((char*)tp + tp_dictoffset); -} -#endif - -/* DelItemOnTypeDict (used by SetupReduce) */ -static int __Pyx__DelItemOnTypeDict(PyTypeObject *tp, PyObject *k) { - int result; - PyObject *tp_dict; -#if CYTHON_COMPILING_IN_LIMITED_API - tp_dict = __Pyx_GetTypeTypeDict(tp); - if (unlikely(!tp_dict)) return -1; -#else - tp_dict = tp->tp_dict; -#endif - result = PyDict_DelItem(tp_dict, k); - if (likely(!result)) PyType_Modified(tp); - return result; -} - -/* SetItemOnTypeDict (used by SetupReduce) */ -static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *v) { - int result; - PyObject *tp_dict; -#if CYTHON_COMPILING_IN_LIMITED_API - tp_dict = __Pyx_GetTypeTypeDict(tp); - if (unlikely(!tp_dict)) return -1; -#else - tp_dict = tp->tp_dict; -#endif - result = PyDict_SetItem(tp_dict, k, v); - if (likely(!result)) { - PyType_Modified(tp); - if (unlikely(PyObject_HasAttr(v, __pyx_mstate_global->__pyx_n_u_set_name))) { - PyObject *setNameResult = PyObject_CallMethodObjArgs(v, __pyx_mstate_global->__pyx_n_u_set_name, (PyObject *) tp, k, NULL); - if (!setNameResult) return -1; - Py_DECREF(setNameResult); - } - } - return result; -} - -/* SetupReduce */ -static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { - int ret; - PyObject *name_attr; - name_attr = __Pyx_PyObject_GetAttrStrNoError(meth, __pyx_mstate_global->__pyx_n_u_name_2); - if (likely(name_attr)) { - ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); - } else { - ret = -1; - } - if (unlikely(ret < 0) && __Pyx_IgnoreException(PyExc_Exception)) { - ret = 0; // But BaseException is still propagated. - } - Py_XDECREF(name_attr); - return ret; -} -static PyObject *__Pyx_setup_reduce_get_reduce_attribute(PyObject *type_obj, PyObject *name, int allow_not_present) { -#if CYTHON_USE_PYTYPE_LOOKUP - CYTHON_UNUSED_VAR(allow_not_present); - return _PyType_Lookup((PyTypeObject*)type_obj, name); -#else - if (allow_not_present) { - return __Pyx_PyObject_GetAttrStrNoError(type_obj, name); - } else { - return __Pyx_PyObject_GetAttrStr(type_obj, name); - } -#endif -} -static int __Pyx_setup_reduce(PyObject* type_obj) { - int ret = 0; - PyObject *object_reduce = NULL; - PyObject *object_getstate = NULL; - PyObject *object_reduce_ex = NULL; - PyObject *reduce = NULL; - PyObject *reduce_ex = NULL; - PyObject *reduce_cython = NULL; - PyObject *setstate = NULL; - PyObject *setstate_cython = NULL; - PyObject *getstate = NULL; - getstate = __Pyx_setup_reduce_get_reduce_attribute(type_obj, __pyx_mstate_global->__pyx_n_u_getstate, 1); - if (!getstate && PyErr_Occurred()) { - goto __PYX_BAD; - } - if (getstate) { - object_getstate = __Pyx_setup_reduce_get_reduce_attribute((PyObject*)&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_getstate, 1); - if (!object_getstate && PyErr_Occurred()) { - goto __PYX_BAD; - } - if (object_getstate != getstate) { - goto __PYX_GOOD; - } - } - object_reduce_ex = __Pyx_setup_reduce_get_reduce_attribute((PyObject*)&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_reduce_ex, 0); - if (unlikely(!object_reduce_ex)) goto __PYX_BAD; - reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_mstate_global->__pyx_n_u_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD; - if (reduce_ex == object_reduce_ex) { - object_reduce = __Pyx_setup_reduce_get_reduce_attribute((PyObject*)&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_reduce, 0); - if (!object_reduce) goto __PYX_BAD; - reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_mstate_global->__pyx_n_u_reduce); if (unlikely(!reduce)) goto __PYX_BAD; - int try_to_replace_reduce = (reduce == object_reduce); - if (!try_to_replace_reduce) { - try_to_replace_reduce = __Pyx_setup_reduce_is_named(reduce, __pyx_mstate_global->__pyx_n_u_reduce_cython); - if (unlikely(try_to_replace_reduce < 0)) { - goto __PYX_BAD; - } - } - if (try_to_replace_reduce) { - reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_reduce_cython); - if (likely(reduce_cython)) { - ret = __Pyx_SetItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; - ret = __Pyx_DelItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; - } else if (reduce == object_reduce || PyErr_Occurred()) { - goto __PYX_BAD; - } - setstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_setstate); - int try_to_replace_setstate; - if (!setstate) { - PyObject *exc = PyErr_Occurred(); - if (exc && !__Pyx_IgnoreGivenException(exc, PyExc_Exception)) { - goto __PYX_BAD; - } - try_to_replace_setstate = 1; - } else { - try_to_replace_setstate = __Pyx_setup_reduce_is_named(setstate, __pyx_mstate_global->__pyx_n_u_setstate_cython); - if (unlikely(try_to_replace_setstate < 0)) { - goto __PYX_BAD; - } - } - if (try_to_replace_setstate) { - setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_setstate_cython); - if (likely(setstate_cython)) { - ret = __Pyx_SetItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; - ret = __Pyx_DelItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; - } else if (!setstate || PyErr_Occurred()) { - goto __PYX_BAD; - } - } - PyType_Modified((PyTypeObject*)type_obj); - } - } - goto __PYX_GOOD; -__PYX_BAD: - if (!PyErr_Occurred()) { - __Pyx_RaiseErrorWithType( - PyExc_RuntimeError, - "Unable to initialize pickling for " __Pyx_FMT_TYPENAME, - (PyTypeObject*)type_obj); - } - ret = -1; -__PYX_GOOD: -#if !CYTHON_USE_PYTYPE_LOOKUP - Py_XDECREF(object_reduce); - Py_XDECREF(object_reduce_ex); - Py_XDECREF(object_getstate); - Py_XDECREF(getstate); -#endif - Py_XDECREF(reduce); - Py_XDECREF(reduce_ex); - Py_XDECREF(reduce_cython); - Py_XDECREF(setstate); - Py_XDECREF(setstate_cython); - return ret; -} - -/* GetVTable (used by MergeVTables) */ -static int __Pyx_GetVtable(PyTypeObject *type, void** table) { - void* ptr; - *table = NULL; -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *ob = PyObject_GetAttr((PyObject *)type, __pyx_mstate_global->__pyx_n_u_pyx_vtable); -#else - PyObject *ob = PyObject_GetItem(type->tp_dict, __pyx_mstate_global->__pyx_n_u_pyx_vtable); -#endif - if (!ob) - goto no_attr; - ptr = PyCapsule_GetPointer(ob, 0); - if (!ptr && !PyErr_Occurred()) - PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type"); - Py_DECREF(ob); - *table = ptr; - return 1; -no_attr: - if (PyErr_ExceptionMatches(CYTHON_COMPILING_IN_LIMITED_API ? PyExc_AttributeError : PyExc_KeyError)) { - return 0; - } - Py_XDECREF(ob); - return -1; -} - -/* MergeVTables (used by SetVTable) */ -static int __Pyx_MergeVtables(PyTypeObject *type) { - int i=0; - Py_ssize_t size; - void** base_vtables; - void* unknown = (void*)-1; - PyObject* bases = __Pyx_PyType_GetSlot(type, tp_bases, PyObject*); - int base_depth = 0; - { - PyTypeObject* base = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*); - while (base) { - base_depth += 1; - base = __Pyx_PyType_TryGetSlot(base, tp_base, PyTypeObject*); - } - } - base_vtables = (void**) PyMem_Malloc(sizeof(void*) * (size_t)(base_depth + 1)); - if (unlikely(!base_vtables)) { - PyErr_NoMemory(); - return -1; - } - base_vtables[0] = unknown; -#if CYTHON_COMPILING_IN_LIMITED_API - size = PyTuple_Size(bases); - if (size < 0) goto other_failure; -#else - size = PyTuple_GET_SIZE(bases); -#endif - for (i = 1; i < size; i++) { - PyObject *basei; - void* base_vtable; -#if CYTHON_AVOID_BORROWED_REFS - basei = PySequence_GetItem(bases, i); - if (unlikely(!basei)) goto other_failure; -#elif !CYTHON_ASSUME_SAFE_MACROS - basei = PyTuple_GetItem(bases, i); - if (unlikely(!basei)) goto other_failure; -#else - basei = PyTuple_GET_ITEM(bases, i); -#endif - int get_vtable_result = __Pyx_GetVtable((PyTypeObject*)basei, &base_vtable); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(basei); -#endif - if (get_vtable_result != 1) { - if (get_vtable_result == -1) { - goto other_failure; - } - PyErr_Clear(); // Class doesn't have a vtable. - } else { - assert(base_vtable != NULL); - int j; - PyTypeObject* base = __Pyx_PyType_TryGetSlot(type, tp_base, PyTypeObject*); -#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000 - if (!base) goto bad; -#endif - for (j = 0; j < base_depth; j++) { - if (base_vtables[j] == unknown) { - switch (__Pyx_GetVtable(base, &base_vtables[j])) { - case 1: - assert(base_vtables[j] == NULL); - break; - case 0: - goto bad; - case -1: - default: - goto other_failure; - } - base_vtables[j + 1] = unknown; - } - if (base_vtables[j] == base_vtable) { - break; - } - base = __Pyx_PyType_TryGetSlot(base, tp_base, PyTypeObject*); -#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000 - if (!base) goto bad; -#endif - } - } - } - PyMem_Free(base_vtables); - return 0; -bad: - { - PyTypeObject* tp_base = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*); - PyTypeObject* basei; -#if CYTHON_AVOID_BORROWED_REFS - basei = (PyTypeObject*)PySequence_GetItem(bases, i); - if (unlikely(!basei)) goto other_failure; -#elif !CYTHON_ASSUME_SAFE_MACROS - basei = (PyTypeObject*)PyTuple_GetItem(bases, i); - if (unlikely(!basei)) goto other_failure; -#else - basei = (PyTypeObject*)PyTuple_GET_ITEM(bases, i); -#endif - __Pyx_RaiseTypeErrorWithTypes( - "multiple bases have vtable conflict: '" __Pyx_FMT_TYPENAME "' and '" __Pyx_FMT_TYPENAME "'", tp_base, basei); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(basei); -#endif - } -other_failure: - PyMem_Free(base_vtables); - return -1; -} - -/* SetVTable */ -static int __Pyx_SetVtable(PyTypeObject *type, void *vtable) { - PyObject *ob = PyCapsule_New(vtable, 0, 0); - if (unlikely(!ob)) - goto bad; -#if CYTHON_COMPILING_IN_LIMITED_API - if (unlikely(PyObject_SetAttr((PyObject *) type, __pyx_mstate_global->__pyx_n_u_pyx_vtable, ob) < 0)) -#else - if (unlikely(PyDict_SetItem(type->tp_dict, __pyx_mstate_global->__pyx_n_u_pyx_vtable, ob) < 0)) -#endif - goto bad; - Py_DECREF(ob); - return __Pyx_MergeVtables(type); -bad: - Py_XDECREF(ob); - return -1; -} - -/* TypeImport */ -#ifndef __PYX_HAVE_RT_ImportType_3_3_0 -#define __PYX_HAVE_RT_ImportType_3_3_0 -static PyTypeObject *__Pyx_ImportType_3_3_0(PyObject *module, const char *module_name, const char *class_name, - size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_3_0 check_size) -{ - PyObject *result = 0; - Py_ssize_t basicsize; - Py_ssize_t itemsize; -#if defined(Py_LIMITED_API) || (defined(CYTHON_COMPILING_IN_LIMITED_API) && CYTHON_COMPILING_IN_LIMITED_API) - PyObject *py_basicsize; - PyObject *py_itemsize; -#endif - result = PyObject_GetAttrString(module, class_name); - if (!result) - goto bad; - if (!PyType_Check(result)) { - PyErr_Format(PyExc_TypeError, - "%.200s.%.200s is not a type object", - module_name, class_name); - goto bad; - } -#if !( defined(Py_LIMITED_API) || (defined(CYTHON_COMPILING_IN_LIMITED_API) && CYTHON_COMPILING_IN_LIMITED_API) ) - basicsize = ((PyTypeObject *)result)->tp_basicsize; - itemsize = ((PyTypeObject *)result)->tp_itemsize; -#else - if (size == 0) { - return (PyTypeObject *)result; - } - py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); - if (!py_basicsize) - goto bad; - basicsize = PyLong_AsSsize_t(py_basicsize); - Py_DECREF(py_basicsize); - py_basicsize = 0; - if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) - goto bad; - py_itemsize = PyObject_GetAttrString(result, "__itemsize__"); - if (!py_itemsize) - goto bad; - itemsize = PyLong_AsSsize_t(py_itemsize); - Py_DECREF(py_itemsize); - py_itemsize = 0; - if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred()) - goto bad; -#endif - if (itemsize) { - if (size % alignment) { - alignment = size % alignment; - } - if (itemsize < (Py_ssize_t)alignment) - itemsize = (Py_ssize_t)alignment; - } - if ((size_t)(basicsize + itemsize) < size) { - PyErr_Format(PyExc_ValueError, - "%.200s.%.200s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize+itemsize); - goto bad; - } - if (check_size == __Pyx_ImportType_CheckSize_Error_3_3_0 && - ((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) { - PyErr_Format(PyExc_ValueError, - "%.200s.%.200s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd-%zd from PyObject", - module_name, class_name, size, basicsize, basicsize+itemsize); - goto bad; - } - else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_3_0 && (size_t)basicsize > size) { - if (PyErr_WarnFormat(NULL, 0, - "%.200s.%.200s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize) < 0) { - goto bad; - } - } - return (PyTypeObject *)result; -bad: - Py_XDECREF(result); - return NULL; -} -#endif - -/* ImportImpl (used by Import) */ -static int __Pyx__Import_GetModule(PyObject *qualname, PyObject **module) { - PyObject *imported_module = PyImport_GetModule(qualname); - if (unlikely(!imported_module)) { - *module = NULL; - if (PyErr_Occurred()) { - return -1; - } - return 0; - } - *module = imported_module; - return 1; -} -static int __Pyx__Import_Lookup(PyObject *qualname, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject **module) { - PyObject *imported_module; - PyObject *top_level_package_name; - Py_ssize_t i; - int status, module_found; - Py_ssize_t dot_index; - module_found = __Pyx__Import_GetModule(qualname, &imported_module); - if (unlikely(!module_found || module_found == -1)) { - *module = NULL; - return module_found; - } - if (imported_names) { - for (i = 0; i < len_imported_names; i++) { - PyObject *imported_name = imported_names[i]; -#if __PYX_LIMITED_VERSION_HEX < 0x030d0000 - int has_imported_attribute = PyObject_HasAttr(imported_module, imported_name); -#else - int has_imported_attribute = PyObject_HasAttrWithError(imported_module, imported_name); - if (unlikely(has_imported_attribute == -1)) goto error; -#endif - if (!has_imported_attribute) { - goto not_found; - } - } - *module = imported_module; - return 1; - } - dot_index = PyUnicode_FindChar(qualname, '.', 0, PY_SSIZE_T_MAX, 1); - if (dot_index == -1) { - *module = imported_module; - return 1; - } - if (unlikely(dot_index == -2)) goto error; - top_level_package_name = PyUnicode_Substring(qualname, 0, dot_index); - if (unlikely(!top_level_package_name)) goto error; - Py_DECREF(imported_module); - status = __Pyx__Import_GetModule(top_level_package_name, module); - Py_DECREF(top_level_package_name); - return status; -error: - Py_DECREF(imported_module); - *module = NULL; - return -1; -not_found: - Py_DECREF(imported_module); - *module = NULL; - return 0; -} -static PyObject *__Pyx__Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, PyObject *moddict, int level) { - PyObject *module = 0; - PyObject *empty_dict = 0; - PyObject *from_list = 0; - int module_found; - if (!qualname) { - qualname = name; - } - module_found = __Pyx__Import_Lookup(qualname, imported_names, len_imported_names, &module); - if (likely(module_found == 1)) { - return module; - } else if (unlikely(module_found == -1)) { - return NULL; - } - #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030f00a6 - empty_dict = PyFrozenDict_New(NULL); - #else - empty_dict = PyDict_New(); - #endif - if (unlikely(!empty_dict)) - goto bad; - if (imported_names) { - from_list = __Pyx_PyList_FromArray(imported_names, len_imported_names); - if (unlikely(!from_list)) - goto bad; - } - if (level == -1) { - const char* package_sep = strchr(__Pyx_MODULE_NAME, '.'); - if (package_sep != (0)) { - module = PyImport_ImportModuleLevelObject( - name, moddict, empty_dict, from_list, 1); - if (unlikely(!module)) { - if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError))) - goto bad; - PyErr_Clear(); - } - } - level = 0; - } - if (!module) { - module = PyImport_ImportModuleLevelObject( - name, moddict, empty_dict, from_list, level); - } -bad: - Py_XDECREF(from_list); - Py_XDECREF(empty_dict); - return module; -} - -/* Import */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, int level) { - return __Pyx__Import(name, imported_names, len_imported_names, qualname, __pyx_mstate_global->__pyx_d, level); -} - -/* dict_setdefault (used by FetchCommonType) */ -static CYTHON_INLINE PyObject *__Pyx_PyDict_SetDefault(PyObject *d, PyObject *key, PyObject *default_value) { - PyObject* value; -#if __PYX_LIMITED_VERSION_HEX >= 0x030F0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4) - PyDict_SetDefaultRef(d, key, default_value, &value); -#elif CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX >= 0x030C0000 - PyObject *args[] = {d, key, default_value}; - value = PyObject_VectorcallMethod(__pyx_mstate_global->__pyx_n_u_setdefault, args, 3 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); -#elif CYTHON_COMPILING_IN_LIMITED_API - value = PyObject_CallMethodObjArgs(d, __pyx_mstate_global->__pyx_n_u_setdefault, key, default_value, NULL); -#else - value = PyDict_SetDefault(d, key, default_value); - if (unlikely(!value)) return NULL; - Py_INCREF(value); -#endif - return value; -} - -/* AddModuleRef (used by FetchSharedCythonModule) */ -#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && PY_VERSION_HEX < 0x030F00a3 - static PyObject *__Pyx_PyImport_AddModuleObjectRef(PyObject *name) { - PyObject *module_dict = PyImport_GetModuleDict(); - PyObject *m; - if (PyMapping_GetOptionalItem(module_dict, name, &m) < 0) { - return NULL; - } - if (m != NULL && PyModule_Check(m)) { - return m; - } - Py_XDECREF(m); - m = PyModule_NewObject(name); - if (m == NULL) - return NULL; - if (PyDict_CheckExact(module_dict)) { - PyObject *new_m; - (void)PyDict_SetDefaultRef(module_dict, name, m, &new_m); - Py_DECREF(m); - return new_m; - } else { - if (PyObject_SetItem(module_dict, name, m) != 0) { - Py_DECREF(m); - return NULL; - } - return m; - } - } - static PyObject *__Pyx_PyImport_AddModuleRef(const char *name) { - if ((PY_VERSION_HEX >= 0x030E0000) && Py_Version >= 0x030E0100) { - return PyImport_AddModuleRef(name); - } - PyObject *py_name = PyUnicode_FromString(name); - if (!py_name) return NULL; - PyObject *module = __Pyx_PyImport_AddModuleObjectRef(py_name); - Py_DECREF(py_name); - return module; - } -#elif __PYX_LIMITED_VERSION_HEX < 0x030d0000 - static PyObject *__Pyx_PyImport_AddModuleRef(const char *name) { - PyObject *module = PyImport_AddModule(name); - Py_XINCREF(module); - return module; - } -#endif - -/* FetchSharedCythonModule (used by FetchCommonType) */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void) { - return __Pyx_PyImport_AddModuleRef(__PYX_ABI_MODULE_NAME); -} - -/* VerifyCachedType (used by FetchCommonType) */ -static int __Pyx_VerifyCachedType(PyObject *cached_type, - const char *name, - Py_ssize_t expected_basicsize) { - Py_ssize_t basicsize; - if (!PyType_Check(cached_type)) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s is not a type object", name); - return -1; - } - if (expected_basicsize == 0) { - return 0; // size is inherited, nothing useful to check - } -#if CYTHON_COMPILING_IN_LIMITED_API && CYTHON_OPAQUE_OBJECTS - if (expected_basicsize < 0) { - basicsize = PyType_GetTypeDataSize((PyTypeObject*)cached_type); - } else -#endif - { - #if CYTHON_COMPILING_IN_LIMITED_API - PyObject *py_basicsize; - py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__"); - if (unlikely(!py_basicsize)) return -1; - basicsize = PyLong_AsSsize_t(py_basicsize); - Py_DECREF(py_basicsize); - py_basicsize = NULL; - if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) return -1; - #else - basicsize = ((PyTypeObject*) cached_type)->tp_basicsize; - #endif - } - if ((expected_basicsize >= 0) ? - (basicsize != expected_basicsize) : - (basicsize < -expected_basicsize)) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s has the wrong size, try recompiling", - name); - return -1; - } - return 0; -} - -/* FetchCommonType (used by CommonTypesMetaclass) */ -#if __PYX_LIMITED_VERSION_HEX < 0x030C0000 -static PyObject* __Pyx_PyType_FromMetaclass(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) { - PyObject *result = __Pyx_PyType_FromModuleAndSpec(module, spec, bases); - if (result && metaclass) { - PyObject *old_tp = (PyObject*)Py_TYPE(result); - Py_INCREF((PyObject*)metaclass); - Py_SET_TYPE(result, metaclass); - Py_DECREF(old_tp); - PyType_Modified((PyTypeObject*)result); - } - return result; -} -#else -#define __Pyx_PyType_FromMetaclass(me, mo, s, b) PyType_FromMetaclass(me, mo, s, b) -#endif -static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) { - PyObject *abi_module = NULL, *cached_type = NULL, *abi_module_dict, *new_cached_type, *py_object_name; - int get_item_ref_result; - const char* object_name = strrchr(spec->name, '.'); - object_name = object_name ? object_name+1 : spec->name; - py_object_name = PyUnicode_FromString(object_name); - if (!py_object_name) return NULL; - abi_module = __Pyx_FetchSharedCythonABIModule(); - if (!abi_module) goto done; - abi_module_dict = PyModule_GetDict(abi_module); - if (!abi_module_dict) goto done; - get_item_ref_result = __Pyx_PyDict_GetItemRef(abi_module_dict, py_object_name, &cached_type); - if (get_item_ref_result == 1) { - if (__Pyx_VerifyCachedType( - cached_type, - object_name, - spec->basicsize) < 0) { - goto bad; - } - goto done; - } else if (unlikely(get_item_ref_result == -1)) { - goto bad; - } - cached_type = __Pyx_PyType_FromMetaclass( - metaclass, - CYTHON_USE_MODULE_STATE ? module : abi_module, - spec, bases); - if (unlikely(!cached_type)) goto bad; - new_cached_type = __Pyx_PyDict_SetDefault(abi_module_dict, py_object_name, cached_type); - if (unlikely(new_cached_type != cached_type)) { - if (unlikely(!new_cached_type)) goto bad; - Py_DECREF(cached_type); - cached_type = new_cached_type; - if (__Pyx_VerifyCachedType( - cached_type, - object_name, - spec->basicsize) < 0) { - goto bad; - } - goto done; - } else { - Py_DECREF(new_cached_type); - } -done: - Py_XDECREF(abi_module); - Py_DECREF(py_object_name); - assert(cached_type == NULL || PyType_Check(cached_type)); - return (PyTypeObject *) cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} - -/* CommonTypesMetaclass (used by CythonFunctionShared) */ -static PyObject* __pyx_CommonTypesMetaclass_get_module(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED void* context) { - return PyUnicode_FromString(__PYX_ABI_MODULE_NAME); -} -#if __PYX_LIMITED_VERSION_HEX < 0x030A0000 -static PyObject* __pyx_CommonTypesMetaclass_call(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED PyObject *args, CYTHON_UNUSED PyObject *kwds) { - PyErr_SetString(PyExc_TypeError, "Cannot instantiate Cython internal types"); - return NULL; -} -static int __pyx_CommonTypesMetaclass_setattr(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED PyObject *attr, CYTHON_UNUSED PyObject *value) { - PyErr_SetString(PyExc_TypeError, "Cython internal types are immutable"); - return -1; -} -#endif -static PyGetSetDef __pyx_CommonTypesMetaclass_getset[] = { - {"__module__", __pyx_CommonTypesMetaclass_get_module, NULL, NULL, NULL}, - {0, 0, 0, 0, 0} -}; -static PyType_Slot __pyx_CommonTypesMetaclass_slots[] = { - {Py_tp_getset, (void *)__pyx_CommonTypesMetaclass_getset}, - #if __PYX_LIMITED_VERSION_HEX < 0x030A0000 - {Py_tp_call, (void*)__pyx_CommonTypesMetaclass_call}, - {Py_tp_new, (void*)__pyx_CommonTypesMetaclass_call}, - {Py_tp_setattro, (void*)__pyx_CommonTypesMetaclass_setattr}, - #endif - {0, 0} -}; -static PyType_Spec __pyx_CommonTypesMetaclass_spec = { - __PYX_TYPE_MODULE_PREFIX "_common_types_metatype", - 0, - 0, - Py_TPFLAGS_IMMUTABLETYPE | - Py_TPFLAGS_DISALLOW_INSTANTIATION | - Py_TPFLAGS_DEFAULT, - __pyx_CommonTypesMetaclass_slots -}; -static int __pyx_CommonTypesMetaclass_init(PyObject *module) { - __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module); - PyObject *bases = PyTuple_Pack(1, &PyType_Type); - if (unlikely(!bases)) { - return -1; - } - mstate->__pyx_CommonTypesMetaclassType = __Pyx_FetchCommonTypeFromSpec(NULL, module, &__pyx_CommonTypesMetaclass_spec, bases); - Py_DECREF(bases); - if (unlikely(mstate->__pyx_CommonTypesMetaclassType == NULL)) { - return -1; - } - return 0; -} - -/* CythonFunctionPerModule (used by CythonFunctionShared) */ -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunctionNoMethod(PyObject *func, void (*cfunc)(void)) { - if (__Pyx_CyFunction_Check(func)) { - return __Pyx_as_CyFunctionObject(func)->func_methoddef->ml_meth == (PyCFunction) cfunc; - } else if (PyCFunction_Check(func)) { - return PyCFunction_GetFunction(func) == (PyCFunction) cfunc; - } - return 0; -} -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void (*cfunc)(void)) { - if ((PyObject*)Py_TYPE(func) == __pyx_mstate_global->__Pyx_CachedMethodType) { - int result; - PyObject *newFunc = PyObject_GetAttr(func, __pyx_mstate_global->__pyx_n_u_func); - if (unlikely(!newFunc)) { - PyErr_Clear(); // It's only an optimization, so don't throw an error - return 0; - } - result = __Pyx__IsSameCyOrCFunctionNoMethod(newFunc, cfunc); - Py_DECREF(newFunc); - return result; - } - return __Pyx__IsSameCyOrCFunctionNoMethod(func, cfunc); -} -#else -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void (*cfunc)(void)) { - if (PyMethod_Check(func)) { - func = PyMethod_GET_FUNCTION(func); - } - return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -} -#endif -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) { -#if CYTHON_COMPILING_IN_LIMITED_API - __Pyx_Py_XDECREF_SET( - __Pyx__CyFunction_GetClassObj(f), - ((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#else - __Pyx_Py_XDECREF_SET( - ((PyCMethodObject *) (f))->mm_class, - (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_CyFunction_InitDefaults(PyObject *func, PyTypeObject *defaults_type) { - __pyx_CyFunctionObject *m = __Pyx_as_CyFunctionObject(func); - m->defaults = PyObject_CallObject((PyObject*)defaults_type, NULL); // _PyObject_New(defaults_type); - if (unlikely(!m->defaults)) - return NULL; - return m->defaults; -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { - __pyx_CyFunctionObject *m = __Pyx_as_CyFunctionObject(func); - m->defaults_tuple = tuple; - Py_INCREF(tuple); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = __Pyx_as_CyFunctionObject(func); - m->defaults_kwdict = dict; - Py_INCREF(dict); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = __Pyx_as_CyFunctionObject(func); - m->func_annotations = dict; - Py_INCREF(dict); -} - -/* CallTypeTraverse (used by CythonFunctionShared) */ -#if !CYTHON_USE_TYPE_SPECS -#else -static int __Pyx_call_type_traverse(PyObject *o, int always_call, visitproc visit, void *arg) { - if (!always_call) { - PyTypeObject *base = __Pyx_PyObject_GetSlot(o, tp_base, PyTypeObject*); - unsigned long flags = PyType_GetFlags(base); - if (flags & Py_TPFLAGS_HEAPTYPE) { - return 0; - } - } - Py_VISIT((PyObject*)Py_TYPE(o)); - return 0; -} -#endif - -/* PyMethodNew (used by CythonFunctionShared) */ -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - PyObject *result; - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - #if __PYX_LIMITED_VERSION_HEX >= 0x030C0000 - { - PyObject *args[] = {func, self}; - result = PyObject_Vectorcall(__pyx_mstate_global->__Pyx_CachedMethodType, args, 2, NULL); - } - #else - result = PyObject_CallFunctionObjArgs(__pyx_mstate_global->__Pyx_CachedMethodType, func, self, NULL); - #endif - return result; -} -#else -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - return PyMethod_New(func, self); -} -#endif - -/* PyVectorcallFastCallDict (used by CythonFunctionShared) */ -#if CYTHON_VECTORCALL -static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - PyObject *res = NULL; - PyObject *kwnames; - PyObject **newargs; - PyObject **kwvalues; - Py_ssize_t i; - #if CYTHON_AVOID_BORROWED_REFS - PyObject *pos; - #else - Py_ssize_t pos; - #endif - size_t j; - PyObject *key, *value; - unsigned long keys_are_strings; - #if !CYTHON_ASSUME_SAFE_SIZE - Py_ssize_t nkw = PyDict_Size(kw); - if (unlikely(nkw == -1)) return NULL; - #else - Py_ssize_t nkw = PyDict_GET_SIZE(kw); - #endif - newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0])); - if (unlikely(newargs == NULL)) { - PyErr_NoMemory(); - return NULL; - } - for (j = 0; j < nargs; j++) newargs[j] = args[j]; - kwnames = PyTuple_New(nkw); - if (unlikely(kwnames == NULL)) { - PyMem_Free(newargs); - return NULL; - } - kwvalues = newargs + nargs; - pos = 0; - i = 0; - keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS; - while (__Pyx_PyDict_NextRef(kw, &pos, &key, &value)) { - keys_are_strings &= - #if CYTHON_COMPILING_IN_LIMITED_API - PyType_GetFlags(Py_TYPE(key)); - #else - Py_TYPE(key)->tp_flags; - #endif - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely(PyTuple_SetItem(kwnames, i, key) < 0)) goto cleanup; - #else - PyTuple_SET_ITEM(kwnames, i, key); - #endif - kwvalues[i] = value; - i++; - } - if (unlikely(!keys_are_strings)) { - PyErr_SetString(PyExc_TypeError, "keywords must be strings"); - goto cleanup; - } - res = vc(func, newargs, nargs, kwnames); -cleanup: - #if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(pos); - #endif - Py_DECREF(kwnames); - for (i = 0; i < nkw; i++) - Py_DECREF(kwvalues[i]); - PyMem_Free(newargs); - return res; -} -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - Py_ssize_t kw_size = - likely(kw == NULL) ? - 0 : -#if !CYTHON_ASSUME_SAFE_SIZE - PyDict_Size(kw); -#else - PyDict_GET_SIZE(kw); -#endif - if (kw_size == 0) { - return vc(func, args, nargs, NULL); - } -#if !CYTHON_ASSUME_SAFE_SIZE - else if (unlikely(kw_size == -1)) { - return NULL; - } -#endif - return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw); -} -#endif - -/* CythonFunctionShared (used by CythonFunction) */ -static PyObject * -__Pyx_CyFunction_get_doc_locked(__pyx_CyFunctionObject *op) -{ - if (unlikely(op->func_doc == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - const char *doc = op->func_methoddef->ml_doc; -#else - const char *doc = ((PyCFunctionObject*)op)->m_ml->ml_doc; -#endif - if (doc) { - op->func_doc = PyUnicode_FromString(doc); - if (unlikely(op->func_doc == NULL)) - return NULL; - } else { - Py_INCREF(Py_None); - return Py_None; - } - } - Py_INCREF(op->func_doc); - return op->func_doc; -} -static PyObject * -__Pyx_CyFunction_get_doc(PyObject *op_in, void *closure) { - PyObject *result; - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - CYTHON_UNUSED_VAR(closure); - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - result = __Pyx_CyFunction_get_doc_locked(op); - __Pyx_END_CRITICAL_SECTION(); - return result; -} -static int -__Pyx_CyFunction_set_doc(PyObject *op_in, PyObject *value, void *context) -{ - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - CYTHON_UNUSED_VAR(context); - if (value == NULL) { - value = Py_None; - } - Py_INCREF(value); - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - __Pyx_Py_XDECREF_SET(op->func_doc, value); - __Pyx_END_CRITICAL_SECTION(); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_name_locked(__pyx_CyFunctionObject *op) -{ - if (unlikely(op->func_name == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - const char *name = op->func_methoddef->ml_name; -#else - const char *name = ((PyCFunctionObject*)op)->m_ml->ml_name; -#endif - op->func_name = PyUnicode_InternFromString(name); - if (unlikely(op->func_name == NULL)) - return NULL; - } - Py_INCREF(op->func_name); - return op->func_name; -} -static PyObject * -__Pyx_CyFunction_get_name(PyObject *op, void *context) -{ - PyObject *result = NULL; - CYTHON_UNUSED_VAR(context); - __Pyx_BEGIN_CRITICAL_SECTION(op); - result = __Pyx_CyFunction_get_name_locked(__Pyx_as_CyFunctionObject(op)); - __Pyx_END_CRITICAL_SECTION(); - return result; -} -static int -__Pyx_CyFunction_set_name(PyObject *op_in, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(value == NULL || !PyUnicode_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - Py_INCREF(value); - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - __Pyx_Py_XDECREF_SET(op->func_name, value); - __Pyx_END_CRITICAL_SECTION(); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_qualname(PyObject *op_in, void *context) -{ - CYTHON_UNUSED_VAR(context); - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - PyObject *result; - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - Py_INCREF(op->func_qualname); - result = op->func_qualname; - __Pyx_END_CRITICAL_SECTION(); - return result; -} -static int -__Pyx_CyFunction_set_qualname(PyObject *op_in, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(value == NULL || !PyUnicode_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - Py_INCREF(value); - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - __Pyx_Py_XDECREF_SET(op->func_qualname, value); - __Pyx_END_CRITICAL_SECTION(); - return 0; -} -#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000 -static PyObject * -__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(op->func_dict == NULL)) { - op->func_dict = PyDict_New(); - if (unlikely(op->func_dict == NULL)) - return NULL; - } - Py_INCREF(op->func_dict); - return op->func_dict; -} -#endif -static PyObject * -__Pyx_CyFunction_get_globals(PyObject *op_in, void *context) -{ - CYTHON_UNUSED_VAR(context); - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - Py_INCREF(op->func_globals); - return op->func_globals; -} -static PyObject * -__Pyx_CyFunction_get_closure(PyObject *op, void *context) -{ - CYTHON_UNUSED_VAR(op); - CYTHON_UNUSED_VAR(context); - Py_INCREF(Py_None); - return Py_None; -} -static PyObject * -__Pyx_CyFunction_get_code(PyObject *op_in, void *context) -{ - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - PyObject* result = (op->func_code) ? op->func_code : Py_None; - CYTHON_UNUSED_VAR(context); - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op, PyObject *op_obj) { - int result = 0; - PyObject *res = op->defaults_getter(op_obj); - if (unlikely(!res)) - return -1; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - op->defaults_tuple = PyTuple_GET_ITEM(res, 0); - Py_INCREF(op->defaults_tuple); - op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); - Py_INCREF(op->defaults_kwdict); - #else - op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0); - if (unlikely(!op->defaults_tuple)) result = -1; - else { - op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1); - if (unlikely(!op->defaults_kwdict)) result = -1; - } - #endif - Py_DECREF(res); - return result; -} -static int -__Pyx_CyFunction_set_defaults(PyObject *op_in, PyObject* value, void *context) { - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyTuple_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__defaults__ must be set to a tuple object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - __Pyx_Py_XDECREF_SET(op->defaults_tuple, value); - __Pyx_END_CRITICAL_SECTION(); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_defaults_locked(PyObject *op_in) { - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - PyObject* result = op->defaults_tuple; - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op, op_in) < 0)) return NULL; - result = op->defaults_tuple; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static PyObject * -__Pyx_CyFunction_get_defaults(PyObject *op, void *context) { - PyObject* result = NULL; - CYTHON_UNUSED_VAR(context); - __Pyx_BEGIN_CRITICAL_SECTION(op); - result = __Pyx_CyFunction_get_defaults_locked(op); - __Pyx_END_CRITICAL_SECTION(); - return result; -} -static int -__Pyx_CyFunction_set_kwdefaults(PyObject *op_in, PyObject* value, void *context) { - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__kwdefaults__ must be set to a dict object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value); - __Pyx_END_CRITICAL_SECTION(); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_kwdefaults_locked(PyObject *op_in) { - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - PyObject* result = op->defaults_kwdict; - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op, op_in) < 0)) return NULL; - result = op->defaults_kwdict; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static PyObject * -__Pyx_CyFunction_get_kwdefaults(PyObject *op, void *context) { - PyObject* result; - CYTHON_UNUSED_VAR(context); - __Pyx_BEGIN_CRITICAL_SECTION(op); - result = __Pyx_CyFunction_get_kwdefaults_locked(op); - __Pyx_END_CRITICAL_SECTION(); - return result; -} -static int __Pyx_CyFunction_set_annotate_in_dict_if_exists(PyObject *op_in, PyObject *value); -static int -__Pyx_CyFunction_set_annotations(PyObject *op_in, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value || value == Py_None) { - value = NULL; - } else if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__annotations__ must be set to a dict object"); - return -1; - } - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - Py_XINCREF(value); - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - __Pyx_Py_XDECREF_SET(op->func_annotations, value); - __Pyx_END_CRITICAL_SECTION(); - if (unlikely(__Pyx_CyFunction_set_annotate_in_dict_if_exists(op_in, Py_None) < 0)) return -1; - return 0; -} -static int -__Pyx_CyFunction_get_dict_if_exists(PyObject *op_in, PyObject **dict) { - /* Return 1 if the function dict exists, 0 otherwise. This cannot fail: - * _PyObject_GetDictPtr() may clear errors internally, but never reports them. */ -#if CYTHON_COMPILING_IN_PYPY - *dict = PyObject_GenericGetDict(op_in, NULL); -#elif CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX < 0x030C0000 - *dict = __Pyx_as_CyFunctionObject(op_in)->func_dict; -#else - PyObject **dictptr = _PyObject_GetDictPtr(op_in); - *dict = likely(dictptr) ? *dictptr : NULL; -#endif - return *dict ? 1 : 0; -} -static int -__Pyx_CyFunction_get_annotate_from_dict_if_exists(PyObject *op_in, PyObject **annotate) { - PyObject *dict; - int dict_found; - *annotate = NULL; - dict_found = __Pyx_CyFunction_get_dict_if_exists(op_in, &dict); - if (!dict_found) return 0; - return __Pyx_PyDict_GetItemRef(dict, __pyx_mstate_global->__pyx_n_u_annotate, annotate); -} -static int -__Pyx_CyFunction_set_annotate_in_dict_if_exists(PyObject *op_in, PyObject *value) { - PyObject *dict; - int dict_found; - dict_found = __Pyx_CyFunction_get_dict_if_exists(op_in, &dict); - if (!dict_found) return 0; - if (value) { - return PyDict_SetItem(dict, __pyx_mstate_global->__pyx_n_u_annotate, value); - } else { -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d0000 - return PyDict_Pop(dict, __pyx_mstate_global->__pyx_n_u_annotate, NULL); -#else - int result = PyDict_Contains(dict, __pyx_mstate_global->__pyx_n_u_annotate); - if (result == 1) { - result = PyDict_DelItem(dict, __pyx_mstate_global->__pyx_n_u_annotate); - } - return result; -#endif - } -} -static int -__Pyx_CyFunction_set_annotate_in_dict(PyObject *op_in, PyObject *value) { - PyObject *dict; - int result; -#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000 - dict = __Pyx_CyFunction_get_dict(__Pyx_as_CyFunctionObject(op_in), NULL); -#else - dict = PyObject_GenericGetDict(op_in, NULL); -#endif - if (unlikely(!dict)) return -1; - result = PyDict_SetItem(dict, __pyx_mstate_global->__pyx_n_u_annotate, value); - Py_DECREF(dict); - return result; -} -static PyObject * -__Pyx_CyFunction_get_annotations_locked(__pyx_CyFunctionObject *op) { - PyObject* result = op->func_annotations; - if (unlikely(!result)) { - result = PyDict_New(); - if (unlikely(!result)) return NULL; - op->func_annotations = result; - } - Py_INCREF(result); - return result; -} -static PyObject * -__Pyx_CyFunction_get_annotations(PyObject *op_in, void *context) { - PyObject *annotate = NULL; - PyObject *result = NULL; - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - CYTHON_UNUSED_VAR(context); - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - result = __Pyx_XNewRef(op->func_annotations); - __Pyx_END_CRITICAL_SECTION(); - if (result) return result; - if (unlikely(__Pyx_CyFunction_get_annotate_from_dict_if_exists(op_in, &annotate) < 0)) return NULL; - if (!annotate || annotate == Py_None) { - Py_XDECREF(annotate); - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - result = __Pyx_CyFunction_get_annotations_locked(op); - __Pyx_END_CRITICAL_SECTION(); - return result; - } - PyObject *format = PyLong_FromLong(1L); // annotationlib.Format.VALUE - if (likely(format)) { - if (!Py_EnterRecursiveCall(" cyfunction __annotations__.__get__")) { - result = __Pyx_PyObject_CallOneArg(annotate, format); - Py_LeaveRecursiveCall(); - Py_DECREF(format); - } - } - Py_DECREF(annotate); - if (unlikely(!result)) return NULL; - if (unlikely(!PyDict_Check(result))) { - PyErr_SetString(PyExc_TypeError, "__annotate__ must return a dict"); - Py_DECREF(result); - return NULL; - } - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - __Pyx_Py_XDECREF_SET(op->func_annotations, __Pyx_NewRef(result)); - __Pyx_END_CRITICAL_SECTION(); - return result; -} -static PyObject *__Pyx_CyFunction_annotate_impl(PyObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - if (unlikely(!self)) { - PyErr_SetString(PyExc_SystemError, "cython __annotate__ called without 'self' argument"); - return NULL; - } - PyObject *result; - if (Py_EnterRecursiveCall(" in cyfunction annotate")) { - return NULL; - } - result = __Pyx_CyFunction_get_annotations(self, NULL); - Py_LeaveRecursiveCall(); - return result; -} -static PyObject * -__Pyx_CyFunction_get_annotate(PyObject *op_in, void *context); -static int -__Pyx_CyFunction_set_annotate(PyObject *op_in, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (value == NULL) { - PyErr_SetString(PyExc_TypeError, "__annotate__ cannot be deleted"); - return -1; - } - if (unlikely(value != Py_None && !PyCallable_Check(value))) { - PyErr_SetString(PyExc_TypeError, "__annotate__ must be callable or None"); - return -1; - } - if (unlikely(__Pyx_TypeCheck(value, &PyCFunction_Type))) { -#if !CYTHON_ASSUME_SAFE_MACROS && !CYTHON_COMPILING_IN_PYPY - PyCFunction cfunction = PyCFunction_GetFunction(value); - if (unlikely(!cfunction)) return -1; - PyObject *value_self = PyCFunction_GetSelf(value); - if (unlikely(!value_self && PyErr_Occurred())) return -1; -#else - PyCFunction cfunction = PyCFunction_GET_FUNCTION(value); - PyObject *value_self = PyCFunction_GET_SELF(value); -#endif - if (cfunction == __Pyx_CyFunction_annotate_impl && value_self == op_in) { - return __Pyx_CyFunction_set_annotate_in_dict_if_exists(op_in, NULL); - } - } - if (value != Py_None) { - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - Py_CLEAR(op->func_annotations); - __Pyx_END_CRITICAL_SECTION(); - } - return __Pyx_CyFunction_set_annotate_in_dict(op_in, value); -} -#if __PYX_LIMITED_VERSION_HEX < 0x030B0000 -static PyObject * -__Pyx_CyFunction_get_is_coroutine_value(__pyx_CyFunctionObject *op) { - int is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE; - if (is_coroutine) { - PyObject *is_coroutine_value, *module, *fromlist, *marker = __pyx_mstate_global->__pyx_n_u_is_coroutine; - fromlist = PyList_New(1); - if (unlikely(!fromlist)) return NULL; - Py_INCREF(marker); -#if CYTHON_ASSUME_SAFE_MACROS - PyList_SET_ITEM(fromlist, 0, marker); -#else - if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) { - Py_DECREF(fromlist); - return NULL; - } -#endif - module = PyImport_ImportModuleLevelObject(__pyx_mstate_global->__pyx_n_u_asyncio_coroutines, NULL, NULL, fromlist, 0); - Py_DECREF(fromlist); - if (unlikely(!module)) { - goto ignore_or_error; - } - is_coroutine_value = __Pyx_PyObject_GetAttrStr(module, marker); - Py_DECREF(module); - if (likely(is_coroutine_value)) { - return is_coroutine_value; - } -ignore_or_error: - if (!__Pyx_IgnoreException(PyExc_Exception)) { - return NULL; - } - } - return __Pyx_PyBool_FromLong(is_coroutine); -} -static PyObject * -__Pyx_CyFunction_get_is_coroutine(PyObject *op_in, void *context) { - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - PyObject *result; - CYTHON_UNUSED_VAR(context); - if (op->func_is_coroutine) { - return __Pyx_NewRef(op->func_is_coroutine); - } - result = __Pyx_CyFunction_get_is_coroutine_value(op); - if (unlikely(!result)) - return NULL; - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - if (op->func_is_coroutine) { - Py_DECREF(result); - result = __Pyx_NewRef(op->func_is_coroutine); - } else { - op->func_is_coroutine = __Pyx_NewRef(result); - } - __Pyx_END_CRITICAL_SECTION(); - return result; -} -#endif -static void __Pyx_CyFunction_raise_argument_count_error(PyObject *func, const char* message, Py_ssize_t size) { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *py_name = __Pyx_CyFunction_get_name(func, NULL); - if (!py_name) return; - PyErr_Format(PyExc_TypeError, - "%.200S() %s (%" CYTHON_FORMAT_SSIZE_T "d given)", - py_name, message, size); - Py_DECREF(py_name); -#else - const char* name = ((PyCFunctionObject*)func)->m_ml->ml_name; - PyErr_Format(PyExc_TypeError, - "%.200s() %s (%" CYTHON_FORMAT_SSIZE_T "d given)", - name, message, size); -#endif -} -static void __Pyx_CyFunction_raise_type_error(PyObject *func, const char* message) { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *py_name = __Pyx_CyFunction_get_name(func, NULL); - if (!py_name) return; - PyErr_Format(PyExc_TypeError, - "%.200S() %s", - py_name, message); - Py_DECREF(py_name); -#else - const char* name = ((PyCFunctionObject*)func)->m_ml->ml_name; - PyErr_Format(PyExc_TypeError, - "%.200s() %s", - name, message); -#endif -} -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject * -__Pyx_CyFunction_get_module(PyObject *op_in, void *context) { - CYTHON_UNUSED_VAR(context); - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - Py_INCREF(op->func_module); - return op->func_module; -} -static int -__Pyx_CyFunction_set_module(PyObject *op_in, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - if (value == NULL) { - value = Py_None; - } - Py_INCREF(value); - PyObject *old = op->func_module; - op->func_module = value; - Py_DECREF(old); - return 0; -} -#endif -static PyGetSetDef __pyx_CyFunction_getsets[] = { - {"func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {"__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {"func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {"__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {"__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, -#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000 - {"func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)PyObject_GenericSetDict, 0, 0}, - {"__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)PyObject_GenericSetDict, 0, 0}, -#else - {"func_dict", (getter)PyObject_GenericGetDict, (setter)PyObject_GenericSetDict, 0, 0}, - {"__dict__", (getter)PyObject_GenericGetDict, (setter)PyObject_GenericSetDict, 0, 0}, -#endif - {"func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {"__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {"func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {"__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {"func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {"__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {"func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {"__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {"__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, - {"__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, - {"__annotate__", (getter)__Pyx_CyFunction_get_annotate, (setter)__Pyx_CyFunction_set_annotate, 0, 0}, -#if __PYX_LIMITED_VERSION_HEX < 0x030B0000 - {"_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0}, -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0}, -#endif - {0, 0, 0, 0, 0} -}; -static PyMemberDef __pyx_CyFunction_members[] = { -#if !CYTHON_COMPILING_IN_LIMITED_API - {"__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0}, -#endif -#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API - {"__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), - __PYX_SHARED_RELATIVE_OFFSET | READONLY, 0}, -#endif -#if CYTHON_VECTORCALL -#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY - {"__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), - __PYX_SHARED_RELATIVE_OFFSET | READONLY, 0}, -#else - {"__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0}, -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - {"__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), - __PYX_SHARED_RELATIVE_OFFSET | READONLY, 0}, -#else - {"__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0}, -#endif -#endif - {0, 0, 0, 0, 0} -}; -static PyObject * -__Pyx_CyFunction_reduce(PyObject *m_in, PyObject *args) -{ - PyObject *result = NULL; - __pyx_CyFunctionObject *m = __Pyx_as_CyFunctionObject(m_in); - CYTHON_UNUSED_VAR(args); - __Pyx_BEGIN_CRITICAL_SECTION(m_in); - Py_INCREF(m->func_qualname); - result = m->func_qualname; - __Pyx_END_CRITICAL_SECTION(); - return result; -} -static PyMethodDef __pyx_CyFunction_methods[] = { - {"__annotate_cython__", __Pyx_CyFunction_annotate_impl, METH_O, - "Placeholder __annotate__ function to allow 'functools.wraps' to work " - "on Cython functions."}, - {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_NOARGS, 0}, - {0, 0, 0, 0} -}; -static PyObject * -__Pyx_CyFunction_get_annotate(PyObject *op_in, void *context) { - PyObject *annotate = NULL; - CYTHON_UNUSED_VAR(context); - if (unlikely(__Pyx_CyFunction_get_annotate_from_dict_if_exists(op_in, &annotate) < 0)) return NULL; - if (annotate) return annotate; - PyObject *method = PyCFunction_New( - &__pyx_CyFunction_methods[0], - op_in); - return method; -} -#if CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) -#else -#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist) -#endif -static PyObject *__Pyx_CyFunction_Init(PyObject *op_in, - PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - __pyx_CyFunctionObject* op = __Pyx_as_CyFunctionObject(op_in); -#if !CYTHON_COMPILING_IN_LIMITED_API - PyCFunctionObject *cf = (PyCFunctionObject*) op; -#endif - if (unlikely(op == NULL)) - return NULL; -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_methoddef = ml; - Py_INCREF(module); - op->func_module = module; -#endif - op->flags = flags; - __Pyx_CyFunction_weakreflist(op) = NULL; -#if !CYTHON_COMPILING_IN_LIMITED_API - cf->m_ml = ml; - cf->m_self = (PyObject *) op; -#endif - Py_XINCREF(closure); - op->func_closure = closure; -#if !CYTHON_COMPILING_IN_LIMITED_API - Py_XINCREF(module); - cf->m_module = module; -#endif -#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API - op->func_dict = NULL; -#endif - op->func_name = NULL; - Py_INCREF(qualname); - op->func_qualname = qualname; - op->func_doc = NULL; -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_classobj = NULL; -#else - ((PyCMethodObject*)op)->mm_class = NULL; -#endif - op->func_globals = globals; - Py_INCREF(op->func_globals); - Py_XINCREF(code); - op->func_code = code; - op->defaults = NULL; - op->defaults_tuple = NULL; - op->defaults_kwdict = NULL; - op->defaults_getter = NULL; - op->func_annotations = NULL; -#if __PYX_LIMITED_VERSION_HEX < 0x030B0000 - op->func_is_coroutine = NULL; -#endif -#if CYTHON_VECTORCALL - switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) { - case METH_NOARGS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS; - break; - case METH_O: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O; - break; - case METH_METHOD | METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD; - break; - case METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS; - break; - case METH_VARARGS | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = NULL; - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - Py_DECREF(op_in); - return NULL; - } -#endif - return op_in; -} -static int __Pyx__CyFunction_clear(__pyx_CyFunctionObject *m) -{ - Py_CLEAR(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_CLEAR(m->func_module); -#else - Py_CLEAR(((PyCFunctionObject*)m)->m_module); -#endif -#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API - Py_CLEAR(m->func_dict); -#elif PY_VERSION_HEX < 0x030d0000 - _PyObject_ClearManagedDict((PyObject*)m); -#else - PyObject_ClearManagedDict((PyObject*)m); -#endif - Py_CLEAR(m->func_name); - Py_CLEAR(m->func_qualname); - Py_CLEAR(m->func_doc); - Py_CLEAR(m->func_globals); - Py_CLEAR(m->func_code); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_CLEAR(m->func_classobj); -#else - { - PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class; - ((PyCMethodObject *) (m))->mm_class = NULL; - Py_XDECREF(cls); - } -#endif - Py_CLEAR(m->defaults_tuple); - Py_CLEAR(m->defaults_kwdict); - Py_CLEAR(m->func_annotations); -#if __PYX_LIMITED_VERSION_HEX < 0x030B0000 - Py_CLEAR(m->func_is_coroutine); -#endif - Py_CLEAR(m->defaults); - return 0; -} -static int -__Pyx_CyFunction_clear(PyObject *m) -{ - return __Pyx__CyFunction_clear(__Pyx_as_CyFunctionObject(m)); -} -static void __Pyx__CyFunction_dealloc(PyObject *m) -{ - __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(m); - if (__Pyx_CyFunction_weakreflist(cyfunc) != NULL) - PyObject_ClearWeakRefs(m); - __Pyx__CyFunction_clear(cyfunc); - __Pyx_PyHeapTypeObject_GC_Del(m); -} -static void __Pyx_CyFunction_dealloc(PyObject *m) -{ - PyObject_GC_UnTrack(m); - __Pyx__CyFunction_dealloc(m); -} -static int __Pyx_CyFunction_traverse(PyObject *m_in, visitproc visit, void *arg) -{ - __pyx_CyFunctionObject *m = __Pyx_as_CyFunctionObject(m_in); - { - int e = __Pyx_call_type_traverse(m_in, 1, visit, arg); - if (e) return e; - } - Py_VISIT(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(m->func_module); -#else - Py_VISIT(((PyCFunctionObject*)m)->m_module); -#endif -#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(m->func_dict); -#else - { - int e = -#if PY_VERSION_HEX < 0x030d0000 - _PyObject_VisitManagedDict -#else - PyObject_VisitManagedDict -#endif - ((PyObject*)m, visit, arg); - if (e != 0) return e; - } -#endif - __Pyx_VISIT_CONST(m->func_name); - __Pyx_VISIT_CONST(m->func_qualname); - Py_VISIT(m->func_doc); - Py_VISIT(m->func_globals); - __Pyx_VISIT_CONST(m->func_code); - Py_VISIT(__Pyx__CyFunction_GetClassObj(m)); - Py_VISIT(m->defaults_tuple); - Py_VISIT(m->defaults_kwdict); - Py_VISIT(m->func_annotations); -#if __PYX_LIMITED_VERSION_HEX < 0x030B0000 - Py_VISIT(m->func_is_coroutine); -#endif - Py_VISIT(m->defaults); - return 0; -} -static PyObject* -__Pyx_CyFunction_repr(PyObject *op_in) -{ - __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in); - PyObject *repr; - __Pyx_BEGIN_CRITICAL_SECTION(op_in); - repr = PyUnicode_FromFormat("", - op->func_qualname, (void *)op); - __Pyx_END_CRITICAL_SECTION(); - return repr; -} -static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { -#if CYTHON_COMPILING_IN_LIMITED_API - __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(func); - PyCFunction meth = cyfunc->func_methoddef->ml_meth; - int flags = cyfunc->func_methoddef->ml_flags; -#else - PyCFunctionObject* f = (PyCFunctionObject*)func; - PyCFunction meth = f->m_ml->ml_meth; - int flags = f->m_ml->ml_flags; -#endif - Py_ssize_t size; - switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { - case METH_VARARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) - return (*meth)(self, arg); - break; - case METH_VARARGS | METH_KEYWORDS: - return (*(PyCFunctionWithKeywords)(void(*)(void))meth)(self, arg, kw); - case METH_NOARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_SIZE - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 0)) - return (*meth)(self, NULL); - __Pyx_CyFunction_raise_argument_count_error( - func, - "takes no arguments", size); - return NULL; - } - break; - case METH_O: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_SIZE - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 1)) { - PyObject *result, *arg0; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - arg0 = PyTuple_GET_ITEM(arg, 0); - #else - arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; - #endif - result = (*meth)(self, arg0); - #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(arg0); - #endif - return result; - } - __Pyx_CyFunction_raise_argument_count_error( - func, - "takes exactly one argument", size); - return NULL; - } - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - return NULL; - } - __Pyx_CyFunction_raise_type_error( - func, "takes no keyword arguments"); - return NULL; -} -static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *result; - result = __Pyx_CyFunction_CallMethod(func, func, arg, kw); - return result; -} -static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { - PyObject *result; - __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(func); -#if CYTHON_VECTORCALL - __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc); - if (vc) { -#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE - return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw); -#else - (void) &__Pyx_PyVectorcall_FastCallDict; - return PyVectorcall_Call(func, args, kw); -#endif - } -#endif - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - Py_ssize_t argc; - PyObject *new_args; - PyObject *self; -#if CYTHON_ASSUME_SAFE_SIZE - argc = PyTuple_GET_SIZE(args); -#else - argc = PyTuple_Size(args); - if (unlikely(argc < 0)) return NULL; -#endif - new_args = PyTuple_GetSlice(args, 1, argc); - if (unlikely(!new_args)) - return NULL; - self = PyTuple_GetItem(args, 0); - if (unlikely(!self)) { - Py_DECREF(new_args); - PyErr_Format(PyExc_TypeError, - "unbound method %.200S() needs an argument", - cyfunc->func_qualname); - return NULL; - } - result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); - Py_DECREF(new_args); - } else { - result = __Pyx_CyFunction_Call(func, args, kw); - } - return result; -} -#if CYTHON_VECTORCALL -static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(PyObject *func, __pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames) -{ - int ret = 0; - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - if (unlikely(nargs < 1)) { - __Pyx_CyFunction_raise_type_error( - func, "needs an argument"); - return -1; - } - ret = 1; - } - if (unlikely(kwnames) && unlikely(__Pyx_PyTuple_GET_SIZE(kwnames))) { - __Pyx_CyFunction_raise_type_error( - func, "takes no keyword arguments"); - return -1; - } - return ret; -} -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(func); - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *self; -#if CYTHON_COMPILING_IN_LIMITED_API - PyCFunction meth = cyfunc->func_methoddef->ml_meth; - if (unlikely(!meth)) return NULL; -#else - PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth; -#endif - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(func, cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = func; - break; - default: - return NULL; - } - if (unlikely(nargs != 0)) { - __Pyx_CyFunction_raise_argument_count_error( - func, "takes no arguments", nargs); - return NULL; - } - return meth(self, NULL); -} -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(func); - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *self; -#if CYTHON_COMPILING_IN_LIMITED_API - PyCFunction meth = cyfunc->func_methoddef->ml_meth; - if (unlikely(!meth)) return NULL; -#else - PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth; -#endif - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(func, cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = func; - break; - default: - return NULL; - } - if (unlikely(nargs != 1)) { - __Pyx_CyFunction_raise_argument_count_error( - func, "takes exactly one argument", nargs); - return NULL; - } - return meth(self, args[0]); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(func); - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *self; -#if CYTHON_COMPILING_IN_LIMITED_API - PyCFunction meth = cyfunc->func_methoddef->ml_meth; - if (unlikely(!meth)) return NULL; -#else - PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth; -#endif - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(func, cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = func; - break; - default: - return NULL; - } - return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))meth)(self, args, nargs, kwnames); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(func); - PyTypeObject *cls = (PyTypeObject *) __Pyx__CyFunction_GetClassObj(cyfunc); - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); - PyObject *self; -#if CYTHON_COMPILING_IN_LIMITED_API - PyCFunction meth = cyfunc->func_methoddef->ml_meth; - if (unlikely(!meth)) return NULL; -#else - PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth; -#endif - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(func, cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = func; - break; - default: - return NULL; - } - #if PY_VERSION_HEX < 0x030e00A6 - size_t nargs_value = (size_t) nargs; - #else - Py_ssize_t nargs_value = nargs; - #endif - return ((__Pyx_PyCMethod)(void(*)(void))meth)(self, cls, args, nargs_value, kwnames); -} -#endif -static PyType_Slot __pyx_CyFunctionType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc}, - {Py_tp_repr, (void *)__Pyx_CyFunction_repr}, - {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod}, - {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse}, - {Py_tp_clear, (void *)__Pyx_CyFunction_clear}, - {Py_tp_methods, (void *)__pyx_CyFunction_methods}, - {Py_tp_members, (void *)__pyx_CyFunction_members}, - {Py_tp_getset, (void *)__pyx_CyFunction_getsets}, - {Py_tp_descr_get, (void *)__Pyx_PyMethod_New}, - {0, 0}, -}; -static PyType_Spec __pyx_CyFunctionType_spec = { - __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", - __PYX_SHARED_SIZEOF(__pyx_CyFunctionObject), - 0, -#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR - Py_TPFLAGS_METHOD_DESCRIPTOR | -#endif -#if CYTHON_VECTORCALL -#if defined(Py_TPFLAGS_HAVE_VECTORCALL) - Py_TPFLAGS_HAVE_VECTORCALL | -#elif defined(_Py_TPFLAGS_HAVE_VECTORCALL) - _Py_TPFLAGS_HAVE_VECTORCALL | -#endif -#endif // CYTHON_VECTORCALL -#if PY_VERSION_HEX >= 0x030C0000 && !CYTHON_COMPILING_IN_LIMITED_API - Py_TPFLAGS_MANAGED_DICT | -#endif - Py_TPFLAGS_IMMUTABLETYPE | Py_TPFLAGS_DISALLOW_INSTANTIATION | - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, - __pyx_CyFunctionType_slots -}; -static int __pyx_CyFunction_init(PyObject *module) { - __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module); - mstate->__pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec( - mstate->__pyx_CommonTypesMetaclassType, module, &__pyx_CyFunctionType_spec, NULL); - if (unlikely(mstate->__pyx_CyFunctionType == NULL)) { - return -1; - } - return 0; -} - -/* CythonFunction */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - (void)&__Pyx_Get_CyFunction_Type; - PyObject *op = __Pyx_CyFunction_Init( - PyObject_GC_New(PyObject, __pyx_mstate_global->__pyx_CyFunctionType), - ml, flags, qualname, closure, module, globals, code - ); - if (likely(op)) { - PyObject_GC_Track(op); - } - return op; -} -static PyTypeObject *__Pyx_Get_CyFunction_Type(void) { - PyTypeObject *tp = __pyx_mstate_global->__pyx_CyFunctionType; - Py_INCREF((PyObject*)tp); - return tp; -} - -/* Py3UpdateBases */ -static PyObject* -__Pyx_PEP560_update_bases(PyObject *bases) -{ - Py_ssize_t i, j, size_bases; - PyObject *base = NULL, *meth, *new_base, *result, *new_bases = NULL; -#if CYTHON_ASSUME_SAFE_SIZE - size_bases = PyTuple_GET_SIZE(bases); -#else - size_bases = PyTuple_Size(bases); - if (size_bases < 0) return NULL; -#endif - for (i = 0; i < size_bases; i++) { -#if CYTHON_AVOID_BORROWED_REFS - Py_CLEAR(base); -#endif -#if CYTHON_ASSUME_SAFE_MACROS - base = PyTuple_GET_ITEM(bases, i); -#else - base = PyTuple_GetItem(bases, i); - if (!base) goto error; -#endif -#if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(base); -#endif - if (PyType_Check(base)) { - if (new_bases) { - if (PyList_Append(new_bases, base) < 0) { - goto error; - } - } - continue; - } - meth = __Pyx_PyObject_GetAttrStrNoError(base, __pyx_mstate_global->__pyx_n_u_mro_entries); - if (!meth && PyErr_Occurred()) { - goto error; - } - if (!meth) { - if (new_bases) { - if (PyList_Append(new_bases, base) < 0) { - goto error; - } - } - continue; - } - new_base = __Pyx_PyObject_CallOneArg(meth, bases); - Py_DECREF(meth); - if (!new_base) { - goto error; - } - if (!PyTuple_Check(new_base)) { - PyErr_SetString(PyExc_TypeError, - "__mro_entries__ must return a tuple"); - Py_DECREF(new_base); - goto error; - } - if (!new_bases) { - if (!(new_bases = PyList_New(i))) { - goto error; - } - for (j = 0; j < i; j++) { - PyObject *base_from_list; -#if CYTHON_ASSUME_SAFE_MACROS - base_from_list = PyTuple_GET_ITEM(bases, j); - PyList_SET_ITEM(new_bases, j, base_from_list); - Py_INCREF(base_from_list); -#else - base_from_list = PyTuple_GetItem(bases, j); - if (!base_from_list) goto error; - Py_INCREF(base_from_list); - if (PyList_SetItem(new_bases, j, base_from_list) < 0) goto error; -#endif - } - } -#if CYTHON_ASSUME_SAFE_SIZE - j = PyList_GET_SIZE(new_bases); -#else - j = PyList_Size(new_bases); - if (j < 0) goto error; -#endif - if (PyList_SetSlice(new_bases, j, j, new_base) < 0) { - goto error; - } - Py_DECREF(new_base); - } - if (!new_bases) { - Py_INCREF(bases); - return bases; - } - result = PyList_AsTuple(new_bases); - Py_DECREF(new_bases); -#if CYTHON_AVOID_BORROWED_REFS - Py_XDECREF(base); -#endif - return result; -error: - Py_XDECREF(new_bases); -#if CYTHON_AVOID_BORROWED_REFS - Py_XDECREF(base); -#endif - return NULL; -} - -/* CalculateMetaclass */ -static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) { - Py_ssize_t i, nbases; -#if CYTHON_ASSUME_SAFE_SIZE - nbases = PyTuple_GET_SIZE(bases); -#else - nbases = PyTuple_Size(bases); - if (nbases < 0) return NULL; -#endif - for (i=0; i < nbases; i++) { - PyTypeObject *tmptype; -#if CYTHON_ASSUME_SAFE_MACROS - PyObject *tmp = PyTuple_GET_ITEM(bases, i); -#else - PyObject *tmp = PyTuple_GetItem(bases, i); - if (!tmp) return NULL; -#endif - tmptype = Py_TYPE(tmp); - if (!metaclass) { - metaclass = tmptype; - continue; - } - if (PyType_IsSubtype(metaclass, tmptype)) - continue; - if (PyType_IsSubtype(tmptype, metaclass)) { - metaclass = tmptype; - continue; - } - PyErr_SetString(PyExc_TypeError, - "metaclass conflict: " - "the metaclass of a derived class " - "must be a (non-strict) subclass " - "of the metaclasses of all its bases"); - return NULL; - } - if (!metaclass) { - metaclass = &PyType_Type; - } - Py_INCREF((PyObject*) metaclass); - return (PyObject*) metaclass; -} - -/* PyObjectCall2Args (used by Py3ClassCreate) */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { - PyObject *args[3] = {NULL, arg1, arg2}; - return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* Py3ClassCreate */ -static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, - PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) { - PyObject *ns; - if (metaclass) { - PyObject *prep = __Pyx_PyObject_GetAttrStrNoError(metaclass, __pyx_mstate_global->__pyx_n_u_prepare); - if (prep) { - PyObject *pargs[3] = {NULL, name, bases}; - ns = __Pyx_PyObject_FastCallDict(prep, pargs+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw); - Py_DECREF(prep); - } else { - if (unlikely(PyErr_Occurred())) - return NULL; - ns = PyDict_New(); - } - } else { - ns = PyDict_New(); - } - if (unlikely(!ns)) - return NULL; - if (unlikely(PyObject_SetItem(ns, __pyx_mstate_global->__pyx_n_u_module, modname) < 0)) goto bad; - if (unlikely(PyObject_SetItem(ns, __pyx_mstate_global->__pyx_n_u_qualname, qualname) < 0)) goto bad; - if (unlikely(doc && PyObject_SetItem(ns, __pyx_mstate_global->__pyx_n_u_doc, doc) < 0)) goto bad; - return ns; -bad: - Py_DECREF(ns); - return NULL; -} -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, - PyObject *dict, PyObject *mkw, - int calculate_metaclass, int allow_py2_metaclass) { - PyObject *result; - PyObject *owned_metaclass = NULL; - PyObject *margs[4] = {NULL, name, bases, dict}; - if (allow_py2_metaclass) { - owned_metaclass = PyObject_GetItem(dict, __pyx_mstate_global->__pyx_n_u_metaclass); - if (owned_metaclass) { - metaclass = owned_metaclass; - } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) { - PyErr_Clear(); - } else { - return NULL; - } - } - if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) { - metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases); - Py_XDECREF(owned_metaclass); - if (unlikely(!metaclass)) - return NULL; - owned_metaclass = metaclass; - } - result = __Pyx_PyObject_FastCallDict(metaclass, margs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw); - Py_XDECREF(owned_metaclass); - return result; -} - -/* ImportFrom */ -static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { - PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); - if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { - const char* module_name_str = 0; - PyObject* module_name = 0; - PyObject* module_dot = 0; - PyObject* full_name = 0; - PyErr_Clear(); - module_name_str = PyModule_GetName(module); - if (unlikely(!module_name_str)) { goto modbad; } - module_name = PyUnicode_FromString(module_name_str); - if (unlikely(!module_name)) { goto modbad; } - module_dot = PyUnicode_Concat(module_name, __pyx_mstate_global->__pyx_kp_u__15); - if (unlikely(!module_dot)) { goto modbad; } - full_name = PyUnicode_Concat(module_dot, name); - if (unlikely(!full_name)) { goto modbad; } - #if (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400) ||\ - CYTHON_COMPILING_IN_GRAAL - { - PyObject *modules = PyImport_GetModuleDict(); - if (unlikely(!modules)) - goto modbad; - value = PyObject_GetItem(modules, full_name); - } - #else - value = PyImport_GetModule(full_name); - #endif - modbad: - Py_XDECREF(full_name); - Py_XDECREF(module_dot); - Py_XDECREF(module_name); - } - if (unlikely(!value)) { - PyErr_Format(PyExc_ImportError, "cannot import name %S", name); - } - return value; -} - -/* PyObjectCallMethod1 (used by append) */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { -#if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || !CYTHON_COMPILING_IN_LIMITED_API) - PyObject *args[2] = {obj, arg}; - return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); -#elif CYTHON_COMPILING_IN_LIMITED_API - return PyObject_CallMethodObjArgs(obj, method_name, arg, NULL); -#else - return PyObject_CallMethodOneArg(obj, method_name, arg); -#endif -} - -/* append */ -static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x) { - if (likely(PyList_CheckExact(L))) { - if (unlikely(__Pyx_PyList_Append(L, x) < 0)) return -1; - } else { - PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_mstate_global->__pyx_n_u_append, x); - if (unlikely(!retval)) - return -1; - Py_DECREF(retval); - } - return 0; -} - -/* PyObjectCompare */ -#ifndef __Pyx_DEFINED_PyObject_CompareStrStrBoolGe -#define __Pyx_DEFINED_PyObject_CompareStrStrBoolGe -static CYTHON_INLINE int __Pyx_PyObject_CompareStrStrBoolGe(PyObject* s1, PyObject* s2) { - int result = PyUnicode_Compare(s1, s2); - if (unlikely((result == -1) && PyErr_Occurred())) return -1; - if (result >= 0) goto __pyx_return_true; else goto __pyx_return_false; -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} -#endif -static CYTHON_INLINE int __Pyx_PyObject_CompareBoolGe_object_str(PyObject *op1, PyObject *op2, int pyop) { - CYTHON_UNUSED_VAR(pyop); - if (unlikely(op2 == Py_None)) { - goto __pyx_richcmp; - } - if (PyFloat_CheckExact(op1)) { - goto __pyx_richcmp; - } - if (PyLong_CheckExact(op1)) { - if (op1 == op2) goto __pyx_return_true; - goto __pyx_richcmp; - } - - if (likely(PyUnicode_CheckExact(op1))) { - if (op1 == op2) goto __pyx_return_true; - if (likely(op2 != Py_None)) { - return __Pyx_PyObject_CompareStrStrBoolGe(op1, op2); - } - goto __pyx_richcmp; - } - - if ((0)) goto __pyx_richcmp; - if ((0)) goto __pyx_return_true; - if ((0)) goto __pyx_return_false; -__pyx_richcmp: - return __Pyx_PyObject_RichCompareBool(op1, op2, Py_GE); -__pyx_return_true: - return 1; -__pyx_return_false: - return 0; -} - -/* GetNameInClass */ -static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name) { - PyObject *result; - PyObject *dict; - assert(PyType_Check(nmspace)); -#if CYTHON_USE_TYPE_SLOTS - dict = ((PyTypeObject*)nmspace)->tp_dict; - Py_XINCREF(dict); -#else - dict = PyObject_GetAttr(nmspace, __pyx_mstate_global->__pyx_n_u_dict); -#endif - if (likely(dict)) { - result = PyObject_GetItem(dict, name); - Py_DECREF(dict); - if (result) { - return result; - } - } - if (!__Pyx_IgnoreException(PyExc_Exception)) { - return NULL; // BaseException - } - __Pyx_GetModuleGlobalNameUncached(result, name); - return result; -} - -/* CLineInTraceback (used by AddTraceback) */ -#if CYTHON_CLINE_IN_TRACEBACK && CYTHON_CLINE_IN_TRACEBACK_RUNTIME -#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000 -#define __Pyx_PyProbablyModule_GetDict(o) __Pyx_XNewRef(PyModule_GetDict(o)) -#elif !CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_CPYTHON_FREETHREADING -#define __Pyx_PyProbablyModule_GetDict(o) PyObject_GenericGetDict(o, NULL); -#else -PyObject* __Pyx_PyProbablyModule_GetDict(PyObject *o) { - PyObject **dict_ptr = _PyObject_GetDictPtr(o); - return dict_ptr ? __Pyx_XNewRef(*dict_ptr) : NULL; -} -#endif -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { - PyObject *use_cline = NULL; - PyObject *ptype, *pvalue, *ptraceback; - PyObject *cython_runtime_dict; - CYTHON_MAYBE_UNUSED_VAR(tstate); - if (unlikely(!__pyx_mstate_global->__pyx_cython_runtime)) { - return c_line; - } - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); - cython_runtime_dict = __Pyx_PyProbablyModule_GetDict(__pyx_mstate_global->__pyx_cython_runtime); - if (likely(cython_runtime_dict)) { - __PYX_PY_DICT_LOOKUP_IF_MODIFIED( - use_cline, cython_runtime_dict, - __Pyx_PyDict_SetDefault(cython_runtime_dict, __pyx_mstate_global->__pyx_n_u_cline_in_traceback, Py_False)) - } - if (use_cline == NULL || use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { - c_line = 0; - } - Py_XDECREF(use_cline); - Py_XDECREF(cython_runtime_dict); - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - return c_line; -} -#endif - -/* CodeObjectCache (used by AddTraceback) */ -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { - int start = 0, mid = 0, end = count - 1; - if (end >= 0 && code_line > entries[end].code_line) { - return count; - } - while (start < end) { - mid = start + (end - start) / 2; - if (code_line < entries[mid].code_line) { - end = mid; - } else if (code_line > entries[mid].code_line) { - start = mid + 1; - } else { - return mid; - } - } - if (code_line <= entries[mid].code_line) { - return mid; - } else { - return mid + 1; - } -} -static __Pyx_CachedCodeObjectType *__pyx__find_code_object(struct __Pyx_CodeObjectCache *code_cache, int code_line) { - __Pyx_CachedCodeObjectType* code_object; - int pos; - if (unlikely(!code_line) || unlikely(!code_cache->entries)) { - return NULL; - } - pos = __pyx_bisect_code_objects(code_cache->entries, code_cache->count, code_line); - if (unlikely(pos >= code_cache->count) || unlikely(code_cache->entries[pos].code_line != code_line)) { - return NULL; - } - code_object = code_cache->entries[pos].code_object; - Py_INCREF(code_object); - return code_object; -} -static __Pyx_CachedCodeObjectType *__pyx_find_code_object(int code_line) { -#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && !CYTHON_ATOMICS - (void)__pyx__find_code_object; - return NULL; // Most implementation should have atomics. But otherwise, don't make it thread-safe, just miss. -#else - struct __Pyx_CodeObjectCache *code_cache = &__pyx_mstate_global->__pyx_code_cache; -#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - __pyx_nonatomic_int_type old_count = __pyx_atomic_incr_acq_rel(&code_cache->accessor_count); - if (old_count < 0) { - __pyx_atomic_decr_acq_rel(&code_cache->accessor_count); - return NULL; - } -#endif - __Pyx_CachedCodeObjectType *result = __pyx__find_code_object(code_cache, code_line); -#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - __pyx_atomic_decr_acq_rel(&code_cache->accessor_count); -#endif - return result; -#endif -} -static void __pyx__insert_code_object(struct __Pyx_CodeObjectCache *code_cache, int code_line, __Pyx_CachedCodeObjectType* code_object) -{ - int pos, i; - __Pyx_CodeObjectCacheEntry* entries = code_cache->entries; - if (unlikely(!code_line)) { - return; - } - if (unlikely(!entries)) { - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); - if (likely(entries)) { - code_cache->entries = entries; - code_cache->max_count = 64; - code_cache->count = 1; - entries[0].code_line = code_line; - entries[0].code_object = code_object; - Py_INCREF(code_object); - } - return; - } - pos = __pyx_bisect_code_objects(code_cache->entries, code_cache->count, code_line); - if ((pos < code_cache->count) && unlikely(code_cache->entries[pos].code_line == code_line)) { - __Pyx_CachedCodeObjectType* tmp = entries[pos].code_object; - entries[pos].code_object = code_object; - Py_INCREF(code_object); - Py_DECREF(tmp); - return; - } - if (code_cache->count == code_cache->max_count) { - int new_max = code_cache->max_count + 64; - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( - code_cache->entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); - if (unlikely(!entries)) { - return; - } - code_cache->entries = entries; - code_cache->max_count = new_max; - } - for (i=code_cache->count; i>pos; i--) { - entries[i] = entries[i-1]; - } - entries[pos].code_line = code_line; - entries[pos].code_object = code_object; - code_cache->count++; - Py_INCREF(code_object); -} -static void __pyx_insert_code_object(int code_line, __Pyx_CachedCodeObjectType* code_object) { -#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && !CYTHON_ATOMICS - (void)__pyx__insert_code_object; - return; // Most implementation should have atomics. But otherwise, don't make it thread-safe, just fail. -#else - struct __Pyx_CodeObjectCache *code_cache = &__pyx_mstate_global->__pyx_code_cache; -#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - __pyx_nonatomic_int_type expected = 0; - if (!__pyx_atomic_int_cmp_exchange(&code_cache->accessor_count, &expected, INT_MIN)) { - return; - } -#endif - __pyx__insert_code_object(code_cache, code_line, code_object); -#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING - __pyx_atomic_sub(&code_cache->accessor_count, INT_MIN); -#endif -#endif -} - -/* AddTraceback */ -#include "compile.h" -#include "frameobject.h" -#include "traceback.h" -#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict, - PyObject *firstlineno, PyObject *name) { - PyObject *replace = NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL; - replace = PyObject_GetAttrString(code, "replace"); - if (likely(replace)) { - PyObject *result = PyObject_Call(replace, __pyx_mstate_global->__pyx_empty_tuple, scratch_dict); - Py_DECREF(replace); - return result; - } - return NULL; -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL; - PyObject *replace = NULL, *getframe = NULL, *frame = NULL; - PyObject *exc_type, *exc_value, *exc_traceback; - int success = 0; - if (c_line) { - c_line = __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line); - } - __Pyx_PyErr_FetchException(&exc_type, &exc_value, &exc_traceback); - code_object = __pyx_find_code_object(c_line ? -c_line : py_line); - if (!code_object) { - code_object = Py_CompileString("_getframe()", filename, Py_eval_input); - if (unlikely(!code_object)) goto bad; - py_py_line = PyLong_FromLong(py_line); - if (unlikely(!py_py_line)) goto bad; - if (c_line) { - py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - } else { - py_funcname = PyUnicode_FromString(funcname); - } - if (unlikely(!py_funcname)) goto bad; - dict = PyDict_New(); - if (unlikely(!dict)) goto bad; - { - PyObject *old_code_object = code_object; - code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname); - Py_DECREF(old_code_object); - } - if (unlikely(!code_object)) goto bad; - __pyx_insert_code_object(c_line ? -c_line : py_line, code_object); - } else { - dict = PyDict_New(); - } - getframe = PySys_GetObject("_getframe"); - if (unlikely(!getframe)) goto bad; - if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad; - frame = PyEval_EvalCode(code_object, dict, dict); - if (unlikely(!frame) || frame == Py_None) goto bad; - success = 1; - bad: - __Pyx_PyErr_RestoreException(exc_type, exc_value, exc_traceback); - Py_XDECREF(code_object); - Py_XDECREF(py_py_line); - Py_XDECREF(py_funcname); - Py_XDECREF(dict); - Py_XDECREF(replace); - if (success) { - PyTraceBack_Here( - (struct _frame*)frame); - } - Py_XDECREF(frame); -} -#else -static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( - const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = NULL; - PyObject *py_funcname = NULL; - if (c_line) { - py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - funcname = PyUnicode_AsUTF8(py_funcname); - if (!funcname) goto bad; - } - py_code = PyCode_NewEmpty(filename, funcname, py_line); - Py_XDECREF(py_funcname); - return py_code; -bad: - Py_XDECREF(py_funcname); - return NULL; -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyFrameObject *py_frame = 0; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject *ptype, *pvalue, *ptraceback; - if (c_line) { - c_line = __Pyx_CLineForTraceback(tstate, c_line); - } - py_code = __pyx_find_code_object(c_line ? -c_line : py_line); - if (!py_code) { - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); - py_code = __Pyx_CreateCodeObjectForTraceback( - funcname, c_line, py_line, filename); - if (!py_code) { - /* If the code object creation fails, then we should clear the - fetched exception references and propagate the new exception */ - Py_XDECREF(ptype); - Py_XDECREF(pvalue); - Py_XDECREF(ptraceback); - goto bad; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); - } - py_frame = PyFrame_New( - tstate, /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ - __pyx_mstate_global->__pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; - __Pyx_PyFrame_SetLineNumber(py_frame, py_line); - PyTraceBack_Here(py_frame); -bad: - Py_XDECREF(py_code); - Py_XDECREF(py_frame); -} -#endif - -/* CheckUnpickleChecksumError */ -static void __Pyx_RaiseUnpickleChecksumError(long checksum, long checksum1, long checksum2, long checksum3, const char *members) { - PyObject *pickle_module = PyImport_ImportModule("pickle"); - if (unlikely(!pickle_module)) return; - PyObject *pickle_error = PyObject_GetAttrString(pickle_module, "PickleError"); - Py_DECREF(pickle_module); - if (unlikely(!pickle_error)) return; - if (checksum2 == checksum1) { - PyErr_Format(pickle_error, "Incompatible checksums (0x%x vs (0x%x) = (%s))", - checksum, checksum1, members); - } else if (checksum3 == checksum2) { - PyErr_Format(pickle_error, "Incompatible checksums (0x%x vs (0x%x, 0x%x) = (%s))", - checksum, checksum1, checksum2, members); - } else { - PyErr_Format(pickle_error, "Incompatible checksums (0x%x vs (0x%x, 0x%x, 0x%x) = (%s))", - checksum, checksum1, checksum2, checksum3, members); - } - Py_DECREF(pickle_error); -} - -/* CIntFromPyVerify */ -#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) -#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) -#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ - {\ - func_type value = func_value;\ - if (sizeof(target_type) < sizeof(func_type)) {\ - if (unlikely(value != (func_type) (target_type) value)) {\ - func_type zero = 0;\ - if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ - return (target_type) -1;\ - if (is_unsigned && unlikely(value < zero))\ - goto raise_neg_overflow;\ - else\ - goto raise_overflow;\ - }\ - }\ - return (target_type) value;\ - } - -/* Declarations */ -#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus) - #ifdef __cplusplus - static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - return ::std::complex< float >(x, y); - } - #else - static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - return x + y*(__pyx_t_float_complex)_Complex_I; - } - #endif -#else - static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - __pyx_t_float_complex z; - z.real = x; - z.imag = y; - return z; - } -#endif - -/* Arithmetic */ -#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus) -#else - static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - return (a.real == b.real) && (a.imag == b.imag); - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - #if 1 - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - if (b.imag == 0) { - return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); - } else if (fabsf(b.real) >= fabsf(b.imag)) { - if (b.real == 0 && b.imag == 0) { - return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag); - } else { - float r = b.imag / b.real; - float s = (float)(1.0) / (b.real + b.imag * r); - return __pyx_t_float_complex_from_parts( - (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); - } - } else { - float r = b.real / b.imag; - float s = (float)(1.0) / (b.imag + b.real * r); - return __pyx_t_float_complex_from_parts( - (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); - } - } - #else - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - if (b.imag == 0) { - return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); - } else { - float denom = b.real * b.real + b.imag * b.imag; - return __pyx_t_float_complex_from_parts( - (a.real * b.real + a.imag * b.imag) / denom, - (a.imag * b.real - a.real * b.imag) / denom); - } - } - #endif - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) { - __pyx_t_float_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) { - return (a.real == 0) && (a.imag == 0); - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) { - __pyx_t_float_complex z; - z.real = a.real; - z.imag = -a.imag; - return z; - } - #if 1 - static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) { - #if !defined(HAVE_HYPOT) || defined(_MSC_VER) - return sqrtf(z.real*z.real + z.imag*z.imag); - #else - return hypotf(z.real, z.imag); - #endif - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - float r, lnr, theta, z_r, z_theta; - if (b.imag == 0 && b.real == (int)b.real) { - if (b.real < 0) { - float denom = a.real * a.real + a.imag * a.imag; - a.real = a.real / denom; - a.imag = -a.imag / denom; - b.real = -b.real; - } - switch ((int)b.real) { - case 0: - z.real = 1; - z.imag = 0; - return z; - case 1: - return a; - case 2: - return __Pyx_c_prod_float(a, a); - case 3: - z = __Pyx_c_prod_float(a, a); - return __Pyx_c_prod_float(z, a); - case 4: - z = __Pyx_c_prod_float(a, a); - return __Pyx_c_prod_float(z, z); - } - } - if (a.imag == 0) { - if (a.real == 0) { - return a; - } else if ((b.imag == 0) && (a.real >= 0)) { - z.real = powf(a.real, b.real); - z.imag = 0; - return z; - } else if (a.real > 0) { - r = a.real; - theta = 0; - } else { - r = -a.real; - theta = atan2f(0.0, -1.0); - } - } else { - r = __Pyx_c_abs_float(a); - theta = atan2f(a.imag, a.real); - } - lnr = logf(r); - z_r = expf(lnr * b.real - theta * b.imag); - z_theta = theta * b.real + lnr * b.imag; - z.real = z_r * cosf(z_theta); - z.imag = z_r * sinf(z_theta); - return z; - } - #endif -#endif - -/* Declarations */ -#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus) - #ifdef __cplusplus - static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - return ::std::complex< double >(x, y); - } - #else - static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - return x + y*(__pyx_t_double_complex)_Complex_I; - } - #endif -#else - static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - __pyx_t_double_complex z; - z.real = x; - z.imag = y; - return z; - } -#endif - -/* Arithmetic */ -#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus) -#else - static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - return (a.real == b.real) && (a.imag == b.imag); - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - #if 1 - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - if (b.imag == 0) { - return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); - } else if (fabs(b.real) >= fabs(b.imag)) { - if (b.real == 0 && b.imag == 0) { - return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag); - } else { - double r = b.imag / b.real; - double s = (double)(1.0) / (b.real + b.imag * r); - return __pyx_t_double_complex_from_parts( - (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); - } - } else { - double r = b.real / b.imag; - double s = (double)(1.0) / (b.imag + b.real * r); - return __pyx_t_double_complex_from_parts( - (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); - } - } - #else - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - if (b.imag == 0) { - return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); - } else { - double denom = b.real * b.real + b.imag * b.imag; - return __pyx_t_double_complex_from_parts( - (a.real * b.real + a.imag * b.imag) / denom, - (a.imag * b.real - a.real * b.imag) / denom); - } - } - #endif - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) { - __pyx_t_double_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) { - return (a.real == 0) && (a.imag == 0); - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) { - __pyx_t_double_complex z; - z.real = a.real; - z.imag = -a.imag; - return z; - } - #if 1 - static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) { - #if !defined(HAVE_HYPOT) || defined(_MSC_VER) - return sqrt(z.real*z.real + z.imag*z.imag); - #else - return hypot(z.real, z.imag); - #endif - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - double r, lnr, theta, z_r, z_theta; - if (b.imag == 0 && b.real == (int)b.real) { - if (b.real < 0) { - double denom = a.real * a.real + a.imag * a.imag; - a.real = a.real / denom; - a.imag = -a.imag / denom; - b.real = -b.real; - } - switch ((int)b.real) { - case 0: - z.real = 1; - z.imag = 0; - return z; - case 1: - return a; - case 2: - return __Pyx_c_prod_double(a, a); - case 3: - z = __Pyx_c_prod_double(a, a); - return __Pyx_c_prod_double(z, a); - case 4: - z = __Pyx_c_prod_double(a, a); - return __Pyx_c_prod_double(z, z); - } - } - if (a.imag == 0) { - if (a.real == 0) { - return a; - } else if ((b.imag == 0) && (a.real >= 0)) { - z.real = pow(a.real, b.real); - z.imag = 0; - return z; - } else if (a.real > 0) { - r = a.real; - theta = 0; - } else { - r = -a.real; - theta = atan2(0.0, -1.0); - } - } else { - r = __Pyx_c_abs_double(a); - theta = atan2(a.imag, a.real); - } - lnr = log(r); - z_r = exp(lnr * b.real - theta * b.imag); - z_theta = theta * b.real + lnr * b.imag; - z.real = z_r * cos(z_theta); - z.imag = z_r * sin(z_theta); - return z; - } - #endif -#endif - -/* Declarations */ -#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus) - #ifdef __cplusplus - static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(long double x, long double y) { - return ::std::complex< long double >(x, y); - } - #else - static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(long double x, long double y) { - return x + y*(__pyx_t_long_double_complex)_Complex_I; - } - #endif -#else - static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(long double x, long double y) { - __pyx_t_long_double_complex z; - z.real = x; - z.imag = y; - return z; - } -#endif - -/* Arithmetic */ -#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus) -#else - static CYTHON_INLINE int __Pyx_c_eq_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) { - return (a.real == b.real) && (a.imag == b.imag); - } - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_sum_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) { - __pyx_t_long_double_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_diff_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) { - __pyx_t_long_double_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_prod_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) { - __pyx_t_long_double_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - #if 1 - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_quot_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) { - if (b.imag == 0) { - return __pyx_t_long_double_complex_from_parts(a.real / b.real, a.imag / b.real); - } else if (fabsl(b.real) >= fabsl(b.imag)) { - if (b.real == 0 && b.imag == 0) { - return __pyx_t_long_double_complex_from_parts(a.real / b.real, a.imag / b.imag); - } else { - long double r = b.imag / b.real; - long double s = (long double)(1.0) / (b.real + b.imag * r); - return __pyx_t_long_double_complex_from_parts( - (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); - } - } else { - long double r = b.real / b.imag; - long double s = (long double)(1.0) / (b.imag + b.real * r); - return __pyx_t_long_double_complex_from_parts( - (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); - } - } - #else - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_quot_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) { - if (b.imag == 0) { - return __pyx_t_long_double_complex_from_parts(a.real / b.real, a.imag / b.real); - } else { - long double denom = b.real * b.real + b.imag * b.imag; - return __pyx_t_long_double_complex_from_parts( - (a.real * b.real + a.imag * b.imag) / denom, - (a.imag * b.real - a.real * b.imag) / denom); - } - } - #endif - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_neg_long__double(__pyx_t_long_double_complex a) { - __pyx_t_long_double_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - static CYTHON_INLINE int __Pyx_c_is_zero_long__double(__pyx_t_long_double_complex a) { - return (a.real == 0) && (a.imag == 0); - } - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_conj_long__double(__pyx_t_long_double_complex a) { - __pyx_t_long_double_complex z; - z.real = a.real; - z.imag = -a.imag; - return z; - } - #if 1 - static CYTHON_INLINE long double __Pyx_c_abs_long__double(__pyx_t_long_double_complex z) { - #if !defined(HAVE_HYPOT) || defined(_MSC_VER) - return sqrtl(z.real*z.real + z.imag*z.imag); - #else - return hypotl(z.real, z.imag); - #endif - } - static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_pow_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) { - __pyx_t_long_double_complex z; - long double r, lnr, theta, z_r, z_theta; - if (b.imag == 0 && b.real == (int)b.real) { - if (b.real < 0) { - long double denom = a.real * a.real + a.imag * a.imag; - a.real = a.real / denom; - a.imag = -a.imag / denom; - b.real = -b.real; - } - switch ((int)b.real) { - case 0: - z.real = 1; - z.imag = 0; - return z; - case 1: - return a; - case 2: - return __Pyx_c_prod_long__double(a, a); - case 3: - z = __Pyx_c_prod_long__double(a, a); - return __Pyx_c_prod_long__double(z, a); - case 4: - z = __Pyx_c_prod_long__double(a, a); - return __Pyx_c_prod_long__double(z, z); - } - } - if (a.imag == 0) { - if (a.real == 0) { - return a; - } else if ((b.imag == 0) && (a.real >= 0)) { - z.real = powl(a.real, b.real); - z.imag = 0; - return z; - } else if (a.real > 0) { - r = a.real; - theta = 0; - } else { - r = -a.real; - theta = atan2l(0.0, -1.0); - } - } else { - r = __Pyx_c_abs_long__double(a); - theta = atan2l(a.imag, a.real); - } - lnr = logl(r); - z_r = expl(lnr * b.real - theta * b.imag); - z_theta = theta * b.real + lnr * b.imag; - z.real = z_r * cosl(z_theta); - z.imag = z_r * sinl(z_theta); - return z; - } - #endif -#endif - -/* UpdateUnpickledDict */ -static int __Pyx__UpdateUnpickledDict(PyObject *obj, PyObject *state, Py_ssize_t index) { - PyObject *state_dict = __Pyx_PySequence_ITEM(state, index); - if (unlikely(!state_dict)) { - return -1; - } - int non_empty = PyObject_IsTrue(state_dict); - if (non_empty == 0) { - Py_DECREF(state_dict); - return 0; - } else if (unlikely(non_empty == -1)) { - return -1; - } - PyObject *dict; - #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000 - dict = PyObject_GetAttrString(obj, "__dict__"); - #else - dict = PyObject_GenericGetDict(obj, NULL); - #endif - if (unlikely(!dict)) { - Py_DECREF(state_dict); - return -1; - } - int result; - if (likely(PyDict_CheckExact(dict))) { - result = PyDict_Update(dict, state_dict); - } else { - PyObject *obj_result = __Pyx_PyObject_CallMethod1(dict, __pyx_mstate_global->__pyx_n_u_update, state_dict); - if (likely(obj_result)) { - Py_DECREF(obj_result); - result = 0; - } else { - result = -1; - } - } - Py_DECREF(state_dict); - Py_DECREF(dict); - return result; -} -static int __Pyx_UpdateUnpickledDict(PyObject *obj, PyObject *state, Py_ssize_t index) { - Py_ssize_t state_size = __Pyx_PyTuple_GET_SIZE(state); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely(state_size == -1)) return -1; - #endif - if (state_size <= index) { - return 0; - } - return __Pyx__UpdateUnpickledDict(obj, state, index); -} - -/* CheckUnpickleChecksum */ -static int __Pyx_CheckUnpickleChecksum(long checksum, long checksum1, long checksum2, long checksum3, const char *members) { - int found = 0; - found |= checksum1 == checksum; - found |= checksum2 == checksum; - found |= checksum3 == checksum; - if (likely(found)) - return 0; - __Pyx_RaiseUnpickleChecksumError(checksum, checksum1, checksum2, checksum3, members); - return -1; -} - -/* CIntFromPy */ -static TA_RetCode __Pyx_LargePyLong___Pyx_PyLong_As_TA_RetCode(PyObject *x); -static TA_RetCode __Pyx_raise_neg_overflow___Pyx_PyLong_As_TA_RetCode(void) { - const char* type_name = "TA_RetCode"; - PyErr_Format(PyExc_OverflowError, - "can't convert negative value to %.200s", type_name); - return (TA_RetCode) -1; -} -static TA_RetCode __Pyx_raise_overflow___Pyx_PyLong_As_TA_RetCode(void) { - const char* type_name = "TA_RetCode"; - PyErr_Format(PyExc_OverflowError, - "value too large to convert to %.200s", type_name); - return (TA_RetCode) -1; -} -static CYTHON_INLINE TA_RetCode __Pyx_PyULong___Pyx_PyLong_As_TA_RetCode(PyObject *x) { - const int is_unsigned = 1; -#if CYTHON_USE_PYLONG_INTERNALS - { - const digit* digits = __Pyx_PyLong_Digits(x); - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - if (size == 2 && (8 * sizeof(TA_RetCode) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(TA_RetCode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(TA_RetCode) >= 2 * PyLong_SHIFT)) { - return (TA_RetCode) (((((TA_RetCode)digits[1]) << PyLong_SHIFT) | (TA_RetCode)digits[0])); - } - } else - if (size == 3 && (8 * sizeof(TA_RetCode) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(TA_RetCode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(TA_RetCode) >= 3 * PyLong_SHIFT)) { - return (TA_RetCode) (((((((TA_RetCode)digits[2]) << PyLong_SHIFT) | (TA_RetCode)digits[1]) << PyLong_SHIFT) | (TA_RetCode)digits[0])); - } - } else - if (size == 4 && (8 * sizeof(TA_RetCode) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(TA_RetCode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(TA_RetCode) >= 4 * PyLong_SHIFT)) { - return (TA_RetCode) (((((((((TA_RetCode)digits[3]) << PyLong_SHIFT) | (TA_RetCode)digits[2]) << PyLong_SHIFT) | (TA_RetCode)digits[1]) << PyLong_SHIFT) | (TA_RetCode)digits[0])); - } - } else - {} - } -#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (TA_RetCode) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(TA_RetCode) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(TA_RetCode, unsigned long, PyLong_AsUnsignedLong(x)) - } else if ((sizeof(TA_RetCode) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(TA_RetCode, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) - } - return __Pyx_LargePyLong___Pyx_PyLong_As_TA_RetCode(x); -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_TA_RetCode(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_TA_RetCode(); -} -static CYTHON_INLINE TA_RetCode __Pyx_PySLong___Pyx_PyLong_As_TA_RetCode(PyObject *x) { - const int is_unsigned = 0; -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsNeg(x)) { - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - const digit* digits = __Pyx_PyLong_Digits(x); - if (size == 2 && (8 * sizeof(TA_RetCode) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - long ival = - (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(TA_RetCode, long, ival) - } else if ((8 * sizeof(TA_RetCode) - 1 > 2 * PyLong_SHIFT)) { - return (TA_RetCode) (((TA_RetCode) -1) * (((((TA_RetCode)digits[1]) << PyLong_SHIFT) | (TA_RetCode)digits[0]))); - } - } else - if (size == 3 && (8 * sizeof(TA_RetCode) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - long ival = - (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(TA_RetCode, long, ival) - } else if ((8 * sizeof(TA_RetCode) - 1 > 3 * PyLong_SHIFT)) { - return (TA_RetCode) (((TA_RetCode) -1) * (((((((TA_RetCode)digits[2]) << PyLong_SHIFT) | (TA_RetCode)digits[1]) << PyLong_SHIFT) | (TA_RetCode)digits[0]))); - } - } else - if (size == 4 && (8 * sizeof(TA_RetCode) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 4 * PyLong_SHIFT)) { - long ival = - (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(TA_RetCode, long, ival) - } else if ((8 * sizeof(TA_RetCode) - 1 > 4 * PyLong_SHIFT)) { - return (TA_RetCode) (((TA_RetCode) -1) * (((((((((TA_RetCode)digits[3]) << PyLong_SHIFT) | (TA_RetCode)digits[2]) << PyLong_SHIFT) | (TA_RetCode)digits[1]) << PyLong_SHIFT) | (TA_RetCode)digits[0]))); - } - } else - {} - } else { - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - const digit* digits = __Pyx_PyLong_Digits(x); - if (size == 2 && (8 * sizeof(TA_RetCode) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(TA_RetCode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(TA_RetCode) - 1 > 2 * PyLong_SHIFT)) { - return (TA_RetCode) (((((TA_RetCode)digits[1]) << PyLong_SHIFT) | (TA_RetCode)digits[0])); - } - } else - if (size == 3 && (8 * sizeof(TA_RetCode) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(TA_RetCode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(TA_RetCode) - 1 > 3 * PyLong_SHIFT)) { - return (TA_RetCode) (((((((TA_RetCode)digits[2]) << PyLong_SHIFT) | (TA_RetCode)digits[1]) << PyLong_SHIFT) | (TA_RetCode)digits[0])); - } - } else - if (size == 4 && (8 * sizeof(TA_RetCode) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(TA_RetCode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(TA_RetCode) - 1 > 4 * PyLong_SHIFT)) { - return (TA_RetCode) (((((((((TA_RetCode)digits[3]) << PyLong_SHIFT) | (TA_RetCode)digits[2]) << PyLong_SHIFT) | (TA_RetCode)digits[1]) << PyLong_SHIFT) | (TA_RetCode)digits[0])); - } - } else - {} - } -#endif - #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000 - if ((sizeof(TA_RetCode) <= sizeof(int)) && (sizeof(int) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(TA_RetCode, int, PyLong_AsInt(x)) - } else - #endif - if ((sizeof(TA_RetCode) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(TA_RetCode, long, PyLong_AsLong(x)) - } else if ((sizeof(TA_RetCode) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(TA_RetCode, PY_LONG_LONG, PyLong_AsLongLong(x)) - } - return __Pyx_LargePyLong___Pyx_PyLong_As_TA_RetCode(x); -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_TA_RetCode(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_TA_RetCode(); -} -static TA_RetCode __Pyx_LargePyLong___Pyx_PyLong_As_TA_RetCode(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const TA_RetCode neg_one = (TA_RetCode) -1, const_zero = (TA_RetCode) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - TA_RetCode val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); - if ((0)) goto raise_overflow; -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (TA_RetCode) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (TA_RetCode) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to TA_RetCode"); - return (TA_RetCode) -1; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (TA_RetCode) -1; - } else { - stepval = v; - } - v = NULL; - val = (TA_RetCode) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(TA_RetCode) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((TA_RetCode) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(TA_RetCode) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((TA_RetCode) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((TA_RetCode) 1) << (sizeof(TA_RetCode) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; -done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (TA_RetCode) -1; - return val; -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_TA_RetCode(); -} -static CYTHON_INLINE TA_RetCode __Pyx_PyLong___Pyx_PyLong_As_TA_RetCode(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const TA_RetCode neg_one = (TA_RetCode) -1, const_zero = (TA_RetCode) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - #if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(TA_RetCode, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else - #endif - { - return __Pyx_PyULong___Pyx_PyLong_As_TA_RetCode(x); - } - } else { - #if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(TA_RetCode, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else - #endif - { - return __Pyx_PySLong___Pyx_PyLong_As_TA_RetCode(x); - } - } -#if CYTHON_USE_PYLONG_INTERNALS -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_TA_RetCode(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_TA_RetCode(); -#endif -} -static TA_RetCode __Pyx_NonPyLong___Pyx_PyLong_As_TA_RetCode(PyObject *x) { - TA_RetCode val; - PyObject *tmp = __Pyx_PyNumber_Long(x); - if (!tmp) return (TA_RetCode) -1; - val = __Pyx_PyLong_As_TA_RetCode(tmp); - Py_DECREF(tmp); - return val; -} -static CYTHON_INLINE TA_RetCode __Pyx_PyLong_As_TA_RetCode(PyObject *x) { - if (likely(PyLong_Check(x))) { - return __Pyx_PyLong___Pyx_PyLong_As_TA_RetCode(x); - } else { - return __Pyx_NonPyLong___Pyx_PyLong_As_TA_RetCode(x); - } -} - -/* PyObjectVectorcallMethodKwds (used by CIntToPy) */ -#if !CYTHON_VECTORCALL -static PyObject *__Pyx_Object_VectorcallMethodKwds(PyObject *name, PyObject *const *args, size_t nargsf, PyObject *kwnames) { - PyObject *result; - PyObject *obj = PyObject_GetAttr(args[0], name); - if (unlikely(!obj)) - return NULL; - result = __Pyx_Object_VectorcallKwds(obj, args+1, nargsf-1, kwnames); - Py_DECREF(obj); - return result; -} -#endif - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_TA_FuncUnstId(TA_FuncUnstId value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const TA_FuncUnstId neg_one = (TA_FuncUnstId) -1, const_zero = (TA_FuncUnstId) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(TA_FuncUnstId) < sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(TA_FuncUnstId) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#if !CYTHON_COMPILING_IN_PYPY - } else if (sizeof(TA_FuncUnstId) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(TA_FuncUnstId) <= sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(TA_FuncUnstId) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(TA_FuncUnstId), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *result = NULL, *kwds = NULL; - PyObject *py_bytes = NULL, *order_str = NULL, *from_bytes_str = NULL;; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(TA_FuncUnstId)); - if (!py_bytes) goto limited_bad; - from_bytes_str = PyUnicode_FromStringAndSize("from_bytes", 10); - if (!from_bytes_str) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - { - PyObject *args[] = { (PyObject*)&PyLong_Type, py_bytes, order_str, Py_True }; - if (!is_unsigned) { - PyObject *signed_str = PyUnicode_FromStringAndSize("signed", 6); - if (!signed_str) goto limited_bad; -#if CYTHON_VECTORCALL - kwds = PyTuple_Pack(1, signed_str); -#else - { - PyObject *keys[] = {signed_str}; - PyObject *values[] = {Py_True}; - kwds = __Pyx_MakeKwargDict(keys, values, 1); - } -#endif - Py_DECREF(signed_str); - if (unlikely(!kwds)) goto limited_bad; - } - result = __Pyx_Object_VectorcallMethodKwds(from_bytes_str, args, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds); - } - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes_str); - return result; -#endif - } -} - -/* CIntFromPy */ -static int __Pyx_LargePyLong___Pyx_PyLong_As_int(PyObject *x); -static int __Pyx_raise_neg_overflow___Pyx_PyLong_As_int(void) { - const char* type_name = "int"; - PyErr_Format(PyExc_OverflowError, - "can't convert negative value to %.200s", type_name); - return (int) -1; -} -static int __Pyx_raise_overflow___Pyx_PyLong_As_int(void) { - const char* type_name = "int"; - PyErr_Format(PyExc_OverflowError, - "value too large to convert to %.200s", type_name); - return (int) -1; -} -static CYTHON_INLINE int __Pyx_PyULong___Pyx_PyLong_As_int(PyObject *x) { - const int is_unsigned = 1; -#if CYTHON_USE_PYLONG_INTERNALS - { - const digit* digits = __Pyx_PyLong_Digits(x); - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - if (size == 2 && (8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) { - return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } else - if (size == 3 && (8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) { - return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } else - if (size == 4 && (8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) { - return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } else - {} - } -#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(int) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) - } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) - } - return __Pyx_LargePyLong___Pyx_PyLong_As_int(x); -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_int(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_int(); -} -static CYTHON_INLINE int __Pyx_PySLong___Pyx_PyLong_As_int(PyObject *x) { - const int is_unsigned = 0; -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsNeg(x)) { - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - const digit* digits = __Pyx_PyLong_Digits(x); - if (size == 2 && (8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - long ival = - (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(int, long, ival) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) (((int) -1) * (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } else - if (size == 3 && (8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - long ival = - (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(int, long, ival) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) (((int) -1) * (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } else - if (size == 4 && (8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 4 * PyLong_SHIFT)) { - long ival = - (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(int, long, ival) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) (((int) -1) * (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } else - {} - } else { - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - const digit* digits = __Pyx_PyLong_Digits(x); - if (size == 2 && (8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } else - if (size == 3 && (8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } else - if (size == 4 && (8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } else - {} - } -#endif - #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000 - if ((sizeof(int) <= sizeof(int)) && (sizeof(int) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, int, PyLong_AsInt(x)) - } else - #endif - if ((sizeof(int) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) - } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) - } - return __Pyx_LargePyLong___Pyx_PyLong_As_int(x); -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_int(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_int(); -} -static int __Pyx_LargePyLong___Pyx_PyLong_As_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - int val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); - if ((0)) goto raise_overflow; -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (int) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (int) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int"); - return (int) -1; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (int) -1; - } else { - stepval = v; - } - v = NULL; - val = (int) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((int) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((int) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; -done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (int) -1; - return val; -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_int(); -} -static CYTHON_INLINE int __Pyx_PyLong___Pyx_PyLong_As_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - #if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else - #endif - { - return __Pyx_PyULong___Pyx_PyLong_As_int(x); - } - } else { - #if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else - #endif - { - return __Pyx_PySLong___Pyx_PyLong_As_int(x); - } - } -#if CYTHON_USE_PYLONG_INTERNALS -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_int(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_int(); -#endif -} -static int __Pyx_NonPyLong___Pyx_PyLong_As_int(PyObject *x) { - int val; - PyObject *tmp = __Pyx_PyNumber_Long(x); - if (!tmp) return (int) -1; - val = __Pyx_PyLong_As_int(tmp); - Py_DECREF(tmp); - return val; -} -static CYTHON_INLINE int __Pyx_PyLong_As_int(PyObject *x) { - if (likely(PyLong_Check(x))) { - return __Pyx_PyLong___Pyx_PyLong_As_int(x); - } else { - return __Pyx_NonPyLong___Pyx_PyLong_As_int(x); - } -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_int(int value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(int) < sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(int) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#if !CYTHON_COMPILING_IN_PYPY - } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(int) <= sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(int), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *result = NULL, *kwds = NULL; - PyObject *py_bytes = NULL, *order_str = NULL, *from_bytes_str = NULL;; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(int)); - if (!py_bytes) goto limited_bad; - from_bytes_str = PyUnicode_FromStringAndSize("from_bytes", 10); - if (!from_bytes_str) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - { - PyObject *args[] = { (PyObject*)&PyLong_Type, py_bytes, order_str, Py_True }; - if (!is_unsigned) { - PyObject *signed_str = PyUnicode_FromStringAndSize("signed", 6); - if (!signed_str) goto limited_bad; -#if CYTHON_VECTORCALL - kwds = PyTuple_Pack(1, signed_str); -#else - { - PyObject *keys[] = {signed_str}; - PyObject *values[] = {Py_True}; - kwds = __Pyx_MakeKwargDict(keys, values, 1); - } -#endif - Py_DECREF(signed_str); - if (unlikely(!kwds)) goto limited_bad; - } - result = __Pyx_Object_VectorcallMethodKwds(from_bytes_str, args, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds); - } - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes_str); - return result; -#endif - } -} - -/* CIntFromPy */ -static long __Pyx_LargePyLong___Pyx_PyLong_As_long(PyObject *x); -static long __Pyx_raise_neg_overflow___Pyx_PyLong_As_long(void) { - const char* type_name = "long"; - PyErr_Format(PyExc_OverflowError, - "can't convert negative value to %.200s", type_name); - return (long) -1; -} -static long __Pyx_raise_overflow___Pyx_PyLong_As_long(void) { - const char* type_name = "long"; - PyErr_Format(PyExc_OverflowError, - "value too large to convert to %.200s", type_name); - return (long) -1; -} -static CYTHON_INLINE long __Pyx_PyULong___Pyx_PyLong_As_long(PyObject *x) { - const int is_unsigned = 1; -#if CYTHON_USE_PYLONG_INTERNALS - { - const digit* digits = __Pyx_PyLong_Digits(x); - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - if (size == 2 && (8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) { - return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } else - if (size == 3 && (8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) { - return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } else - if (size == 4 && (8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) { - return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } else - {} - } -#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(long) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) - } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) - } - return __Pyx_LargePyLong___Pyx_PyLong_As_long(x); -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_long(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_long(); -} -static CYTHON_INLINE long __Pyx_PySLong___Pyx_PyLong_As_long(PyObject *x) { - const int is_unsigned = 0; -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsNeg(x)) { - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - const digit* digits = __Pyx_PyLong_Digits(x); - if (size == 2 && (8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - long ival = - (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(long, long, ival) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) (((long) -1) * (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } else - if (size == 3 && (8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - long ival = - (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(long, long, ival) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) (((long) -1) * (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } else - if (size == 4 && (8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 4 * PyLong_SHIFT)) { - long ival = - (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(long, long, ival) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) (((long) -1) * (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } else - {} - } else { - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - const digit* digits = __Pyx_PyLong_Digits(x); - if (size == 2 && (8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } else - if (size == 3 && (8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } else - if (size == 4 && (8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } else - {} - } -#endif - #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000 - if ((sizeof(long) <= sizeof(int)) && (sizeof(int) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, int, PyLong_AsInt(x)) - } else - #endif - if ((sizeof(long) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) - } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) - } - return __Pyx_LargePyLong___Pyx_PyLong_As_long(x); -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_long(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_long(); -} -static long __Pyx_LargePyLong___Pyx_PyLong_As_long(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - long val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); - if ((0)) goto raise_overflow; -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (long) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (long) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to long"); - return (long) -1; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (long) -1; - } else { - stepval = v; - } - v = NULL; - val = (long) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((long) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((long) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; -done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (long) -1; - return val; -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_long(); -} -static CYTHON_INLINE long __Pyx_PyLong___Pyx_PyLong_As_long(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - #if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else - #endif - { - return __Pyx_PyULong___Pyx_PyLong_As_long(x); - } - } else { - #if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else - #endif - { - return __Pyx_PySLong___Pyx_PyLong_As_long(x); - } - } -#if CYTHON_USE_PYLONG_INTERNALS -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_long(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_long(); -#endif -} -static long __Pyx_NonPyLong___Pyx_PyLong_As_long(PyObject *x) { - long val; - PyObject *tmp = __Pyx_PyNumber_Long(x); - if (!tmp) return (long) -1; - val = __Pyx_PyLong_As_long(tmp); - Py_DECREF(tmp); - return val; -} -static CYTHON_INLINE long __Pyx_PyLong_As_long(PyObject *x) { - if (likely(PyLong_Check(x))) { - return __Pyx_PyLong___Pyx_PyLong_As_long(x); - } else { - return __Pyx_NonPyLong___Pyx_PyLong_As_long(x); - } -} - -/* CIntFromPy */ -static TA_FuncUnstId __Pyx_LargePyLong___Pyx_PyLong_As_TA_FuncUnstId(PyObject *x); -static TA_FuncUnstId __Pyx_raise_neg_overflow___Pyx_PyLong_As_TA_FuncUnstId(void) { - const char* type_name = "TA_FuncUnstId"; - PyErr_Format(PyExc_OverflowError, - "can't convert negative value to %.200s", type_name); - return (TA_FuncUnstId) -1; -} -static TA_FuncUnstId __Pyx_raise_overflow___Pyx_PyLong_As_TA_FuncUnstId(void) { - const char* type_name = "TA_FuncUnstId"; - PyErr_Format(PyExc_OverflowError, - "value too large to convert to %.200s", type_name); - return (TA_FuncUnstId) -1; -} -static CYTHON_INLINE TA_FuncUnstId __Pyx_PyULong___Pyx_PyLong_As_TA_FuncUnstId(PyObject *x) { - const int is_unsigned = 1; -#if CYTHON_USE_PYLONG_INTERNALS - { - const digit* digits = __Pyx_PyLong_Digits(x); - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - if (size == 2 && (8 * sizeof(TA_FuncUnstId) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(TA_FuncUnstId, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(TA_FuncUnstId) >= 2 * PyLong_SHIFT)) { - return (TA_FuncUnstId) (((((TA_FuncUnstId)digits[1]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[0])); - } - } else - if (size == 3 && (8 * sizeof(TA_FuncUnstId) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(TA_FuncUnstId, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(TA_FuncUnstId) >= 3 * PyLong_SHIFT)) { - return (TA_FuncUnstId) (((((((TA_FuncUnstId)digits[2]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[1]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[0])); - } - } else - if (size == 4 && (8 * sizeof(TA_FuncUnstId) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(TA_FuncUnstId, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(TA_FuncUnstId) >= 4 * PyLong_SHIFT)) { - return (TA_FuncUnstId) (((((((((TA_FuncUnstId)digits[3]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[2]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[1]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[0])); - } - } else - {} - } -#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (TA_FuncUnstId) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(TA_FuncUnstId) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(TA_FuncUnstId, unsigned long, PyLong_AsUnsignedLong(x)) - } else if ((sizeof(TA_FuncUnstId) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(TA_FuncUnstId, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) - } - return __Pyx_LargePyLong___Pyx_PyLong_As_TA_FuncUnstId(x); -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_TA_FuncUnstId(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_TA_FuncUnstId(); -} -static CYTHON_INLINE TA_FuncUnstId __Pyx_PySLong___Pyx_PyLong_As_TA_FuncUnstId(PyObject *x) { - const int is_unsigned = 0; -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsNeg(x)) { - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - const digit* digits = __Pyx_PyLong_Digits(x); - if (size == 2 && (8 * sizeof(TA_FuncUnstId) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - long ival = - (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(TA_FuncUnstId, long, ival) - } else if ((8 * sizeof(TA_FuncUnstId) - 1 > 2 * PyLong_SHIFT)) { - return (TA_FuncUnstId) (((TA_FuncUnstId) -1) * (((((TA_FuncUnstId)digits[1]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[0]))); - } - } else - if (size == 3 && (8 * sizeof(TA_FuncUnstId) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - long ival = - (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(TA_FuncUnstId, long, ival) - } else if ((8 * sizeof(TA_FuncUnstId) - 1 > 3 * PyLong_SHIFT)) { - return (TA_FuncUnstId) (((TA_FuncUnstId) -1) * (((((((TA_FuncUnstId)digits[2]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[1]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[0]))); - } - } else - if (size == 4 && (8 * sizeof(TA_FuncUnstId) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 4 * PyLong_SHIFT)) { - long ival = - (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(TA_FuncUnstId, long, ival) - } else if ((8 * sizeof(TA_FuncUnstId) - 1 > 4 * PyLong_SHIFT)) { - return (TA_FuncUnstId) (((TA_FuncUnstId) -1) * (((((((((TA_FuncUnstId)digits[3]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[2]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[1]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[0]))); - } - } else - {} - } else { - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - const digit* digits = __Pyx_PyLong_Digits(x); - if (size == 2 && (8 * sizeof(TA_FuncUnstId) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(TA_FuncUnstId, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(TA_FuncUnstId) - 1 > 2 * PyLong_SHIFT)) { - return (TA_FuncUnstId) (((((TA_FuncUnstId)digits[1]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[0])); - } - } else - if (size == 3 && (8 * sizeof(TA_FuncUnstId) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(TA_FuncUnstId, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(TA_FuncUnstId) - 1 > 3 * PyLong_SHIFT)) { - return (TA_FuncUnstId) (((((((TA_FuncUnstId)digits[2]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[1]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[0])); - } - } else - if (size == 4 && (8 * sizeof(TA_FuncUnstId) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(TA_FuncUnstId, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(TA_FuncUnstId) - 1 > 4 * PyLong_SHIFT)) { - return (TA_FuncUnstId) (((((((((TA_FuncUnstId)digits[3]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[2]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[1]) << PyLong_SHIFT) | (TA_FuncUnstId)digits[0])); - } - } else - {} - } -#endif - #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000 - if ((sizeof(TA_FuncUnstId) <= sizeof(int)) && (sizeof(int) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(TA_FuncUnstId, int, PyLong_AsInt(x)) - } else - #endif - if ((sizeof(TA_FuncUnstId) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(TA_FuncUnstId, long, PyLong_AsLong(x)) - } else if ((sizeof(TA_FuncUnstId) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(TA_FuncUnstId, PY_LONG_LONG, PyLong_AsLongLong(x)) - } - return __Pyx_LargePyLong___Pyx_PyLong_As_TA_FuncUnstId(x); -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_TA_FuncUnstId(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_TA_FuncUnstId(); -} -static TA_FuncUnstId __Pyx_LargePyLong___Pyx_PyLong_As_TA_FuncUnstId(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const TA_FuncUnstId neg_one = (TA_FuncUnstId) -1, const_zero = (TA_FuncUnstId) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - TA_FuncUnstId val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); - if ((0)) goto raise_overflow; -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (TA_FuncUnstId) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (TA_FuncUnstId) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to TA_FuncUnstId"); - return (TA_FuncUnstId) -1; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (TA_FuncUnstId) -1; - } else { - stepval = v; - } - v = NULL; - val = (TA_FuncUnstId) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(TA_FuncUnstId) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((TA_FuncUnstId) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(TA_FuncUnstId) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((TA_FuncUnstId) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((TA_FuncUnstId) 1) << (sizeof(TA_FuncUnstId) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; -done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (TA_FuncUnstId) -1; - return val; -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_TA_FuncUnstId(); -} -static CYTHON_INLINE TA_FuncUnstId __Pyx_PyLong___Pyx_PyLong_As_TA_FuncUnstId(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const TA_FuncUnstId neg_one = (TA_FuncUnstId) -1, const_zero = (TA_FuncUnstId) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - #if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(TA_FuncUnstId, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else - #endif - { - return __Pyx_PyULong___Pyx_PyLong_As_TA_FuncUnstId(x); - } - } else { - #if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(TA_FuncUnstId, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else - #endif - { - return __Pyx_PySLong___Pyx_PyLong_As_TA_FuncUnstId(x); - } - } -#if CYTHON_USE_PYLONG_INTERNALS -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_TA_FuncUnstId(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_TA_FuncUnstId(); -#endif -} -static TA_FuncUnstId __Pyx_NonPyLong___Pyx_PyLong_As_TA_FuncUnstId(PyObject *x) { - TA_FuncUnstId val; - PyObject *tmp = __Pyx_PyNumber_Long(x); - if (!tmp) return (TA_FuncUnstId) -1; - val = __Pyx_PyLong_As_TA_FuncUnstId(tmp); - Py_DECREF(tmp); - return val; -} -static CYTHON_INLINE TA_FuncUnstId __Pyx_PyLong_As_TA_FuncUnstId(PyObject *x) { - if (likely(PyLong_Check(x))) { - return __Pyx_PyLong___Pyx_PyLong_As_TA_FuncUnstId(x); - } else { - return __Pyx_NonPyLong___Pyx_PyLong_As_TA_FuncUnstId(x); - } -} - -/* CIntFromPy */ -static unsigned int __Pyx_LargePyLong___Pyx_PyLong_As_unsigned_int(PyObject *x); -static unsigned int __Pyx_raise_neg_overflow___Pyx_PyLong_As_unsigned_int(void) { - const char* type_name = "unsigned int"; - PyErr_Format(PyExc_OverflowError, - "can't convert negative value to %.200s", type_name); - return (unsigned int) -1; -} -static unsigned int __Pyx_raise_overflow___Pyx_PyLong_As_unsigned_int(void) { - const char* type_name = "unsigned int"; - PyErr_Format(PyExc_OverflowError, - "value too large to convert to %.200s", type_name); - return (unsigned int) -1; -} -static CYTHON_INLINE unsigned int __Pyx_PyULong___Pyx_PyLong_As_unsigned_int(PyObject *x) { - const int is_unsigned = 1; -#if CYTHON_USE_PYLONG_INTERNALS - { - const digit* digits = __Pyx_PyLong_Digits(x); - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - if (size == 2 && (8 * sizeof(unsigned int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(unsigned int) >= 2 * PyLong_SHIFT)) { - return (unsigned int) (((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); - } - } else - if (size == 3 && (8 * sizeof(unsigned int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(unsigned int) >= 3 * PyLong_SHIFT)) { - return (unsigned int) (((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); - } - } else - if (size == 4 && (8 * sizeof(unsigned int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(unsigned int) >= 4 * PyLong_SHIFT)) { - return (unsigned int) (((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); - } - } else - {} - } -#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (unsigned int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(unsigned int) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned long, PyLong_AsUnsignedLong(x)) - } else if ((sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) - } - return __Pyx_LargePyLong___Pyx_PyLong_As_unsigned_int(x); -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_unsigned_int(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_unsigned_int(); -} -static CYTHON_INLINE unsigned int __Pyx_PySLong___Pyx_PyLong_As_unsigned_int(PyObject *x) { - const int is_unsigned = 0; -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsNeg(x)) { - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - const digit* digits = __Pyx_PyLong_Digits(x); - if (size == 2 && (8 * sizeof(unsigned int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - long ival = - (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(unsigned int, long, ival) - } else if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) { - return (unsigned int) (((unsigned int) -1) * (((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); - } - } else - if (size == 3 && (8 * sizeof(unsigned int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - long ival = - (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(unsigned int, long, ival) - } else if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) { - return (unsigned int) (((unsigned int) -1) * (((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); - } - } else - if (size == 4 && (8 * sizeof(unsigned int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 4 * PyLong_SHIFT)) { - long ival = - (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(unsigned int, long, ival) - } else if ((8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT)) { - return (unsigned int) (((unsigned int) -1) * (((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); - } - } else - {} - } else { - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - const digit* digits = __Pyx_PyLong_Digits(x); - if (size == 2 && (8 * sizeof(unsigned int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) { - return (unsigned int) (((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); - } - } else - if (size == 3 && (8 * sizeof(unsigned int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) { - return (unsigned int) (((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); - } - } else - if (size == 4 && (8 * sizeof(unsigned int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT)) { - return (unsigned int) (((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); - } - } else - {} - } -#endif - #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000 - if ((sizeof(unsigned int) <= sizeof(int)) && (sizeof(int) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(unsigned int, int, PyLong_AsInt(x)) - } else - #endif - if ((sizeof(unsigned int) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(unsigned int, long, PyLong_AsLong(x)) - } else if ((sizeof(unsigned int) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(unsigned int, PY_LONG_LONG, PyLong_AsLongLong(x)) - } - return __Pyx_LargePyLong___Pyx_PyLong_As_unsigned_int(x); -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_unsigned_int(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_unsigned_int(); -} -static unsigned int __Pyx_LargePyLong___Pyx_PyLong_As_unsigned_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - unsigned int val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); - if ((0)) goto raise_overflow; -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (unsigned int) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (unsigned int) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned int"); - return (unsigned int) -1; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (unsigned int) -1; - } else { - stepval = v; - } - v = NULL; - val = (unsigned int) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(unsigned int) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((unsigned int) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(unsigned int) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((unsigned int) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((unsigned int) 1) << (sizeof(unsigned int) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; -done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (unsigned int) -1; - return val; -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_unsigned_int(); -} -static CYTHON_INLINE unsigned int __Pyx_PyLong___Pyx_PyLong_As_unsigned_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - #if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(unsigned int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else - #endif - { - return __Pyx_PyULong___Pyx_PyLong_As_unsigned_int(x); - } - } else { - #if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(unsigned int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else - #endif - { - return __Pyx_PySLong___Pyx_PyLong_As_unsigned_int(x); - } - } -#if CYTHON_USE_PYLONG_INTERNALS -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_unsigned_int(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_unsigned_int(); -#endif -} -static unsigned int __Pyx_NonPyLong___Pyx_PyLong_As_unsigned_int(PyObject *x) { - unsigned int val; - PyObject *tmp = __Pyx_PyNumber_Long(x); - if (!tmp) return (unsigned int) -1; - val = __Pyx_PyLong_As_unsigned_int(tmp); - Py_DECREF(tmp); - return val; -} -static CYTHON_INLINE unsigned int __Pyx_PyLong_As_unsigned_int(PyObject *x) { - if (likely(PyLong_Check(x))) { - return __Pyx_PyLong___Pyx_PyLong_As_unsigned_int(x); - } else { - return __Pyx_NonPyLong___Pyx_PyLong_As_unsigned_int(x); - } -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_unsigned_int(unsigned int value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(unsigned int) < sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(unsigned int) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#if !CYTHON_COMPILING_IN_PYPY - } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(unsigned int) <= sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(unsigned int), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *result = NULL, *kwds = NULL; - PyObject *py_bytes = NULL, *order_str = NULL, *from_bytes_str = NULL;; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(unsigned int)); - if (!py_bytes) goto limited_bad; - from_bytes_str = PyUnicode_FromStringAndSize("from_bytes", 10); - if (!from_bytes_str) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - { - PyObject *args[] = { (PyObject*)&PyLong_Type, py_bytes, order_str, Py_True }; - if (!is_unsigned) { - PyObject *signed_str = PyUnicode_FromStringAndSize("signed", 6); - if (!signed_str) goto limited_bad; -#if CYTHON_VECTORCALL - kwds = PyTuple_Pack(1, signed_str); -#else - { - PyObject *keys[] = {signed_str}; - PyObject *values[] = {Py_True}; - kwds = __Pyx_MakeKwargDict(keys, values, 1); - } -#endif - Py_DECREF(signed_str); - if (unlikely(!kwds)) goto limited_bad; - } - result = __Pyx_Object_VectorcallMethodKwds(from_bytes_str, args, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds); - } - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes_str); - return result; -#endif - } -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_long(long value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#if !CYTHON_COMPILING_IN_PYPY - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(long) <= sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(long), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *result = NULL, *kwds = NULL; - PyObject *py_bytes = NULL, *order_str = NULL, *from_bytes_str = NULL;; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long)); - if (!py_bytes) goto limited_bad; - from_bytes_str = PyUnicode_FromStringAndSize("from_bytes", 10); - if (!from_bytes_str) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - { - PyObject *args[] = { (PyObject*)&PyLong_Type, py_bytes, order_str, Py_True }; - if (!is_unsigned) { - PyObject *signed_str = PyUnicode_FromStringAndSize("signed", 6); - if (!signed_str) goto limited_bad; -#if CYTHON_VECTORCALL - kwds = PyTuple_Pack(1, signed_str); -#else - { - PyObject *keys[] = {signed_str}; - PyObject *values[] = {Py_True}; - kwds = __Pyx_MakeKwargDict(keys, values, 1); - } -#endif - Py_DECREF(signed_str); - if (unlikely(!kwds)) goto limited_bad; - } - result = __Pyx_Object_VectorcallMethodKwds(from_bytes_str, args, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds); - } - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes_str); - return result; -#endif - } -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_TA_OptInputParameterType(TA_OptInputParameterType value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const TA_OptInputParameterType neg_one = (TA_OptInputParameterType) -1, const_zero = (TA_OptInputParameterType) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(TA_OptInputParameterType) < sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(TA_OptInputParameterType) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#if !CYTHON_COMPILING_IN_PYPY - } else if (sizeof(TA_OptInputParameterType) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(TA_OptInputParameterType) <= sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(TA_OptInputParameterType) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(TA_OptInputParameterType), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *result = NULL, *kwds = NULL; - PyObject *py_bytes = NULL, *order_str = NULL, *from_bytes_str = NULL;; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(TA_OptInputParameterType)); - if (!py_bytes) goto limited_bad; - from_bytes_str = PyUnicode_FromStringAndSize("from_bytes", 10); - if (!from_bytes_str) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - { - PyObject *args[] = { (PyObject*)&PyLong_Type, py_bytes, order_str, Py_True }; - if (!is_unsigned) { - PyObject *signed_str = PyUnicode_FromStringAndSize("signed", 6); - if (!signed_str) goto limited_bad; -#if CYTHON_VECTORCALL - kwds = PyTuple_Pack(1, signed_str); -#else - { - PyObject *keys[] = {signed_str}; - PyObject *values[] = {Py_True}; - kwds = __Pyx_MakeKwargDict(keys, values, 1); - } -#endif - Py_DECREF(signed_str); - if (unlikely(!kwds)) goto limited_bad; - } - result = __Pyx_Object_VectorcallMethodKwds(from_bytes_str, args, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds); - } - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes_str); - return result; -#endif - } -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_TA_FuncFlags(TA_FuncFlags value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const TA_FuncFlags neg_one = (TA_FuncFlags) -1, const_zero = (TA_FuncFlags) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(TA_FuncFlags) < sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(TA_FuncFlags) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#if !CYTHON_COMPILING_IN_PYPY - } else if (sizeof(TA_FuncFlags) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(TA_FuncFlags) <= sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(TA_FuncFlags) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(TA_FuncFlags), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *result = NULL, *kwds = NULL; - PyObject *py_bytes = NULL, *order_str = NULL, *from_bytes_str = NULL;; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(TA_FuncFlags)); - if (!py_bytes) goto limited_bad; - from_bytes_str = PyUnicode_FromStringAndSize("from_bytes", 10); - if (!from_bytes_str) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - { - PyObject *args[] = { (PyObject*)&PyLong_Type, py_bytes, order_str, Py_True }; - if (!is_unsigned) { - PyObject *signed_str = PyUnicode_FromStringAndSize("signed", 6); - if (!signed_str) goto limited_bad; -#if CYTHON_VECTORCALL - kwds = PyTuple_Pack(1, signed_str); -#else - { - PyObject *keys[] = {signed_str}; - PyObject *values[] = {Py_True}; - kwds = __Pyx_MakeKwargDict(keys, values, 1); - } -#endif - Py_DECREF(signed_str); - if (unlikely(!kwds)) goto limited_bad; - } - result = __Pyx_Object_VectorcallMethodKwds(from_bytes_str, args, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds); - } - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes_str); - return result; -#endif - } -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_TA_InputFlags(TA_InputFlags value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const TA_InputFlags neg_one = (TA_InputFlags) -1, const_zero = (TA_InputFlags) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(TA_InputFlags) < sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(TA_InputFlags) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#if !CYTHON_COMPILING_IN_PYPY - } else if (sizeof(TA_InputFlags) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(TA_InputFlags) <= sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(TA_InputFlags) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(TA_InputFlags), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *result = NULL, *kwds = NULL; - PyObject *py_bytes = NULL, *order_str = NULL, *from_bytes_str = NULL;; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(TA_InputFlags)); - if (!py_bytes) goto limited_bad; - from_bytes_str = PyUnicode_FromStringAndSize("from_bytes", 10); - if (!from_bytes_str) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - { - PyObject *args[] = { (PyObject*)&PyLong_Type, py_bytes, order_str, Py_True }; - if (!is_unsigned) { - PyObject *signed_str = PyUnicode_FromStringAndSize("signed", 6); - if (!signed_str) goto limited_bad; -#if CYTHON_VECTORCALL - kwds = PyTuple_Pack(1, signed_str); -#else - { - PyObject *keys[] = {signed_str}; - PyObject *values[] = {Py_True}; - kwds = __Pyx_MakeKwargDict(keys, values, 1); - } -#endif - Py_DECREF(signed_str); - if (unlikely(!kwds)) goto limited_bad; - } - result = __Pyx_Object_VectorcallMethodKwds(from_bytes_str, args, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds); - } - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes_str); - return result; -#endif - } -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_TA_OutputFlags(TA_OutputFlags value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const TA_OutputFlags neg_one = (TA_OutputFlags) -1, const_zero = (TA_OutputFlags) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(TA_OutputFlags) < sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(TA_OutputFlags) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#if !CYTHON_COMPILING_IN_PYPY - } else if (sizeof(TA_OutputFlags) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(TA_OutputFlags) <= sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(TA_OutputFlags) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(TA_OutputFlags), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *result = NULL, *kwds = NULL; - PyObject *py_bytes = NULL, *order_str = NULL, *from_bytes_str = NULL;; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(TA_OutputFlags)); - if (!py_bytes) goto limited_bad; - from_bytes_str = PyUnicode_FromStringAndSize("from_bytes", 10); - if (!from_bytes_str) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - { - PyObject *args[] = { (PyObject*)&PyLong_Type, py_bytes, order_str, Py_True }; - if (!is_unsigned) { - PyObject *signed_str = PyUnicode_FromStringAndSize("signed", 6); - if (!signed_str) goto limited_bad; -#if CYTHON_VECTORCALL - kwds = PyTuple_Pack(1, signed_str); -#else - { - PyObject *keys[] = {signed_str}; - PyObject *values[] = {Py_True}; - kwds = __Pyx_MakeKwargDict(keys, values, 1); - } -#endif - Py_DECREF(signed_str); - if (unlikely(!kwds)) goto limited_bad; - } - result = __Pyx_Object_VectorcallMethodKwds(from_bytes_str, args, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds); - } - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes_str); - return result; -#endif - } -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyLong_From_npy_intp(npy_intp value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const npy_intp neg_one = (npy_intp) -1, const_zero = (npy_intp) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(npy_intp) < sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(npy_intp) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#if !CYTHON_COMPILING_IN_PYPY - } else if (sizeof(npy_intp) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(npy_intp) <= sizeof(long)) { - return PyLong_FromLong((long) value); - } else if (sizeof(npy_intp) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(npy_intp), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *result = NULL, *kwds = NULL; - PyObject *py_bytes = NULL, *order_str = NULL, *from_bytes_str = NULL;; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(npy_intp)); - if (!py_bytes) goto limited_bad; - from_bytes_str = PyUnicode_FromStringAndSize("from_bytes", 10); - if (!from_bytes_str) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - { - PyObject *args[] = { (PyObject*)&PyLong_Type, py_bytes, order_str, Py_True }; - if (!is_unsigned) { - PyObject *signed_str = PyUnicode_FromStringAndSize("signed", 6); - if (!signed_str) goto limited_bad; -#if CYTHON_VECTORCALL - kwds = PyTuple_Pack(1, signed_str); -#else - { - PyObject *keys[] = {signed_str}; - PyObject *values[] = {Py_True}; - kwds = __Pyx_MakeKwargDict(keys, values, 1); - } -#endif - Py_DECREF(signed_str); - if (unlikely(!kwds)) goto limited_bad; - } - result = __Pyx_Object_VectorcallMethodKwds(from_bytes_str, args, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds); - } - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes_str); - return result; -#endif - } -} - -/* CIntFromPy */ -static npy_intp __Pyx_LargePyLong___Pyx_PyLong_As_npy_intp(PyObject *x); -static npy_intp __Pyx_raise_neg_overflow___Pyx_PyLong_As_npy_intp(void) { - const char* type_name = "npy_intp"; - PyErr_Format(PyExc_OverflowError, - "can't convert negative value to %.200s", type_name); - return (npy_intp) -1; -} -static npy_intp __Pyx_raise_overflow___Pyx_PyLong_As_npy_intp(void) { - const char* type_name = "npy_intp"; - PyErr_Format(PyExc_OverflowError, - "value too large to convert to %.200s", type_name); - return (npy_intp) -1; -} -static CYTHON_INLINE npy_intp __Pyx_PyULong___Pyx_PyLong_As_npy_intp(PyObject *x) { - const int is_unsigned = 1; -#if CYTHON_USE_PYLONG_INTERNALS - { - const digit* digits = __Pyx_PyLong_Digits(x); - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - if (size == 2 && (8 * sizeof(npy_intp) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(npy_intp, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(npy_intp) >= 2 * PyLong_SHIFT)) { - return (npy_intp) (((((npy_intp)digits[1]) << PyLong_SHIFT) | (npy_intp)digits[0])); - } - } else - if (size == 3 && (8 * sizeof(npy_intp) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(npy_intp, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(npy_intp) >= 3 * PyLong_SHIFT)) { - return (npy_intp) (((((((npy_intp)digits[2]) << PyLong_SHIFT) | (npy_intp)digits[1]) << PyLong_SHIFT) | (npy_intp)digits[0])); - } - } else - if (size == 4 && (8 * sizeof(npy_intp) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(npy_intp, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(npy_intp) >= 4 * PyLong_SHIFT)) { - return (npy_intp) (((((((((npy_intp)digits[3]) << PyLong_SHIFT) | (npy_intp)digits[2]) << PyLong_SHIFT) | (npy_intp)digits[1]) << PyLong_SHIFT) | (npy_intp)digits[0])); - } - } else - {} - } -#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (npy_intp) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(npy_intp) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(npy_intp, unsigned long, PyLong_AsUnsignedLong(x)) - } else if ((sizeof(npy_intp) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(npy_intp, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) - } - return __Pyx_LargePyLong___Pyx_PyLong_As_npy_intp(x); -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_npy_intp(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_npy_intp(); -} -static CYTHON_INLINE npy_intp __Pyx_PySLong___Pyx_PyLong_As_npy_intp(PyObject *x) { - const int is_unsigned = 0; -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsNeg(x)) { - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - const digit* digits = __Pyx_PyLong_Digits(x); - if (size == 2 && (8 * sizeof(npy_intp) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - long ival = - (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(npy_intp, long, ival) - } else if ((8 * sizeof(npy_intp) - 1 > 2 * PyLong_SHIFT)) { - return (npy_intp) (((npy_intp) -1) * (((((npy_intp)digits[1]) << PyLong_SHIFT) | (npy_intp)digits[0]))); - } - } else - if (size == 3 && (8 * sizeof(npy_intp) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - long ival = - (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(npy_intp, long, ival) - } else if ((8 * sizeof(npy_intp) - 1 > 3 * PyLong_SHIFT)) { - return (npy_intp) (((npy_intp) -1) * (((((((npy_intp)digits[2]) << PyLong_SHIFT) | (npy_intp)digits[1]) << PyLong_SHIFT) | (npy_intp)digits[0]))); - } - } else - if (size == 4 && (8 * sizeof(npy_intp) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 4 * PyLong_SHIFT)) { - long ival = - (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - __PYX_VERIFY_RETURN_INT(npy_intp, long, ival) - } else if ((8 * sizeof(npy_intp) - 1 > 4 * PyLong_SHIFT)) { - return (npy_intp) (((npy_intp) -1) * (((((((((npy_intp)digits[3]) << PyLong_SHIFT) | (npy_intp)digits[2]) << PyLong_SHIFT) | (npy_intp)digits[1]) << PyLong_SHIFT) | (npy_intp)digits[0]))); - } - } else - {} - } else { - const Py_ssize_t size = __Pyx_PyLong_DigitCount(x); - const digit* digits = __Pyx_PyLong_Digits(x); - if (size == 2 && (8 * sizeof(npy_intp) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(npy_intp, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(npy_intp) - 1 > 2 * PyLong_SHIFT)) { - return (npy_intp) (((((npy_intp)digits[1]) << PyLong_SHIFT) | (npy_intp)digits[0])); - } - } else - if (size == 3 && (8 * sizeof(npy_intp) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(npy_intp, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(npy_intp) - 1 > 3 * PyLong_SHIFT)) { - return (npy_intp) (((((((npy_intp)digits[2]) << PyLong_SHIFT) | (npy_intp)digits[1]) << PyLong_SHIFT) | (npy_intp)digits[0])); - } - } else - if (size == 4 && (8 * sizeof(npy_intp) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(npy_intp, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(npy_intp) - 1 > 4 * PyLong_SHIFT)) { - return (npy_intp) (((((((((npy_intp)digits[3]) << PyLong_SHIFT) | (npy_intp)digits[2]) << PyLong_SHIFT) | (npy_intp)digits[1]) << PyLong_SHIFT) | (npy_intp)digits[0])); - } - } else - {} - } -#endif - #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000 - if ((sizeof(npy_intp) <= sizeof(int)) && (sizeof(int) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(npy_intp, int, PyLong_AsInt(x)) - } else - #endif - if ((sizeof(npy_intp) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(npy_intp, long, PyLong_AsLong(x)) - } else if ((sizeof(npy_intp) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(npy_intp, PY_LONG_LONG, PyLong_AsLongLong(x)) - } - return __Pyx_LargePyLong___Pyx_PyLong_As_npy_intp(x); -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_npy_intp(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_npy_intp(); -} -static npy_intp __Pyx_LargePyLong___Pyx_PyLong_As_npy_intp(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const npy_intp neg_one = (npy_intp) -1, const_zero = (npy_intp) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - npy_intp val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); - if ((0)) goto raise_overflow; -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (npy_intp) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (npy_intp) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to npy_intp"); - return (npy_intp) -1; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (npy_intp) -1; - } else { - stepval = v; - } - v = NULL; - val = (npy_intp) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(npy_intp) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((npy_intp) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(npy_intp) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((npy_intp) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((npy_intp) 1) << (sizeof(npy_intp) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; -done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (npy_intp) -1; - return val; -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_npy_intp(); -} -static CYTHON_INLINE npy_intp __Pyx_PyLong___Pyx_PyLong_As_npy_intp(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const npy_intp neg_one = (npy_intp) -1, const_zero = (npy_intp) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - #if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(npy_intp, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else - #endif - { - return __Pyx_PyULong___Pyx_PyLong_As_npy_intp(x); - } - } else { - #if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(npy_intp, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else - #endif - { - return __Pyx_PySLong___Pyx_PyLong_As_npy_intp(x); - } - } -#if CYTHON_USE_PYLONG_INTERNALS -raise_neg_overflow: - return __Pyx_raise_neg_overflow___Pyx_PyLong_As_npy_intp(); -raise_overflow: - return __Pyx_raise_overflow___Pyx_PyLong_As_npy_intp(); -#endif -} -static npy_intp __Pyx_NonPyLong___Pyx_PyLong_As_npy_intp(PyObject *x) { - npy_intp val; - PyObject *tmp = __Pyx_PyNumber_Long(x); - if (!tmp) return (npy_intp) -1; - val = __Pyx_PyLong_As_npy_intp(tmp); - Py_DECREF(tmp); - return val; -} -static CYTHON_INLINE npy_intp __Pyx_PyLong_As_npy_intp(PyObject *x) { - if (likely(PyLong_Check(x))) { - return __Pyx_PyLong___Pyx_PyLong_As_npy_intp(x); - } else { - return __Pyx_NonPyLong___Pyx_PyLong_As_npy_intp(x); - } -} - -/* GetRuntimeVersion */ -#if __PYX_LIMITED_VERSION_HEX < 0x030b0000 -void __Pyx_init_runtime_version(void) { - if (__Pyx_cached_runtime_version == 0) { - const char* rt_version = Py_GetVersion(); - unsigned long version = 0; - unsigned long factor = 0x01000000UL; - unsigned int digit = 0; - int i = 0; - while (factor) { - while ('0' <= rt_version[i] && rt_version[i] <= '9') { - digit = digit * 10 + (unsigned int) (rt_version[i] - '0'); - ++i; - } - version += factor * digit; - if (rt_version[i] != '.') - break; - digit = 0; - factor >>= 8; - ++i; - } - __Pyx_cached_runtime_version = version; - } -} -#endif -static unsigned long __Pyx_get_runtime_version(void) { -#if __PYX_LIMITED_VERSION_HEX >= 0x030b0000 - return Py_Version & ~0xFFUL; -#else - return __Pyx_cached_runtime_version; -#endif -} - -/* CheckBinaryVersion */ -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) { - const unsigned long MAJOR_MINOR = 0xFFFF0000UL; - if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR)) - return 0; - if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR))) - return 1; - { - char message[200]; - PyOS_snprintf(message, sizeof(message), - "compile time Python version %d.%d " - "of module '%.100s' " - "%s " - "runtime version %d.%d", - (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF), - __Pyx_MODULE_NAME, - (allow_newer) ? "was newer than" : "does not match", - (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF) - ); - return PyErr_WarnEx(NULL, message, 1); - } -} - -/* NewCodeObj */ -#if CYTHON_COMPILING_IN_LIMITED_API - static PyObject* __Pyx__PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyObject *exception_table = NULL; - PyObject *types_module=NULL, *code_type=NULL, *result=NULL; - #if __PYX_LIMITED_VERSION_HEX < 0x030b0000 - PyObject *version_info; - PyObject *py_minor_version = NULL; - #endif - long minor_version = 0; - #if __PYX_LIMITED_VERSION_HEX >= 0x030b0000 - minor_version = 11; - #else - if (!(version_info = PySys_GetObject("version_info"))) goto end; - if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end; - minor_version = PyLong_AsLong(py_minor_version); - Py_DECREF(py_minor_version); - if (minor_version == -1 && PyErr_Occurred()) goto end; - #endif - if (!(types_module = PyImport_ImportModule("types"))) goto end; - if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end; - if (minor_version <= 10) { - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOOO", a,p, k, l, s, f, code, - c, n, v, fn, name, fline, lnos, fv, cell); - } else { - if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end; - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOOOO", a,p, k, l, s, f, code, - c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell); - } - end: - Py_XDECREF(code_type); - Py_XDECREF(exception_table); - Py_XDECREF(types_module); - if (!result) { - PyObject *exc_type, *exc_value, *exc_tb; - PyErr_Fetch(&exc_type, &exc_value, &exc_tb); - if (PyErr_WarnFormat( - PyExc_RuntimeWarning, 1, - "Code object creation failed in Cython module: %S\nTry recompiling with a more recent version of Cython.", - exc_value ? exc_value : exc_type) == 0) { - result = Py_None; - Py_INCREF(result); - } - Py_DECREF(exc_type); - Py_XDECREF(exc_value); - Py_XDECREF(exc_tb); - } - return result; - } -#elif PY_VERSION_HEX >= 0x030B0000 - static PyCodeObject* __Pyx__PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyCodeObject *result; - result = - #if PY_VERSION_HEX >= 0x030C0000 - PyUnstable_Code_NewWithPosOnlyArgs - #else - PyCode_NewWithPosOnlyArgs - #endif - (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, __pyx_mstate_global->__pyx_empty_bytes); - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030c00A1 - if (likely(result)) - result->_co_firsttraceable = 0; - #endif - return result; - } -#elif !CYTHON_COMPILING_IN_PYPY - #define __Pyx__PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx__PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#endif -static PyObject* __Pyx_PyCode_New( - const __Pyx_PyCode_New_function_description descr, - PyObject * const *varnames, - PyObject *filename, - PyObject *funcname, - PyObject *line_table, - PyObject *tuple_dedup_map -) { - PyObject *code_obj = NULL, *varnames_tuple_dedup = NULL, *code_bytes = NULL; - Py_ssize_t var_count = (Py_ssize_t) descr.nlocals; - PyObject *varnames_tuple = PyTuple_New(var_count); - if (unlikely(!varnames_tuple)) return NULL; - for (Py_ssize_t i=0; i < var_count; i++) { - Py_INCREF(varnames[i]); - if (__Pyx_PyTuple_SET_ITEM(varnames_tuple, i, varnames[i]) != (0)) goto done; - } - #if CYTHON_COMPILING_IN_LIMITED_API - varnames_tuple_dedup = PyDict_GetItem(tuple_dedup_map, varnames_tuple); - if (!varnames_tuple_dedup) { - if (unlikely(PyDict_SetItem(tuple_dedup_map, varnames_tuple, varnames_tuple) < 0)) goto done; - varnames_tuple_dedup = varnames_tuple; - } - #else - varnames_tuple_dedup = PyDict_SetDefault(tuple_dedup_map, varnames_tuple, varnames_tuple); - if (unlikely(!varnames_tuple_dedup)) goto done; - #endif - #if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(varnames_tuple_dedup); - #endif - if (__PYX_LIMITED_VERSION_HEX >= (0x030b0000) && line_table != NULL && !CYTHON_COMPILING_IN_GRAAL) { - Py_ssize_t line_table_length = __Pyx_PyBytes_GET_SIZE(line_table); - #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely(line_table_length == -1)) goto done; - #endif - Py_ssize_t code_len = (line_table_length * 2 + 4) & ~3LL; - code_bytes = PyBytes_FromStringAndSize(NULL, code_len); - if (unlikely(!code_bytes)) goto done; - char* c_code_bytes = PyBytes_AsString(code_bytes); - if (unlikely(!c_code_bytes)) goto done; - memset(c_code_bytes, 0, (size_t) code_len); - } - code_obj = (PyObject*) __Pyx__PyCode_New( - (int) descr.argcount, - (int) descr.num_posonly_args, - (int) descr.num_kwonly_args, - (int) descr.nlocals, - 0, - (int) descr.flags, - code_bytes ? code_bytes : __pyx_mstate_global->__pyx_empty_bytes, - __pyx_mstate_global->__pyx_empty_tuple, - __pyx_mstate_global->__pyx_empty_tuple, - varnames_tuple_dedup, - __pyx_mstate_global->__pyx_empty_tuple, - __pyx_mstate_global->__pyx_empty_tuple, - filename, - funcname, - (int) descr.first_line, - (__PYX_LIMITED_VERSION_HEX >= (0x030b0000) && line_table) ? line_table : __pyx_mstate_global->__pyx_empty_bytes - ); -done: - Py_XDECREF(code_bytes); - #if CYTHON_AVOID_BORROWED_REFS - Py_XDECREF(varnames_tuple_dedup); - #endif - Py_DECREF(varnames_tuple); - return code_obj; -} - -/* DecompressString */ -CYTHON_UNUSED -static CYTHON_SMALL_CODE PyObject *__Pyx_DecompressString(const char *s, Py_ssize_t length, int algo) { -#ifdef __Pyx_DecompressString_UNUSED - CYTHON_UNUSED_VAR(s); - CYTHON_UNUSED_VAR(length); - CYTHON_UNUSED_VAR(algo); - return NULL; -#else - PyObject *module = NULL, *decompress, *compressed_bytes, *decompressed; - const char* module_name = algo == 3 ? "compression.zstd" : algo == 2 ? "bz2" : "zlib"; - PyObject *methodname = PyUnicode_FromString("decompress"); - if (unlikely(!methodname)) return NULL; - #if __PYX_LIMITED_VERSION_HEX >= 0x030e0000 - if (algo == 3) { - PyObject *fromlist = Py_BuildValue("[O]", methodname); - if (unlikely(!fromlist)) goto bad; - module = PyImport_ImportModuleLevel("compression.zstd", NULL, NULL, fromlist, 0); - Py_DECREF(fromlist); - } else - #endif - module = PyImport_ImportModule(module_name); - if (unlikely(!module)) goto import_failed; - decompress = PyObject_GetAttr(module, methodname); - if (unlikely(!decompress)) goto import_failed; - { - #ifdef __cplusplus - char *memview_bytes = const_cast(s); - #else - #if defined(__clang__) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wcast-qual" - #elif !defined(__INTEL_COMPILER) && defined(__GNUC__) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wcast-qual" - #endif - char *memview_bytes = (char*) s; - #if defined(__clang__) - #pragma clang diagnostic pop - #elif !defined(__INTEL_COMPILER) && defined(__GNUC__) - #pragma GCC diagnostic pop - #endif - #endif - #if CYTHON_COMPILING_IN_LIMITED_API && !defined(PyBUF_READ) - int memview_flags = 0x100; - #else - int memview_flags = PyBUF_READ; - #endif - compressed_bytes = PyMemoryView_FromMemory(memview_bytes, length, memview_flags); - } - if (unlikely(!compressed_bytes)) { - Py_DECREF(decompress); - goto bad; - } - decompressed = PyObject_CallFunctionObjArgs(decompress, compressed_bytes, NULL); - Py_DECREF(compressed_bytes); - Py_DECREF(decompress); - Py_DECREF(module); - Py_DECREF(methodname); - return decompressed; -import_failed: - PyErr_Format(PyExc_ImportError, - "Failed to import '%.20s.decompress' - cannot initialise module strings. " - "String compression was configured with the C macro 'CYTHON_COMPRESS_STRINGS=%d'.", - module_name, algo); -bad: - Py_XDECREF(module); - Py_DECREF(methodname); - return NULL; -#endif -} - -/* DecompressString_LZSS */ -#ifndef __Pyx_DecompressString_LZSS_UNUSED -CYTHON_UNUSED -static CYTHON_SMALL_CODE size_t __pyx_lzss_decompress(const uint8_t* src, uint8_t* dst, size_t dst_len) { - size_t pos = 0, out_pos = 0; - while (1) { - uint32_t flags = src[pos++] | 0xFF00; - while (flags & 0x100) { - if (flags & 1) { - dst[out_pos++] = src[pos++]; - } else { - uint32_t lo = src[pos++], hi = src[pos++]; - uint32_t end_offset_of_last_occurrence, match_length; - if (!(lo & 0x80)) { - end_offset_of_last_occurrence = lo; - match_length = hi; - } else if (!(hi & 0x80)) { - end_offset_of_last_occurrence = 0x80 + (((hi << 2) & 0x180) | (lo & 0x7F)); - match_length = hi & 0x1F; - } else { - end_offset_of_last_occurrence = 0x80 + ((hi & 0x7F) << 7 | (lo & 0x7F)); - match_length = src[pos++]; - } - match_length += 3; - size_t ref_pos = out_pos - end_offset_of_last_occurrence - match_length; - memcpy(dst + out_pos, dst + ref_pos, match_length); - out_pos += match_length; - } - if (out_pos >= dst_len) return pos; - flags >>= 1; - } - } -} -#endif -static CYTHON_SMALL_CODE PyObject *__Pyx_DecompressString_LZSS(const char *s, size_t compressed_length, size_t uncompressed_length) { -#ifdef __Pyx_DecompressString_LZSS_UNUSED - CYTHON_UNUSED_VAR(s); - CYTHON_UNUSED_VAR(compressed_length); - CYTHON_UNUSED_VAR(uncompressed_length); - return NULL; -#else - PyObject *result; - unsigned char *result_data; - size_t src_length; - result = PyBytes_FromStringAndSize(NULL, (Py_ssize_t) uncompressed_length); - if (unlikely(!result)) return NULL; - result_data = __Pyx_PyBytes_AsWritableUString(result); - if (unlikely(!result_data)) goto bad; - src_length = __pyx_lzss_decompress((const uint8_t*) s, result_data, uncompressed_length); - if (unlikely(src_length != compressed_length)) goto decompression_failed; - return result; -decompression_failed: - PyErr_SetString(PyExc_RuntimeError, "LZSS string data decompression failed"); -bad: - Py_DECREF(result); - return NULL; -#endif -} - -#include -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) { - size_t len = strlen(s); - if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) { - PyErr_SetString(PyExc_OverflowError, "byte string is too long"); - return -1; - } - return (Py_ssize_t) len; -} -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return __Pyx_PyUnicode_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return PyByteArray_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { - Py_ssize_t ignore; - return __Pyx_PyObject_AsStringAndSize(o, &ignore); -} -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 -static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; -#if CYTHON_COMPILING_IN_LIMITED_API - { - const char* result; - Py_ssize_t unicode_length; - CYTHON_MAYBE_UNUSED_VAR(unicode_length); // only for __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - #if __PYX_LIMITED_VERSION_HEX < 0x030A0000 - if (unlikely(PyArg_Parse(o, "s#", &result, length) < 0)) return NULL; - #else - result = PyUnicode_AsUTF8AndSize(o, length); - #endif - #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - unicode_length = PyUnicode_GetLength(o); - if (unlikely(unicode_length < 0)) return NULL; - if (unlikely(unicode_length != *length)) { - PyUnicode_AsASCIIString(o); - return NULL; - } - #endif - return result; - } -#else -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - if (likely(PyUnicode_IS_ASCII(o))) { - *length = PyUnicode_GET_LENGTH(o); - return PyUnicode_AsUTF8(o); - } else { - PyUnicode_AsASCIIString(o); - return NULL; - } -#else - return PyUnicode_AsUTF8AndSize(o, length); -#endif -#endif -} -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 - if (PyUnicode_Check(o)) { - return __Pyx_PyUnicode_AsStringAndSize(o, length); - } else -#endif - if (PyByteArray_Check(o)) { -#if (CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS) || (CYTHON_COMPILING_IN_PYPY && (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))) - *length = PyByteArray_GET_SIZE(o); - return PyByteArray_AS_STRING(o); -#else - *length = PyByteArray_Size(o); - if (*length == -1) return NULL; - return PyByteArray_AsString(o); -#endif - } else - { - char* result; - int r = PyBytes_AsStringAndSize(o, &result, length); - if (unlikely(r < 0)) { - return NULL; - } else { - return result; - } - } -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { - int is_true = x == Py_True; - if (is_true | (x == Py_False) | (x == Py_None)) return is_true; - else return PyObject_IsTrue(x); -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { - int retval; - if (unlikely(!x)) return -1; - retval = __Pyx_PyObject_IsTrue(x); - Py_DECREF(x); - return retval; -} -static PyObject* __Pyx_PyNumber_LongWrongResultType(PyObject* result) { - __Pyx_TypeName result_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(result)); - #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000 - if (unlikely(!result_type_name)) goto bad; - #endif - if (PyLong_Check(result)) { - if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, - "__int__ returned non-int (type " __Pyx_FMT_TYPENAME "). " - "The ability to return an instance of a strict subclass of int is deprecated, " - "and may be removed in a future version of Python.", - result_type_name)) { - __Pyx_DECREF_TypeName(result_type_name); - goto bad; - } - __Pyx_DECREF_TypeName(result_type_name); - return result; - } - PyErr_Format(PyExc_TypeError, - "__int__ returned non-int (type " __Pyx_FMT_TYPENAME ")", - result_type_name); - __Pyx_DECREF_TypeName(result_type_name); -bad: - Py_DECREF(result); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyNumber_Long(PyObject* x) { -#if CYTHON_USE_TYPE_SLOTS - PyNumberMethods *m; -#endif - PyObject *res = NULL; - if (likely(PyLong_Check(x))) - return __Pyx_NewRef(x); -#if CYTHON_USE_TYPE_SLOTS - m = Py_TYPE(x)->tp_as_number; - if (likely(m && m->nb_int)) { - res = m->nb_int(x); - } -#else - if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { - res = PyNumber_Long(x); - } -#endif - if (likely(res)) { - if (unlikely(!PyLong_CheckExact(res))) { - return __Pyx_PyNumber_LongWrongResultType(res); - } - } - else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_TypeError, - "an integer is required"); - } - return res; -} -static CYTHON_INLINE Py_ssize_t __Pyx_PyLong_AsSsize_t(PyObject* b) { - #if CYTHON_USE_PYLONG_INTERNALS - Py_ssize_t ival; - const Py_ssize_t size = __Pyx_PyLong_DigitCount(b); - const int is_neg = __Pyx_PyLong_IsNeg(b); - const digit* digits = __Pyx_PyLong_Digits(b); - if (size == 0) return 0; - #if SIZEOF_SIZE_T * 8 > 1 * PyLong_SHIFT - if (size == 1) { - ival = (Py_ssize_t) (((size_t)digits[0])); - } else - #endif - #if SIZEOF_SIZE_T * 8 > 2 * PyLong_SHIFT - if (size == 2) { - ival = (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } else - #endif - #if SIZEOF_SIZE_T * 8 > 3 * PyLong_SHIFT - if (size == 3) { - ival = (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } else - #endif - #if SIZEOF_SIZE_T * 8 > 4 * PyLong_SHIFT - if (size == 4) { - ival = (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } else - #endif - return PyLong_AsSsize_t(b); - return is_neg ? -ival : ival; - #else - return PyLong_AsSsize_t(b); - #endif -} -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { - if (likely(PyLong_Check(b))) { - return __Pyx_PyLong_AsSsize_t(b); - } else { - Py_ssize_t ival; - PyObject *x = PyNumber_Index(b); - if (unlikely(!x)) return -1; - ival = __Pyx_PyLong_AsSsize_t(x); - Py_DECREF(x); - return ival; - } -} -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { - if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { - return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); - } else { - Py_ssize_t ival; - PyObject *x; - x = PyNumber_Index(o); - if (!x) return -1; - ival = PyLong_AsLong(x); - Py_DECREF(x); - return ival; - } -} -static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b) { - CYTHON_UNUSED_VAR(b); - return __Pyx_NewRef(Py_None); -} -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { - return __Pyx_NewRef(b ? Py_True: Py_False); -} -static CYTHON_INLINE PyObject * __Pyx_PyLong_FromSize_t(size_t ival) { - return PyLong_FromSize_t(ival); -} - - -/* MultiPhaseInitModuleState */ -#if CYTHON_PEP489_MULTI_PHASE_INIT && CYTHON_USE_MODULE_STATE -#ifndef CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE -#if (CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX >= 0x030C0000) - #define CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE 1 -#else - #define CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE 0 -#endif -#endif -#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE && !CYTHON_ATOMICS -#error "Module state with PEP489 requires atomics. Currently that's one of\ - C11, C++11, gcc atomic intrinsics or MSVC atomic intrinsics" -#endif -#if !CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE -#define __Pyx_ModuleStateLookup_Lock() -#define __Pyx_ModuleStateLookup_Unlock() -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d0000 -static PyMutex __Pyx_ModuleStateLookup_mutex = {0}; -#define __Pyx_ModuleStateLookup_Lock() PyMutex_Lock(&__Pyx_ModuleStateLookup_mutex) -#define __Pyx_ModuleStateLookup_Unlock() PyMutex_Unlock(&__Pyx_ModuleStateLookup_mutex) -#elif defined(__cplusplus) && __cplusplus >= 201103L -#include -static std::mutex __Pyx_ModuleStateLookup_mutex; -#define __Pyx_ModuleStateLookup_Lock() __Pyx_ModuleStateLookup_mutex.lock() -#define __Pyx_ModuleStateLookup_Unlock() __Pyx_ModuleStateLookup_mutex.unlock() -#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ > 201112L) && !defined(__STDC_NO_THREADS__) -#include -static mtx_t __Pyx_ModuleStateLookup_mutex; -static once_flag __Pyx_ModuleStateLookup_mutex_once_flag = ONCE_FLAG_INIT; -static void __Pyx_ModuleStateLookup_initialize_mutex(void) { - mtx_init(&__Pyx_ModuleStateLookup_mutex, mtx_plain); -} -#define __Pyx_ModuleStateLookup_Lock()\ - call_once(&__Pyx_ModuleStateLookup_mutex_once_flag, __Pyx_ModuleStateLookup_initialize_mutex);\ - mtx_lock(&__Pyx_ModuleStateLookup_mutex) -#define __Pyx_ModuleStateLookup_Unlock() mtx_unlock(&__Pyx_ModuleStateLookup_mutex) -#elif defined(HAVE_PTHREAD_H) -#include -static pthread_mutex_t __Pyx_ModuleStateLookup_mutex = PTHREAD_MUTEX_INITIALIZER; -#define __Pyx_ModuleStateLookup_Lock() pthread_mutex_lock(&__Pyx_ModuleStateLookup_mutex) -#define __Pyx_ModuleStateLookup_Unlock() pthread_mutex_unlock(&__Pyx_ModuleStateLookup_mutex) -#elif defined(_WIN32) -#include // synchapi.h on its own doesn't work -static SRWLOCK __Pyx_ModuleStateLookup_mutex = SRWLOCK_INIT; -#define __Pyx_ModuleStateLookup_Lock() AcquireSRWLockExclusive(&__Pyx_ModuleStateLookup_mutex) -#define __Pyx_ModuleStateLookup_Unlock() ReleaseSRWLockExclusive(&__Pyx_ModuleStateLookup_mutex) -#else -#error "No suitable lock available for CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE.\ - Requires C standard >= C11, or C++ standard >= C++11,\ - or pthreads, or the Windows 32 API, or Python >= 3.13." -#endif -typedef struct { - int64_t id; - PyObject *module; -} __Pyx_InterpreterIdAndModule; -typedef struct { - char interpreter_id_as_index; - Py_ssize_t count; - Py_ssize_t allocated; - __Pyx_InterpreterIdAndModule table[1]; -} __Pyx_ModuleStateLookupData; -#define __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE 32 -#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE -static __pyx_atomic_int_type __Pyx_ModuleStateLookup_read_counter = 0; -#endif -#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE -static __pyx_atomic_ptr_type __Pyx_ModuleStateLookup_data = 0; -#else -static __Pyx_ModuleStateLookupData* __Pyx_ModuleStateLookup_data = NULL; -#endif -static __Pyx_InterpreterIdAndModule* __Pyx_State_FindModuleStateLookupTableLowerBound( - __Pyx_InterpreterIdAndModule* table, - Py_ssize_t count, - int64_t interpreterId) { - __Pyx_InterpreterIdAndModule* begin = table; - __Pyx_InterpreterIdAndModule* end = begin + count; - if (begin->id == interpreterId) { - return begin; - } - while ((end - begin) > __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE) { - __Pyx_InterpreterIdAndModule* halfway = begin + (end - begin)/2; - if (halfway->id == interpreterId) { - return halfway; - } - if (halfway->id < interpreterId) { - begin = halfway; - } else { - end = halfway; - } - } - for (; begin < end; ++begin) { - if (begin->id >= interpreterId) return begin; - } - return begin; -} -static PyObject *__Pyx_State_FindModule(CYTHON_UNUSED void* dummy) { - int64_t interpreter_id = PyInterpreterState_GetID(PyInterpreterState_Get()); - if (interpreter_id == -1) return NULL; -#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE - __Pyx_ModuleStateLookupData* data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_relaxed(&__Pyx_ModuleStateLookup_data); - { - __pyx_atomic_incr_acq_rel(&__Pyx_ModuleStateLookup_read_counter); - if (likely(data)) { - __Pyx_ModuleStateLookupData* new_data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_acquire(&__Pyx_ModuleStateLookup_data); - if (likely(data == new_data)) { - goto read_finished; - } - } - __pyx_atomic_decr_acq_rel(&__Pyx_ModuleStateLookup_read_counter); - __Pyx_ModuleStateLookup_Lock(); - __pyx_atomic_incr_relaxed(&__Pyx_ModuleStateLookup_read_counter); - data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_relaxed(&__Pyx_ModuleStateLookup_data); - __Pyx_ModuleStateLookup_Unlock(); - } - read_finished:; -#else - __Pyx_ModuleStateLookupData* data = __Pyx_ModuleStateLookup_data; -#endif - __Pyx_InterpreterIdAndModule* found = NULL; - if (unlikely(!data)) goto end; - if (data->interpreter_id_as_index) { - if (interpreter_id < data->count) { - found = data->table+interpreter_id; - } - } else { - found = __Pyx_State_FindModuleStateLookupTableLowerBound( - data->table, data->count, interpreter_id); - } - end: - { - PyObject *result=NULL; - if (found && found->id == interpreter_id) { - result = found->module; - } -#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE - __pyx_atomic_decr_acq_rel(&__Pyx_ModuleStateLookup_read_counter); -#endif - return result; - } -} -#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE -static void __Pyx_ModuleStateLookup_wait_until_no_readers(void) { - while (__pyx_atomic_load(&__Pyx_ModuleStateLookup_read_counter) != 0); -} -#else -#define __Pyx_ModuleStateLookup_wait_until_no_readers() -#endif -static int __Pyx_State_AddModuleInterpIdAsIndex(__Pyx_ModuleStateLookupData **old_data, PyObject* module, int64_t interpreter_id) { - Py_ssize_t to_allocate = (*old_data)->allocated; - while (to_allocate <= interpreter_id) { - if (to_allocate == 0) to_allocate = 1; - else to_allocate *= 2; - } - __Pyx_ModuleStateLookupData *new_data = *old_data; - if (to_allocate != (*old_data)->allocated) { - new_data = (__Pyx_ModuleStateLookupData *)realloc( - *old_data, - sizeof(__Pyx_ModuleStateLookupData)+(to_allocate-1)*sizeof(__Pyx_InterpreterIdAndModule)); - if (!new_data) { - PyErr_NoMemory(); - return -1; - } - for (Py_ssize_t i = new_data->allocated; i < to_allocate; ++i) { - new_data->table[i].id = i; - new_data->table[i].module = NULL; - } - new_data->allocated = to_allocate; - } - new_data->table[interpreter_id].module = module; - if (new_data->count < interpreter_id+1) { - new_data->count = interpreter_id+1; - } - *old_data = new_data; - return 0; -} -static void __Pyx_State_ConvertFromInterpIdAsIndex(__Pyx_ModuleStateLookupData *data) { - __Pyx_InterpreterIdAndModule *read = data->table; - __Pyx_InterpreterIdAndModule *write = data->table; - __Pyx_InterpreterIdAndModule *end = read + data->count; - for (; readmodule) { - write->id = read->id; - write->module = read->module; - ++write; - } - } - data->count = write - data->table; - for (; writeid = 0; - write->module = NULL; - } - data->interpreter_id_as_index = 0; -} -static int __Pyx_State_AddModule(PyObject* module, CYTHON_UNUSED void* dummy) { - int64_t interpreter_id = PyInterpreterState_GetID(PyInterpreterState_Get()); - if (interpreter_id == -1) return -1; - int result = 0; - __Pyx_ModuleStateLookup_Lock(); -#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE - __Pyx_ModuleStateLookupData *old_data = (__Pyx_ModuleStateLookupData *) - __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, 0); -#else - __Pyx_ModuleStateLookupData *old_data = __Pyx_ModuleStateLookup_data; -#endif - __Pyx_ModuleStateLookupData *new_data = old_data; - if (!new_data) { - new_data = (__Pyx_ModuleStateLookupData *)calloc(1, sizeof(__Pyx_ModuleStateLookupData)); - if (!new_data) { - result = -1; - PyErr_NoMemory(); - goto end; - } - new_data->allocated = 1; - new_data->interpreter_id_as_index = 1; - } - __Pyx_ModuleStateLookup_wait_until_no_readers(); - if (new_data->interpreter_id_as_index) { - if (interpreter_id < __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE) { - result = __Pyx_State_AddModuleInterpIdAsIndex(&new_data, module, interpreter_id); - goto end; - } - __Pyx_State_ConvertFromInterpIdAsIndex(new_data); - } - { - Py_ssize_t insert_at = 0; - { - __Pyx_InterpreterIdAndModule* lower_bound = __Pyx_State_FindModuleStateLookupTableLowerBound( - new_data->table, new_data->count, interpreter_id); - assert(lower_bound); - insert_at = lower_bound - new_data->table; - if (unlikely(insert_at < new_data->count && lower_bound->id == interpreter_id)) { - lower_bound->module = module; - goto end; // already in table, nothing more to do - } - } - if (new_data->count+1 >= new_data->allocated) { - Py_ssize_t to_allocate = (new_data->count+1)*2; - new_data = - (__Pyx_ModuleStateLookupData*)realloc( - new_data, - sizeof(__Pyx_ModuleStateLookupData) + - (to_allocate-1)*sizeof(__Pyx_InterpreterIdAndModule)); - if (!new_data) { - result = -1; - new_data = old_data; - PyErr_NoMemory(); - goto end; - } - new_data->allocated = to_allocate; - } - ++new_data->count; - int64_t last_id = interpreter_id; - PyObject *last_module = module; - for (Py_ssize_t i=insert_at; icount; ++i) { - int64_t current_id = new_data->table[i].id; - new_data->table[i].id = last_id; - last_id = current_id; - PyObject *current_module = new_data->table[i].module; - new_data->table[i].module = last_module; - last_module = current_module; - } - } - end: -#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE - __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, new_data); -#else - __Pyx_ModuleStateLookup_data = new_data; -#endif - __Pyx_ModuleStateLookup_Unlock(); - return result; -} -static int __Pyx_State_RemoveModule(CYTHON_UNUSED void* dummy) { - int64_t interpreter_id = PyInterpreterState_GetID(PyInterpreterState_Get()); - if (interpreter_id == -1) return -1; - __Pyx_ModuleStateLookup_Lock(); -#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE - __Pyx_ModuleStateLookupData *data = (__Pyx_ModuleStateLookupData *) - __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, 0); -#else - __Pyx_ModuleStateLookupData *data = __Pyx_ModuleStateLookup_data; -#endif - if (data->interpreter_id_as_index) { - if (interpreter_id < data->count) { - data->table[interpreter_id].module = NULL; - } - goto done; - } - { - __Pyx_ModuleStateLookup_wait_until_no_readers(); - __Pyx_InterpreterIdAndModule* lower_bound = __Pyx_State_FindModuleStateLookupTableLowerBound( - data->table, data->count, interpreter_id); - if (!lower_bound) goto done; - if (lower_bound->id != interpreter_id) goto done; - __Pyx_InterpreterIdAndModule *end = data->table+data->count; - for (;lower_boundid = (lower_bound+1)->id; - lower_bound->module = (lower_bound+1)->module; - } - } - --data->count; - if (data->count == 0) { - free(data); - data = NULL; - } - done: -#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE - __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, data); -#else - __Pyx_ModuleStateLookup_data = data; -#endif - __Pyx_ModuleStateLookup_Unlock(); - return 0; -} -#endif - -/* #### Code section: utility_code_pragmas_end ### */ -#ifdef _MSC_VER -#pragma warning( pop ) -#endif - - - -/* #### Code section: end ### */ -#endif /* Py_PYTHON_H */ diff --git a/talib/_ta_lib.pyx b/talib/_ta_lib.pyx index aa5c1f180..841b7caff 100644 --- a/talib/_ta_lib.pyx +++ b/talib/_ta_lib.pyx @@ -1,4 +1,3 @@ -#cython: embedsignature=True, emit_code_comments=False, freethreading_compatible=True include "_common.pxi" include "_func.pxi" diff --git a/tools/build_talib_linux.sh b/tools/build_talib_linux.sh deleted file mode 100644 index fd00a2201..000000000 --- a/tools/build_talib_linux.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash - -TALIB_C_VER="${TALIB_C_VER:=0.8.1}" -CMAKE_GENERATOR="Unix Makefiles" -CMAKE_BUILD_TYPE=Release -CMAKE_CONFIGURATION_TYPES=Release - -# Download TA-Lib C Library -curl -L -o talib-${TALIB_C_VER}.zip https://github.com/TA-Lib/ta-lib/archive/refs/tags/v${TALIB_C_VER}.zip -if [ $? -ne 0 ]; then - echo "Failed to download TA-Lib C library" - exit 1 -fi - -# Unzip TA-Lib C -unzip -q talib-${TALIB_C_VER}.zip -if [ $? -ne 0 ]; then - echo "Failed to extract TA-Lib C library" - exit 1 -fi - -# cd to TA-Lib C -cd ta-lib-${TALIB_C_VER} - -# Copy TA-Lib C headers to TA-Lib Python -mkdir -p include/ta-lib/ -cp include/*.h include/ta-lib/ - -# Create build directory -mkdir -p _build -cd _build - -# Use CMake to configure the build -cmake -G "$CMAKE_GENERATOR" -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DCMAKE_INSTALL_PREFIX=../../ta-lib-install .. -if [ $? -ne 0 ]; then - echo "CMake configuration failed" - exit 1 -fi - -# Compile TA-Lib -make -if [ $? -ne 0 ]; then - echo "Build failed" - exit 1 -fi - -make install -if [ $? -ne 0 ]; then - echo "Install failed" - exit 1 -fi - -echo "TA-Lib build completed successfully!" diff --git a/tools/build_talib_macos.sh b/tools/build_talib_macos.sh deleted file mode 100644 index fd00a2201..000000000 --- a/tools/build_talib_macos.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash - -TALIB_C_VER="${TALIB_C_VER:=0.8.1}" -CMAKE_GENERATOR="Unix Makefiles" -CMAKE_BUILD_TYPE=Release -CMAKE_CONFIGURATION_TYPES=Release - -# Download TA-Lib C Library -curl -L -o talib-${TALIB_C_VER}.zip https://github.com/TA-Lib/ta-lib/archive/refs/tags/v${TALIB_C_VER}.zip -if [ $? -ne 0 ]; then - echo "Failed to download TA-Lib C library" - exit 1 -fi - -# Unzip TA-Lib C -unzip -q talib-${TALIB_C_VER}.zip -if [ $? -ne 0 ]; then - echo "Failed to extract TA-Lib C library" - exit 1 -fi - -# cd to TA-Lib C -cd ta-lib-${TALIB_C_VER} - -# Copy TA-Lib C headers to TA-Lib Python -mkdir -p include/ta-lib/ -cp include/*.h include/ta-lib/ - -# Create build directory -mkdir -p _build -cd _build - -# Use CMake to configure the build -cmake -G "$CMAKE_GENERATOR" -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DCMAKE_INSTALL_PREFIX=../../ta-lib-install .. -if [ $? -ne 0 ]; then - echo "CMake configuration failed" - exit 1 -fi - -# Compile TA-Lib -make -if [ $? -ne 0 ]; then - echo "Build failed" - exit 1 -fi - -make install -if [ $? -ne 0 ]; then - echo "Install failed" - exit 1 -fi - -echo "TA-Lib build completed successfully!" diff --git a/tools/build_talib_windows.cmd b/tools/build_talib_windows.cmd deleted file mode 100644 index 4efc18df4..000000000 --- a/tools/build_talib_windows.cmd +++ /dev/null @@ -1,38 +0,0 @@ -:: Download and build TA-Lib -@echo on - -if not defined TALIB_C_VER set TALIB_C_VER=0.8.1 - -set CMAKE_GENERATOR=NMake Makefiles -set CMAKE_BUILD_TYPE=Release -set CMAKE_CONFIGURATION_TYPES=Release - -curl -L -o talib-%TALIB_C_VER%.zip https://github.com/TA-Lib/ta-lib/archive/refs/tags/v%TALIB_C_VER%.zip -if errorlevel 1 exit /B 1 - -tar -xzvf talib-%TALIB_C_VER%.zip -if errorlevel 1 exit /B 1 - -:: git apply --verbose --binary talib.diff -:: if errorlevel 1 exit /B 1 - -:: set MSBUILDTREATHIGHERTOOLSVERSIONASCURRENT - -setlocal -cd ta-lib-%TALIB_C_VER% - -mkdir include\ta-lib -copy /Y include\*.* include\ta-lib - -md _build -cd _build - -cmake.exe .. -if errorlevel 1 exit /B 1 - -nmake.exe /nologo all -if errorlevel 1 exit /B 1 - -copy /Y /B ta-lib-static.lib ta-lib.lib - -endlocal